Skip to content
Whistle / Hum / Sing into a microphone, generate MIDI signals to drive a sequencer
Python
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
mic2midi
README.md URLs for input and output, to make parameter setting nicer Jan 27, 2014
main.py URLs for input and output, to make parameter setting nicer Jan 27, 2014

README.md

Mic2Midi

Usage:

./main.py <input url> <output url>
./main.py alsa:// rtmidi://0
./main.py file://song.wav file://song.mid

You can mix and match realtime and files; everything is processed in realtime (It should be possible to make file-to-file run as fast as the CPU can handle, which is ~100x realtime, I just haven't got round to it yet)

Inputs:

  • PyAudio (Tested on Linux and Windows)
  • ALSA (Tested on Linux)
  • JACK (Tested on Linux)
  • File (16-bit mono .wav)
  • Dummy (Generate random A notes - 110Hz, 220Hz, 440Hz, etc)

Outputs:

  • RtMIDI (Tested on Linux and Windows)
  • PyGame
  • File (1-channel .mid)
  • Dummy (Just print the keys)

Note that on windows, port 0 (rtmidi://0) is the software synth that plays midi directly, which can be useful for tweaking settings.

loopmidi can be useful for win32 -- mic2midi can use loopmidi as an output device (rtmidi://1), then your other software can use loopmidi as an input device - http://www.tobias-erichsen.de/software/loopmidi.html

You can’t perform that action at this time.