Live Audio to Midi Tracker

taurindb's icon

Midifreq is a simple concept I've been working on for a while, it is still buggy but functions at a very basic level.

It turns any live instrument into a pitch based midi controller

What it does:
Takes live audio in (guitar, voice, any other instrument) and translates live pitch to midi note to be sent elsewhere.
So for example, I can play my guitar into the patch and send the pitches I play as midi notes to operator, sampler, a moog emulator, drumrack
It basically turns my guitar(or anything else) into a midi instrument without the need for an expensive pickup, etc.

I need help on this patch and am looking to collaborate, preferably with a pro, to get MIDIfreq to an operating level that would suffice in a live environment. ie., no bugs. I am posting my work here with hopes that someone will work with me to finalize this incredible patch/concept.

You can download the Ableton Set with MIDIfreq and examples here: http://www.mediafire.com/download.php?wuylwumrong

This patch uses Sigmund~ by Miller Puckette, you must also download it here: http://crca.ucsd.edu/~tapel/software.html

----
Here are some notes and bugs to bear in mind:

This patch has been tested witn a Guitar as a live input.

It seems as though the max editor HAS to be open for this patch to run. This needs a fix.

1. If patch doesn't start on its own, open max editor, click the sigmund~ object below and add a space bar after the ~ (quirky!, i know)
2. You must select any object on the screen and hold the mouse down to get a sustained note, otherwise you only get a blip of a note (WHY?)
3. Track one is the live input translated to a sine tone raise vol to hear. There are two midi instrument tracks as well, raise the vol. slider to hear
them. Make sure to hold the mouse down to get these instruments to sustain.

What this patch needs:
- Fix the above problems (Especially #2)
- Fix the infinite sustain issues
- Incorporate the velocity of the live input into the sent midi notes (perhaps sigmund offers this feature)
This is important: How can I measure the velocity of a live input (guitar) and add this info to the midi pitch to be sent out (midiformat?)
- Be able to send midi notes to clips
- at the moment u cant record midi notes
- General midi routing issues
- With no live input, sigmund produces an annoying signal (presumably very low). To see this, move track 1 slider up upon loading ableton set. I don't
know if this is a problem.

Cool, lemme know how it works for you. Questions and comments, suggestions and fixes, more than welcome. Collaborators requested!

ciao,
taurin barrera

melanie's icon

Dear Taurin,

I am interested in how your project is going. I am now looking for a real time audio to midi translator. Please keep me posted. Thanks.

Gmix's icon

For the velocity issue, you would probably want to map that to the amplitude or loudness and have some kind of interface for adjusting the scaling for each different instrument. Haven't played with sigmund~ in a while, but I know analyzer~ parses loudness as a separate parameter. You would measure each new attack and send that out as your velocity. And for the sustain issue, you would also want to use the loudness to detect when a certain pitch fades out below a certain threshold or stops altogether. Once the loudness dips below the thresh hold, that should generate a note off message for that corresponding pitch. What will be difficult or maybe impossible, will be to generate these note off messages for the different polyphonic pitches. For example if you are holding a C on the guitar while playing E on a different string, the patch will not be able to detect that you let go of the C note while letting the E continue to ring. It will wait until it hears no sound at all, then turn both notes off at the same time. It wouldn't be able to turn the C off first then wait for the E. Not sure if there are any objects out there that can detect polyphonic pitches, and can tell when new harmonic pitches are added or taken away from the current chord. However, even if the first version of your patch is just monophonic, I'd still want to try it out. I've been thinking about making something like that for a while, but never had the time to tackle it. Good luck,
G