- New ! Use audio2midi to frequency-analyse audio files and turn them into MIDI
- Use bassline to generate a random jazz-bassline, for improvisation practice
- Use fluadity as a low-latency synth or fast MIDI-to-WAV converter
- Use fluidsynth to access the fluidsynth library from within Lua
- New ! Use gtrtab to generate blank ascii-tab guitar tablature, and gtrtab2midi to convert it into MIDI
- Use MIDI.py to handle structures like MIDI-Perl's "opus" and "score", with Python3
- Use MIDI.lua to handle structures like MIDI-Perl's "opus" and "score", with Lua
- Use midialsa.lua or MIDI::ALSA to access the ALSA library directly from Lua or Perl
- Use midichord to generate chord-notes to conform to a solo-voice, or vice-versa
- Use midiclick as a simple ALSA-client MIDI metronome
- Use mididump to dump a MIDI file contents in a human-readable text-format
-
Use midiecho
to add echo to a channel
by issuing repeated notes with diminishing volume;
works on real-time MIDI (using MIDI::ALSA) as well as on MIDI-files (using MIDI-Perl) - Use midiedit to edit a MIDI file; a Curses app, with MIDI::ALSA sound. See this OSDC talk
- Use midifade to provide faders generating midi-controller events
- Use midikbd on ALSA systems as a simple monophonic ascii-midi-keyboard
- Use midiloop creates a MIDI::ALSA client which records and replays sets of loops
- New ! Use midimarkov to generate midi with a Markov-Chain algorithm
- Use midi2muscript to convert a midi file into muscript text input syntax
- Use MIDI::SoundFont to manipulate .sf2 SoundFont and .pat and .zip Gravis files
-
Use
midisox
to process MIDI files,
call-compatible with
SoX.
Now in three versions:
- In Python3, requires also MIDI.py and TermClui.py
- In Perl, requires also MIDI-Perl and Term::Clui
- In Lua, requires also MIDI.lua and the luaposix module
- Use midithru as a straight-through ALSA-client with a helpful display
- Use miditurtle to manipulate MIDI-data, like with turtle-graphics
- Use midi2wavs to generate a separate .wav file for each midi channel
- Use muscript to generate a MIDI file from a musical score in human-readable text-format
- Use musicxml2mid to convert MusicXML to MIDI. It requires XML::Parser
- Use pjbsynth, a software synth written in csound, for its cool low-tech patches
These files are also on gitlab and can be downloaded by:
git clone https://gitlab.com/peterbillam/miditools
See also my
2015 OSDC talk,
pjb.com.au,
wikipedia,
jedi.ks.uiuc.edu,
lame, and
gm.html