This is a bunch of tools for humanifying MIDI files by providing realtime
input, based on portmidi and my own midifile library. They're in various stages
of usefulness. They are being authored by Gregor Richards in the vain hopes of
creating better music with them.
At present I'm in the process of adapting all the humanification tools to use a
plugin framework, since they do mostly the same thing. That plugin framework
will be called 'humidity'. You may have to back up or fast forward through
revision history to find a version in which everything actually works until
humidity is finished.
Lets you use your mouse as a "bow" (like a stringed instrument), provides
realtime change to the velocity/volume of notes on one track, dumps these
changes to a separate MIDI file.
Use a MIDI keyboard or controller to tap all the notes for one channel,
using the keyboard's velocity if applicable and tempo of your taps. Useful
for instruments with the same kind of attack and decay as a piano, e.g.
claviers, pizzicato and some percussion. Writes the velocities to a
separate MIDI file.
Use the tempo from a MIDI device to control the tempo of a MIDI file,
writing out the device-provided tempos to a separate MIDI file.
Similar to notetapper, but you tap with the beat instead of every note. For
complicated or multi-track melodies, can provide a nice balance. Still uses
your velocity and tempo, but less precisely since you don't hit every note.
Similar to notetapper, but you only tap one track, the others remain
Other MIDI-related tools:
Dumps all the input from a MIDI device.
Dumps all the events in a MIDI file.
Merges two MIDI files, preferring the right when ambiguous. Useful to merge
the output of /all/ of the humanification tools into a "final" MIDI.
Reduce the velocity range of a file to the top 1/nth of the range. Useful
for inputs with extremely high dynamic range (such as this author's digital
Smooths out tempo changes in a MIDI file. Makes the output from notetapper,
tempotapper and tracktapper a bit less wild.
For files with time signature values that give a valid time signature but
not a valid metronome for those time signatures, replaces all time
signature metas in a file with ones with proper metronomes. Knows common
metronome settings, e.g. that 4/4 is tapped in four and 6/8 is tapped in
two. Use this if tempotapper has weird behavior with your files.