Responding to incoming midi?

Discuss Lemur and share techniques.
Post Reply
malkomalko
Newbie
Posts:5
Joined:26 Jan 2012 21:20
Responding to incoming midi?

Post by malkomalko » 27 Jan 2012 19:49

I've setup an On MIDI execution script to be fired on some pads whenever any note on message is being sent for any range and any channel.

However I don't see anything coming back in my application. I've set the MIDI_ARGS to Monitor.value and nothing is being received. Am I thinking about this the right way or do I need to do something completely different?

I'm basically trying to interpret data being sent from a clip in ableton to 'light up' the correct pads so I can get feedback from playing parts.

Thanks!

Macciza
Regular
Posts:1325
Joined:07 Dec 2011 04:57
Location:Sydney, Australia.

Re: Responding to incoming midi?

Post by Macciza » 28 Jan 2012 01:55

Hi
It is often difficult to try to determine the problem from text descriptions - please include code or part of project . . .

From what you have written it sounds like you have done - MIDI_ARGS = Monitor.value - it should be the other Monitor.value set to MIDI_ARGS Monitor.value = MIDI_ARGS . . .

Using a Monitor called NoteIn, add a script called Midi_In or whatever you like . . .
Set Execution to On MIDI - 90-NoteOn - MIDI 0 - 0 to 127 (all notes) - 1 -16 (All channels)
NoteIn.value = MIDI_ARGS;

This will display the MIDI_ARGS array in the Monitor object - access via indexing > MIDI_ARGS[0] is NoteNumber ,MIDI_ARGS[1] is Velocity, MIDI_ARGS[2] is channel . . .

To indicate via a Pad called Pad1, add the following
if(MIDI_ARGS[0]){ // If any MIDI note
if(MIDI_ARGS[1] >= 0){ // If velocity > 0
Pad_1.x = 1; // Pad on
}
else Pad_1.x=0; // or else Pad off
}

Hope that helps
MM
iMac 2.8G i7 12G 10.6.8/10.7.2, Legacy Dexter/Lemur, Liine Lemur/iPad2, KMI SoftStep, 12Step & QuNeo , B-Controls, Mackie C4 etc
MaxMSP, Live Suite, Native Instrument stuff, etc Modified Virtual Guitar System etc All Projects/Modules © CC-BY-NC-SA[*][/b]

malkomalko
Newbie
Posts:5
Joined:26 Jan 2012 21:20

Re: Responding to incoming midi?

Post by malkomalko » 28 Jan 2012 11:23

Thanks for the reply :D.

This is exactly what I was trying to do but nothing is being received by the lemur. Do I have to do anything special from my DAW to send midi information to the lemur?
When I say nothing is being received by the lemur, I mean that when I have that script and I do Monitor.value='hello', just so I can see that it's responding to the script, nothing is happening.

Macciza
Regular
Posts:1325
Joined:07 Dec 2011 04:57
Location:Sydney, Australia.

Re: Responding to incoming midi?

Post by Macciza » 28 Jan 2012 11:43

Hi
Anything special - well set up the Lemur Daemon, set MIDI channels & I/O in DAW etc . .

Please send some code or something more tangible . . .
Not sure what you mean about not receiving / responding? Putting Monitor.value='hello' should just show hello in the Monitor - no 'responding' needed . . .

The script I posted works in response to MIDI sent out to the Lemur from a Live MIDI track . . .

Cheers
MM
iMac 2.8G i7 12G 10.6.8/10.7.2, Legacy Dexter/Lemur, Liine Lemur/iPad2, KMI SoftStep, 12Step & QuNeo , B-Controls, Mackie C4 etc
MaxMSP, Live Suite, Native Instrument stuff, etc Modified Virtual Guitar System etc All Projects/Modules © CC-BY-NC-SA[*][/b]

joebataz
Regular
Posts:154
Joined:28 Feb 2012 16:50
Location:Anthem, AZ USA
Contact:

Re: Responding to incoming midi?

Post by joebataz » 04 Mar 2012 19:57

I'm having a similar issue except with both sides, Traktor and Lemur. I've been trying all the code I can find but still nothing. Here's the problem.
When I start playing a song in Traktor from Lemur (this is working) I would like an object to show the song position. In Traktor I have setup a General Midi Out which is sending Seek Position on Channel 1 in cc 23. If I look at the output from Traktor using Midi Monitor it shows:

12:36:58.868 To Daemon Output 0 Control 1 Controller 23 31

The 31 at the end of the line slowly increases with a period of about 2 seconds so it doesn't fit the use (sub second) speed that I need for my function. So I am baffled by how to get this to work and any insight would be greatly appreciated.

TIA,

joeb
www.stoneagelighting.com
"old as dirt and made from rock..."

Macciza
Regular
Posts:1325
Joined:07 Dec 2011 04:57
Location:Sydney, Australia.

Re: Responding to incoming midi?

Post by Macciza » 11 Mar 2012 12:43

Hi
Not sure if you got this sorted but I think the issue is that Song Position Pointer is a 14 bit value
So you need to deal with that in your inwards processing-outwards the easiest way is to use pitchbend data.
Cheers
MM
iMac 2.8G i7 12G 10.6.8/10.7.2, Legacy Dexter/Lemur, Liine Lemur/iPad2, KMI SoftStep, 12Step & QuNeo , B-Controls, Mackie C4 etc
MaxMSP, Live Suite, Native Instrument stuff, etc Modified Virtual Guitar System etc All Projects/Modules © CC-BY-NC-SA[*][/b]

joebataz
Regular
Posts:154
Joined:28 Feb 2012 16:50
Location:Anthem, AZ USA
Contact:

Re: Responding to incoming midi?

Post by joebataz » 11 Mar 2012 18:35

Traktor doesn't send song position so I'm trying to fake song location using the midi clock
bah.....

Macciza
Regular
Posts:1325
Joined:07 Dec 2011 04:57
Location:Sydney, Australia.

Re: Responding to incoming midi?

Post by Macciza » 12 Mar 2012 02:55

Hi
It seems silly to only be able to use a 7 bit controller for SeekPosition
Surely the hardware controllers for Traktor use 14bits for that sort of thing . . .
Are you able to use PitchBend to get 14bit control?
Dont really do much in Traktor sorry . . .

Cheers
MM
iMac 2.8G i7 12G 10.6.8/10.7.2, Legacy Dexter/Lemur, Liine Lemur/iPad2, KMI SoftStep, 12Step & QuNeo , B-Controls, Mackie C4 etc
MaxMSP, Live Suite, Native Instrument stuff, etc Modified Virtual Guitar System etc All Projects/Modules © CC-BY-NC-SA[*][/b]

joebataz
Regular
Posts:154
Joined:28 Feb 2012 16:50
Location:Anthem, AZ USA
Contact:

Re: Responding to incoming midi?

Post by joebataz » 12 Mar 2012 06:12

I spoke to the Traktor folks directly and it doesn't send the time code. The hardware controllers do a bunch of clock manipulation which is kind of what I'm trying to do. There's a lot that's hidden and trying to get answers from the techies at NI is like pulling live shark teeth. I am getting closer. Just trying to idiot-proof the code so users can't make mistakes and throw the clock out of sync.

Thanks,

joeb

Post Reply