Skip to main content
Chorderizer logo

Chorderizer

Advanced Chord Orchestration & MIDI Analysis Dashboard
Terminal-native harmonic workstation for composers and producers.

PyPI version License: MIT Python 3.8+ Framework: Textual


Chorderizer Dashboard Overview


Project Philosophy

The core objective of Chorderizer is to bridge the gap between abstract music theory and digital composition. By providing an interactive, low-latency TUI (Terminal User Interface) dashboard, the tool allows for rapid prototyping of harmonic progressions while maintaining strict adherence to diatonic principles and ergonomic voice leading.

Supported Scope

Chorderizer is intentionally focused on:

  • interactive harmonic exploration for composers and producers
  • diatonic and modal chord generation
  • MIDI export and quick tablature support
  • terminal-first workflows powered by Textual

It does not currently aim to be:

  • a full DAW replacement
  • a general-purpose notation editor
  • a complete guitar voicing engine for every tuning or fingering strategy
  • a music theory engine for non-Western systems or arbitrary microtonal scales
  • a plugin host or real-time MIDI router

Core Capabilities

Harmonic Engine & Theory Support

The underlying music theory engine has been expanded to support 11 distinct scales, covering the fundamental building blocks of Western and contemporary harmony:

  • Diatonic Standards: Major (Ionian), Natural Minor (Aeolian).
  • Modal Harmony: Full support for Greek Modes (Dorian, Phrygian, Lydian, Mixolydian, Locrian).
  • Advanced Tonality: Harmonic Minor, Melodic Minor (Ascending).
  • Pentatonic Structures: Major and Minor Pentatonic variations.

Reactive TUI Dashboard

The v0.2.x release introduces a comprehensive dashboard built on the Textual framework, facilitating real-time visualization and interaction:

  • Piano Visualizer: A 2-octave responsive keyboard rendering active MIDI notes with precision.
  • Guitar Fretboard: A 12-fret interactive diapasón highlighting scale tonics and specific chord positions.
  • Guitar Tab Generator: Automated conversion of MIDI chord voicings into playable tablature notation.
  • Diatonic Table: Real-time calculation of chord names, degrees (Roman Numeral Analysis), and MIDI note arrays based on selected extensions.

MIDI Export & Humanization

The MIDI engine (powered by mido) is designed to produce sequences that feel organic and professional:

  • Note Extensions: Support for Triads, 6ths, 7ths, 9ths, 11ths, and 13ths.
  • Inversion Logic: Precise control over 1st, 2nd, and 3rd inversions.
  • Humanization Engine: Intelligent velocity randomization and micro-timing adjustments.
  • Automated Basslines: Optional generation of root-based bass tracks for full harmonic context.

Installation & Execution

Prerequisites

  • Python 3.8 or higher.
  • Recommended: A terminal with support for true color and UTF-8 characters (e.g., Windows Terminal, iTerm2, Alacritty).

Installation

The easiest way to install Chorderizer is via PyPI:

pip install chorderizer

Development Setup (Source)

If you wish to contribute or run the latest development version:

# Clone the repository
git clone https://github.com/TropicalDev/chorderizer.git
cd chorderizer

# Create and activate virtual environment
python -m venv .venv
source .venv/bin/activate  # Or .venv\Scripts\activate on Windows

# Install the package
pip install .

For development:

pip install -e ".[dev]"

Running the Workstation

To launch the interactive dashboard, execute the module directly:

python -m chorderizer.chorderizer

Dashboard Interface Guide

The TUI is designed for keyboard-driven efficiency:

  • [A] Add Chord: Commits the currently highlighted chord in the table to the progression list (Right Sidebar).
  • [X] Clear List: Flushes the internal progression buffer.
  • [E] Export MIDI: Serializes the current progression list into a standard MIDI file (SMF) in ~/chord_generator_midi_exports.
  • [H] Manual: Displays the comprehensive on-screen operation manual.
  • [Q] Terminate: Safely closes the application.

Technical Standards & Quality Assurance

The codebase adheres to PEP 8 standards and utilizes modern tooling to ensure stability and maintainability:

  • Linting & Formatting: Managed via Ruff and Trunk for lightning-fast quality control.
  • Testing Suite: Comprehensive unit tests managed via pytest, ensuring integrity of the theory engine and MIDI generation.
  • Architecture: Modular design separating theory logic (theory_utils.py), MIDI generation (generators.py), the classic orchestration flow (chorderizer.py + ui.py), and the reactive Textual dashboard (tui_app.py + tui_widgets.py).

Documentation

For a comprehensive technical breakdown, architectural ADRs, and operational guides, visit our official Wiki.

License

This project is licensed under the MIT License - see the LICENSE.md file for details.


Created with ❤️ by TropicalDev. Powered by Python, Textual, and Antigravity

Metadata

Release files for chorderizer 0.3.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for chorderizer 0.3.3
File Size Uploaded
chorderizer-0.3.3.tar.gz 53.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for chorderizer 0.3.3
File Interpreter ABI Platform
chorderizer-0.3.3-py3-none-any.whl Python 3 none any Details

Total release size: 101.0 kB

Release files / chorderizer-0.3.3.tar.gz

Download URL chorderizer-0.3.3.tar.gz
Size 53.0 kB
Tags Source
SHA-256 checksum
How to use checksums
730708076f4b6551060b7f0d2d86cf89428fedd7d1f54be792eef3fe6a9221a2
BLAKE2b-256 checksum
How to use checksums
5d393a6a53f1c9e4e5909d2070c4f757c14635976571bde87d10a2523ae2c230
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 22, 2026.

Transparency log

Release files / chorderizer-0.3.3-py3-none-any.whl

Download URL chorderizer-0.3.3-py3-none-any.whl
Size 48.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1364efd757f0179b4d556cef6312daad5acb2e66ae86cb90960ac2a135652a46
BLAKE2b-256 checksum
How to use checksums
b7fd80e990b1a44296a063e5a5dc128e0c60ede20f8e10d2159d84e593de4eda
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 22, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.3.3 This release

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.6

2 release files

0.2.0

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page