Forums > Max For Live

n00b: how to route audio to midi-fx in m4l

Apr 19 2010 | 5:03 pm


Apr 19 2010 | 5:06 pm

I wish to route audio from a chosen (list) audio track to a m4l midi-effect on a midi track.

I am having a hard time figuring out the live.* objects.

So I would be very glad for any help!

Sincerely – Jonas Barsten Johnsen

Apr 19 2010 | 6:52 pm

Sending audio in MFL requires send~ / receive~ or plugsend~ / plugreceive~ object pairs. You can’t pick up just any audio signal. So using MFL for this task requires some forethought.

A spare Live audio track can perhaps be used to choose an audio source. In Live you have input selectors to select a track and 3 points in the device chain as audio sources. These choices are part of Live API, so they can be altered on the fly.

If you really need the audio signal in a MIDI-effect you still have to transport it using a send~ / receive~ pair. Expect a variable extra latency of about 12 ms, with no automatic compensation by Live.

Apr 20 2010 | 10:47 am

Thanks Xanadu, really appreciate it!

Though, I think it would be easier if I rather converted it into an audio-fx, and than find a way to send the MIDI-signals to a MIDI-track.

As far as I have understood, there is no way of routing m4l midi to external devices, such as the IAC-driver?

Is it not possible to program this in java?


Apr 20 2010 | 8:33 pm

Hi jbj,

Well, I’m a bit confused about what you want to accomplish.

If you want to do something with a known audio track, an audio-fx is the way to go. If you want a drop down list of available audio signals things get a lot more complicated.

In your reaction to my previous message you mention sending MIDI to an output. Do you want to convert the audio signal to MIDI in some way?

Please make clear what you are up to.

The IAC-driver is on Apple and I’m on Windows XP, but I think there are three equal ways to output MIDI to the outside world for both platforms:

1. Create a MIDI track in Live without a MIDI to audio converter, so don’t create a synth plugin. Then choose a MIDI output for the track. You can use a plug / receive pair to transport midi signals to this track in MFL.

2. Get a Max/MSP upgrade licence at the website of C’74. This will allow you to output MIDI using Max.

3. Program a midiout external object. Distributing such an object will spoil the market for C’74, which will eventually shoot ourselves in the foot.

I’m in favor of the first option for using once in a while and option two for power users.

Apr 21 2010 | 1:51 pm

Hello again, thanks for responding!

I have both max/msp/jitter and m4l, but in this case, I´d rather use m4l.

I am making a simple audio-to-midi-device which sends a chosen MIDI-signal when the audio-gain reaches a chosen level.

I reached doing this by placing one "send" instance on an audio track, and one "return" instance on a MIDI-track, communicating trough the send/receive objects.

But I would really like to just have either one audio-device which sends MIDI to an external loopback or to a chosen MIDI-track in Live (umenu), or one MIDI-device with audio from a chosen audio track (umenu).

This is my patch so far, I welcome any comments, as you might see in the send (audio)-device, I am trying to convert db into 0-127 and than send it to it´s corresponding receive (midi)-device, but I have not figured completely how to do that … well, that´s not the main issue anyways.

send (audio):

-- Pasted Max Patch, click to expand. --

reveive (midi):

-- Pasted Max Patch, click to expand. --

Apr 21 2010 | 2:03 pm

What kind of "midi signal" do you want to trigger?
If it’s for synths, remember that you can use vst~ and audiounit~ objects, directly in your audio device; so you just need one track, one device.

Apr 21 2010 | 5:41 pm

Hi jbj,

Thanks for your demo-devices. Together they achieve what you want to do. It’s clear now you are not a noob!

As far as I know your devices are state of the art. A midi-track has no input for audio and once a Live track is using audio it can’t output MIDI.

I must agree: it’s a bit clumsy. But it works!

I love MFL because it is capable of this kind of ‘plumbing’ in Live.

In EnergyXT you always have MIDI and (multiple) audio connections in parallel, for input as well as output. Of course there is no integration with Max.

I think the current design of Live without MFL is clever and flexible. Ableton and Cycling ’74 are living 4000 km apart and have done a great job of integrating two very different software designs. When using MFL, Live tracks are lacking some flexibility. We must ask Ableton to enhance their tracks to enhance MIDI and audio capabilities of tracks.

Apr 22 2010 | 3:43 pm

Crampe: thanks for your advices, really appreciate them!

Xanadu: thanks for your kind words and for setting things in perspective.

What an excellent community!

Have a nice day.

Apr 26 2010 | 12:49 am

i am having a similar problem regarding routing midi within Live. and am wondering how to open the earlier patches in Live ??

I have tried saving them as .maxpat then opening in Live but M4L doesnt do anything.

in regard to my own endeavours, i am attempting to create a MIDI LFO (sending controller information) effect which to route to any desirable knob/parameter within Live. My earlier attempts (using SYnthedit) really only worked well using an external host. So I am once again attempting to build an internal device to Live.

i am unable to create (within M4L) a purely midi instrument (or track).. (well that is how it seems as it refuses to coexist with an instrument.)


Apr 26 2010 | 1:11 am

Hello there :)

I did not entirely understand your issue, might because is 3 in the morning here, but have you tried using IAC (mac) or MIDI Yoke (pc) or just the internal routing in Live? … I don’t know the Yoke at all, I just googled for a PC equivalent for IAC.

To open the text-patch, choose "New From Clipboard" in Max/Msp`s file-menu when you have copied the text.

Than copy all the objects and patching to your patch.

I hope this helped, good night!

  1. audiotrig_-_S.amxd
Apr 26 2010 | 7:06 pm

Hi jbj,

How do you post these binaries to this forum?

Apr 26 2010 | 7:22 pm

Hi kkll,

To me your issue is not very clear too. In Holland it’s 9 PM now.

I did some testing and found out that a MIDI track with a synth (Electric) will send audio output to the Master track. At the same time on another MIDI track with a synth (Analog) you can choose the MIDI out of the first track as MIDI in. For this no MIDI loopback is needed.

One can use the live.xx objects to control any device parameter. Just read the lessons.

Please try to explain your issue more clearly.

Apr 26 2010 | 8:59 pm

Hi again Xanadu, how have you been? :)

in the reply-section (where I am writing just now), further down, there is a "Upload Files from your Computer"-section, and even though it says it does not support ".amxd"-files, it does :)

Rock on!

Apr 27 2010 | 8:39 pm

Hi jonas,

I’ve just overlooked it from november 23 till now!


Sep 13 2010 | 10:53 am

after spending a couple days learning how to make one of these i was glad to find this post (its much nicer than what i was working on!).

one question; does anyone know of a good way to include the velocity information and convert that as a part of the midi signal? thanks.

Sep 13 2010 | 1:57 pm

Hi man!

Thanks for your response!

I have actually tried to do some enhancements to the patch.

Including a lame way of converting volume to velocity …

I’ll post it later tonight.

Meanwhile, take a look at CNMAT’s external (max object) "Analyzer~" here:


Viewing 17 posts - 1 through 17 (of 17 total)

Forums > Max For Live