Skip to content

jonathanmarmor/mididigester

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MIDI Digester

Hear a demo!

The Echo Nest Remix API comes with a demo, enToMIDI by Brian Whitman, which attempts to transcribe any audio file using only Remix's audio analysis data, and spits out a MIDI file. The purpose of the EN audio analysis data is to provide a summary of the music, not to do the source separation necessary for an accurate transcription. This means the resulting MIDI file usually doesn't sound much like the input.

MIDI Digester is a very small script that runs audio through enToMIDI, renders the resulting MIDI using timidity, runs the resulting audio through enToMIDI, renders the resulting MIDI using timidity, runs the resulting audio through enToMIDI, renders the resulting MIDI using timidity, runs the resulting audio through enToMIDI, renders the resulting MIDI using timidity, runs the resulting audio through enToMIDI, renders the resulting MIDI using timidity, runs the resulting audio through enToMIDI, renders the resulting MIDI using timidity, etc, as many times as you want. Each repetition strips away more of the original musical material and accumulates the sound of enToMIDI.

Check out this demo which "digests" a 7.66 second excerpt of the traditional bluegrass tune "The Groundhog" played by the same Quicktime piano synthesizer as was used for the original performance.

Install Dependencies

Install numpy and The Echo Nest Remix API Python library:

pip install -r requirements.txt

Install ffmpeg:

brew install ffmpeg
sudo ln -s `which ffmpeg` /usr/local/bin/en-ffmpeg

Run it

./mididigester <input wav audio file> [<recursion depth>]

About

Transcribe audio poorly, play the result with a cheesy synth, repeat.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages