#midi #track #speed #frequency #played #melodies #tool

app midi-beeper

A small tool to help create simple melodies from MIDI files

2 releases

0.1.2 Sep 25, 2020
0.1.1 Sep 25, 2020

#719 in Audio

MIT license

14KB
299 lines

Midi Beeper

This is a simplistic tool to try and create rust formatted melodies from MIDI files. What it means is that it will help in creating (duration, frequency) tables of tones, so that they can be played on the simplest way in embedded systems.

If you want to play more advanced sounds on such system, it is better to just use WAV files and play those on some kind of speaker instead. Advanced files usually fails in this tool, since the song

Usage

Many midi files are quite advanced, this tool is not. So to get a sound we will use the trial and error method. MIDI files contains many "tracks" of sound often. This tool will only use one of them, set with the "--track" flag wich defaults to 0.

The speed variable is also used to set the playback speed, since this tool does not handle all the tempochanges that the MIDI files uses, use -s/--speed

example usage to create a usable rust array from a .mid file with odd speeds.

midi-beeper midi_file/mario.mid --speed 7 --track 2 -u 82 -q --output mario.rs

Dependencies

~2.8–5MB
~76K SLoC