Skip to main content

Un generador avanzado de progresiones de acordes MIDI.

Project description

Chorderizer: Advanced Chord Generator & MIDI Exporter

License: MIT Python 3.7+ Maintenance Contributions welcome

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)

  1. Clone the repository:

    git clone https://your-repo-url/Chorderizer.git
    cd Chorderizer
    

    If you just have the main.py file, ensure it's in a dedicated directory.

  2. Install dependencies: Chorderizer relies on the mido library for MIDI manipulation.

    pip install mido
    

Quick Start

  1. Navigate to the script's directory:

    cd path/to/Chorderizer
    
  2. Run the script:

    python main.py
    
  3. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

chorderizer-0.1.1.tar.gz (19.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

chorderizer-0.1.1-py3-none-any.whl (17.1 kB view details)

Uploaded Python 3

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

Hashes for chorderizer-0.1.1.tar.gz
Algorithm Hash digest
SHA256 f809f8777fef067369dd41fe503a014df3e1b6074639024e7dc1a520268ef726
MD5 c6787b044ae948d152180f63c936d368
BLAKE2b-256 18eb1bd04658e4e011d38125df40308f09fd59f6cb7a2f61e50668555da372d2

See more details on using hashes here.

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

Hashes for chorderizer-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a5f3da15ae9a8db82ff763eb4984feb6851aad07b385418129de75407e77a70f
MD5 61df7df27f86cad06b844831fa6093e1
BLAKE2b-256 7a64d899dacdfc5f8fe5d3a3d2d9c5efe3604f4b0a3d9fa47759c772efc54c04

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page