NeuralPiano

An experimental study of neural network-based piano music generation.

NeuralPiano is an independent machine learning project exploring how artificial neural networks can learn temporal, melodic, and polyphonic patterns from piano music.

The project uses deep learning to investigate the generation of original piano compositions from learned musical representations.

Research Objective

To investigate whether recurrent neural networks can learn meaningful musical patterns from MIDI compositions and use those patterns to generate new piano sequences.

The initial research focuses on sequence prediction, temporal dependencies, and polyphonic note generation.

Initial Architecture

The first experimental implementation uses a Long Short-Term Memory (LSTM) network.

Component Implementation
Programming language Python
Deep learning framework PyTorch
Initial architecture LSTM
Musical representation Piano roll
Input MIDI compositions
Output Predicted piano-roll sequences
Export format MIDI

Development Roadmap

  • v0.1 β€” Initial LSTM: Implement piano-roll encoding and next-frame prediction.
  • v0.2 β€” Musical Expression: Investigate note duration, velocity, and timing.
  • v0.3 β€” Extended Context: Explore longer musical sequences and phrase structure.
  • v0.4 β€” Transformer Architecture: Investigate attention-based music generation.
  • v0.5 β€” Comparative Evaluation: Compare model architectures and generated compositions.

Experimental Evaluation

NeuralPiano will investigate:

  • Training and validation loss.
  • Pitch distribution and note diversity.
  • Polyphonic structure.
  • Musical repetition.
  • Temporal coherence.
  • Generalization to previously unseen compositions.

Generated compositions will be evaluated rather than assumed to demonstrate musical understanding.

Repository Structure

NeuralPiano/
β”œβ”€β”€ README.md
β”œβ”€β”€ LICENSE
β”œβ”€β”€ requirements.txt
β”œβ”€β”€ config.py
β”œβ”€β”€ neural_piano/
β”‚   β”œβ”€β”€ __init__.py
β”‚   β”œβ”€β”€ dataset.py
β”‚   β”œβ”€β”€ model.py
β”‚   β”œβ”€β”€ train.py
β”‚   β”œβ”€β”€ generate.py
β”‚   └── midi_utils.py
β”œβ”€β”€ checkpoints/
β”œβ”€β”€ outputs/
└── experiments/

Research Principles

  • Reproducible experiments.
  • Transparent reporting of results.
  • Proper attribution and licensing of training data.
  • Clear separation between implemented features and experimental findings.
  • No unsupported claims about musical intelligence.

License

This project is licensed under the MIT License.

Status

Early development β€” v0.1

The initial LSTM implementation is under development. No trained-model performance or generation results are claimed yet.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support