Skip to content

🎹 Melodia is a Python-based tool for generating musical compositions using algorithmic techniques.

License

Notifications You must be signed in to change notification settings

caseybarajas33/Melodia

Repository files navigation

🎵 Melodia: Algorithmic Music Composition 🎶

License Python

Melodia is a Python-based tool for generating musical compositions using algorithmic techniques. It leverages machine learning and deep learning to create unique and creative musical pieces with control over notes, durations, instruments, and articulations. 🎹

✨ Features

  • 🎼 Generate unique musical compositions using your own MIDI files
  • 🤖 LSTM networks for learning complex musical patterns
  • 🎵 Control over musical elements:
    • Notes and chords
    • Duration patterns
    • Instrument selection
    • Articulation styles
  • 🎛️ Adjustable generation parameters
  • 💾 Save and load trained models (soon)

📦 Installation

  1. Clone this repository:
    git clone https://github.com/caseybarajas33/melodia.git
  2. Navigate to the cloned repository:
    cd melodia
  3. Install dependencies:
    pip install -r requirements.txt

🛠️ Usage

  1. Place your MIDI training files in the data directory.

  2. Train the model:

    python train.py
  3. Generate music with custom parameters:

    python play.py --length 500 --temperature 1.0 --output output.mid

Generation Parameters

  • --length: Number of notes to generate (default: 500)
  • --temperature: Controls randomness (0.1-2.0, default: 1.0)
    • Lower values = more conservative/predictable
    • Higher values = more experimental/random
  • --output: Output MIDI filename (default: output.mid)

👥 Contributors

📄 License

This project is licensed under the MIT License. See the LICENSE file for details.