MIDI input M4L with multiple midichannels

lasse's icon

Hi everyone,

I have a toy guitar that outputs on midi-channel 1 to 6 from each separate string.

I wanted to make a M4L device that adjused individual pitch for each string, so I could make presets for alternate tunings. So I thought this would be easy, by separating each midi channel in a Max midi fx and adding or subtracting an interval for each string.

However in my M4L device all different strings show up as being midi-channel 1, so I can't separate them..

  • My track in live is set to receive on 'all channels'

  • I can confirm with Protokol that the guitar is sending on all 6 channels individually.

  • I can also receive channel 1-6 on individual Ableton tracks.

Something obvious I'm missing here?

Thanks,
L

schlam's icon

Hello.

Live cannot handle several midi channel in a track, they are all merged to channel 1.

I think that the easiest is to create 6 tracks, one per string, and assign each midi channel in of each track to the corresponding channel.

lasse's icon

I see...

thanks!

Source Audio's icon

there are alternatives to live midi input.

what system are you using ?

for windows and older mac systems imp.midi objects.

if you use mac silicon I can post a custom external.

P.S. that would let you input all midi channels into same track/m4l device

TFL's icon

An addition to Schlam answer: in each of the 6 MIDI tracks, you can put a M4L MIDI device that grabs the incoming MIDI, and send it to a "main" M4L device simply using [send].

schlam's icon

@source audio.

Are you sure that imp.midi is still working ? I have the memory that it was not working anymore...maybe since L11... am I wrong ?

I thought of anothet solution but I am away from keyboard to test it.

Since It's possible with live.rputing object an others ways to select the port of all the midi in and midi out object of an audio device (not working in midi devices i think...)

Maybe its possible to just create a rack with 6 chains, each one containing a simple audio device with live.routing and having each midiin pointing to a different channel. It should avoid creation of 6 "dummy" tracks...

Source Audio's icon

on all platforms except apple silicon imp.midi works well.

If you need same function on apple silicon, post.

I have working external ...

it is nonesense to have to create 7 devices on 7 tracks to

parse few midi channels...

lasse's icon

@source audio

I'm on Intel Core i7 Big Sur. imp.midi works as a charm for me!

Exactly what I needed.

Thanks a lot!

L

asms's icon

@Source audio, I'd love to give your external a try if you don't mind sending it to me, thank you!

tyler mazaika's icon

I'd be interested in an Apple Silicon imp.midi as well.

However IIRC the last time I tried [imp.midi] I found it unreliable when chords were being played through it. I'm not sure if anyone else reproduces that issue, though.

Source Audio's icon

I have compiled for personal use :

But it has some problems with security and embedding

of rtmidi lib, so it won't work on just any computer,

and so I decided not to share compiled external, sorry.

I realised security problems only after trying it out on a different mac

then what it was compiled on.

Maybe someone else with more skills /time would do a better job with it,

David seems to have "paused" work on quite few important max externals,

like for example lxmax...