Un generador avanzado de progresiones de acordes MIDI.
Project description
Chorderizer: Advanced Chord Generator & MIDI Exporter
Chorderizer is a Python-based command-line tool designed for music enthusiasts, composers, and students. It empowers you to explore diatonic chords within various musical scales, customize chord voicings with extensions and inversions, view simple guitar tablatures, and export your chord progressions as MIDI files.
Features
- Versatile Scale Support: Generate diatonic chords for multiple scales including Major, Natural Minor, Harmonic Minor, Melodic Minor (Ascending), Major Pentatonic, and Minor Pentatonic.
- Chord Customization:
- Extensions: Tailor chord complexity with levels from simple Triads, 6ths, 7ths (scale default), 9ths, 11ths, up to 13ths.
- Inversions: Apply Root Position, 1st, 2nd, or 3rd inversions to your chords.
- Detailed Chord Information: View generated chord names, their constituent notes (e.g., C, E, G), and corresponding MIDI note numbers.
- Basic Guitar Tablatures: Display simple guitar tablatures for the generated chords (standard tuning).
- Custom Chord Progressions: Define your own chord progressions using Roman numeral degrees (e.g., I-V-vi-IV) with optional beat durations per chord.
- Advanced MIDI Export:
- Set custom BPM (tempo) and base note velocity.
- Introduce velocity randomization for a more human feel.
- Choose from a wide range of General MIDI instruments for chord and optional bass tracks.
- Add an automated bassline playing the root notes.
- Apply arpeggio styles (up, down, up-down) with configurable note durations.
- Simulate a strumming effect for block chords with adjustable delay.
- Transposition: Easily transpose generated chord names and entire MIDI progressions to different keys while retaining original extension levels and inversions.
- Interactive CLI: User-friendly command-line interface guides you through the process.
Installation
Prerequisites
- Python 3.7 or higher.
pip(Python package installer).
From PyPI (Hypothetical Future Release)
Once Chorderizer is published on the Python Package Index (PyPI), you will be able to install it using pip:
pip install chorderizer
(Note: This package is not yet available on PyPI. This is a placeholder for future publication.)
From Source (Current Method)
-
Clone the repository:
git clone https://your-repo-url/Chorderizer.git cd Chorderizer
If you just have the
main.pyfile, ensure it's in a dedicated directory. -
Install dependencies: Chorderizer relies on the
midolibrary for MIDI manipulation.pip install mido
Quick Start
-
Navigate to the script's directory:
cd path/to/Chorderizer
-
Run the script:
python main.py -
Follow on-screen prompts:
- Select a tonic note for your scale.
- Choose a scale type.
- Define chord extension level and inversion.
- View the generated chords and optional tablatures.
- Optionally, define a chord progression.
- Configure MIDI export settings (BPM, instruments, arpeggios, etc.).
- Save your progression as a MIDI file.
- Optionally, transpose your progression to a new key and export again.
Usage
For detailed step-by-step instructions on using all features of Chorderizer, please refer to the GUIDE_OF_USE.md.
Dependencies
- mido: A Python library for working with MIDI messages and files.
Contributing
Contributions are welcome! If you have suggestions for improvements or find any bugs, please feel free to open an issue or submit a pull request on the project's repository (if applicable).
License
This project is licensed under the MIT License - see the LICENSE.md file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file chorderizer-0.1.1.tar.gz.
File metadata
- Download URL: chorderizer-0.1.1.tar.gz
- Upload date:
- Size: 19.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f809f8777fef067369dd41fe503a014df3e1b6074639024e7dc1a520268ef726
|
|
| MD5 |
c6787b044ae948d152180f63c936d368
|
|
| BLAKE2b-256 |
18eb1bd04658e4e011d38125df40308f09fd59f6cb7a2f61e50668555da372d2
|
File details
Details for the file chorderizer-0.1.1-py3-none-any.whl.
File metadata
- Download URL: chorderizer-0.1.1-py3-none-any.whl
- Upload date:
- Size: 17.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a5f3da15ae9a8db82ff763eb4984feb6851aad07b385418129de75407e77a70f
|
|
| MD5 |
61df7df27f86cad06b844831fa6093e1
|
|
| BLAKE2b-256 |
7a64d899dacdfc5f8fe5d3a3d2d9c5efe3604f4b0a3d9fa47759c772efc54c04
|