#microtonal #midi #scales #synthesizer #tuning

tune

Explore musical tunings and create synthesizer tuning files for microtonal scales

22 breaking releases

0.23.0 Mar 26, 2021
0.21.1 Feb 27, 2021
0.19.0 Nov 6, 2020
0.12.0 Jul 30, 2020
0.4.0 Mar 23, 2019

#242 in Audio

Download history 1/week @ 2020-12-24 6/week @ 2020-12-31 11/week @ 2021-01-07 26/week @ 2021-01-14 22/week @ 2021-01-21 5/week @ 2021-01-28 19/week @ 2021-02-04 147/week @ 2021-02-11 50/week @ 2021-02-18 27/week @ 2021-02-25 10/week @ 2021-03-04 20/week @ 2021-03-11 9/week @ 2021-03-18 128/week @ 2021-03-25 33/week @ 2021-04-01 36/week @ 2021-04-08

136 downloads per month
Used in 2 crates

MIT license

240KB
4.5K SLoC

Explore musical tunings and create synthesizer tuning files for microtonal scales.

Resources

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

Feature List

  • Pitch conversions
    • Convert between linear and logarithmic 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
      • Scale/Octave Tuning
  • Import scales
    • From Scala (scl and kbm) format
  • Create tuning maps / Apply live retuning
    • Enhance the capabilities of synthesizers with limited tuning support
    • Tune multiple channels ahead of time or tune a single channel just in time
    • Send pitch-bend messages (polyphonic or monophonic) if no MTS is supported at all
  • Equal-step tunings
    • Analyze meantone and porcupine temperaments
    • Find keyboard layouts
    • Find patent vals
  • MIDI messages
    • Create basic MIDI messages
    • Parse basic MIDI messages

No runtime deps