A Rust library and CLI for programmatic music theory, enabling note, chord, and scale generation with MIDI export and playback.
Rust Music Theory is a Rust library and command-line tool that implements music theory concepts programmatically. It provides abstractions for notes, chords, scales, and intervals, allowing developers to generate and manipulate musical structures in code. The library also supports MIDI file export and real-time MIDI playback for integrating with music production software.
Developers and musicians who want to incorporate music theory into their Rust applications, create algorithmic music, or build tools for music education and production.
It offers a robust, type-safe implementation of music theory in Rust, with built-in MIDI support for both file export and real-time playback, making it a comprehensive solution for programmatic music creation.
A music theory guide written in Rust.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Covers a wide range of chords, scales, and intervals with detailed types like Major Seventh and Locrian mode, as listed in the CLI output examples.
Exports chords and scales to MIDI files with multi-track support, enabling easy integration with DAWs for further production.
Supports playing notes on hardware/software synthesizers via MIDI, with setup guides for Ableton Live and control change signals.
Provides a web-based playground for experimentation without installation, lowering the barrier to entry for testing music theory concepts.
The roadmap admits missing modes for Melodic and Harmonic minor scales, limiting advanced music theory applications.
Cannot infer chords from given notes—a common feature in music libraries that's still planned but not available.
Real-time playback requires configuring external MIDI drivers like IAC on macOS, adding overhead for seamless integration.