34 breaking releases
0.35.0 | Jul 11, 2024 |
---|---|
0.34.0 | Dec 4, 2023 |
0.33.0 | May 11, 2023 |
0.32.1 | Feb 6, 2023 |
0.4.0 | Mar 23, 2019 |
#87 in Audio
171 downloads per month
Used in 3 crates
375KB
6.5K
SLoC
Explore musical tunings and create synthesizer tuning files for microtonal scales.
Overview
tune
is planned to be part of a larger ecosystem for microtonal software in Rust.
Current projects relying on tune
are:
- tune-cli: A command line tool with live-retuning capabilities
- microwave: A microtonal modular waveform synthesizer
- fluid-xenth: A microtonal soundfont renderer
Resources
- Changelog
- CLI Documentation
- API Documentation
- Demo: Ephemeral Happiness (17-EDO)
- Demo: I'm a Lumatic (17-EDO)
- Demo: Stay Strong (17-EDO)
- Demo: Xênerie (15-EDO)
- Demo: Don't Take Five (16-EDO)
- Demo: The Bedoginning (17-EDO)
Features
Pitch Conversions
- Convert between linear and logarithmic pitch ratios
- Determine the frequency for a given note in a custom tuning system
- Determine the note for a given frequency in a custom tuning system
- Find fractional approximations for frequency ratios
Export Scales
- To Scala (scl and kbm) format
- As Midi Tuning Standard (MTS) Sysex Messages
- Single Note Tuning Change (with Bank Select)
- Scale/Octave Tuning (1-Byte and 2-Byte)
Import Scales
- From Scala (scl and kbm) format
Live Retuning
- Enhance the capabilities of synthesizers with limited tuning support
- Tune channels ahead of time for a glitch free tuning experience
- Tune channels just in time for full pitch freedom
- Pick the message type that your synth supports
- Single Note Tuning Change (with Bank Select)
- Scale/Octave Tuning (1-Byte and 2-Byte)
- Channel Fine Tuning
- Pitch Bend
MOS Scales and Isomorphic Keyboards
- Find MOSes for a given generator
- Find generators for a given MOS
- Find MOS-based isomorphic keyboard layouts
- Supported genchains: Meantone, Mavila, Porcupine, Tetracot, Hanson
- Determine step sizes
- Generate automatic color schemas
- Print generalized note names and accidentals
Commas and Temperaments
- Find patent vals
- Find tempered-out commas
MIDI Messages
- Create basic MIDI messages
- Create tuning-related RPN messages
- Parse basic MIDI messages