How to repeat sync'd midi note-on message

heathrobinson

2012-12-06 08:24:20

Hi,
I'm a complete noob as far as Bome's goes,and I don't have any aptitude for scripting.Plus I'm getting old.
Is there an easy-ish way to send tempo sync'd single repeats of a note-on midi message - or a better way of doing what I'm hoping?

It's basically for looping in Ableton clips.

I'm building a simple but huge foot pedal with each switch sending a single midi note-on on a single midi channel.

It's easy enought to send a note-on message to start recording into the desired clip,but I'm trying to find a way to automatically "close" the loop without having to press the switch again.

I'd only need two selectable loop lengths - 4bars and 8 bars would do.

The only other thing is that some switches would be controlling other functions - so their output would have to be ignored and not repeated.

Could anyone tell me how I could go about this?

To recap - how can I send,say,any note from note 0 to note 15 and have it repeat once at a selected interval of either 4 or 8 bars -

and have the rest of the notes ignored?

Or is there a better or easier way of doing it?

Thanks.

DvlsAdvct

2012-12-07 00:13:50

Hi heathrobinson

Yes this is possible.

What you need to do is set a track in Ableton that outputs a MIDI note every beat, and have that received by MT. When that note is received by MT. When a certain condition is met, for example when you press the command to trigger the note, MT will begin recording the incoming MIDI note and counting a variable. You will need two different translators, one to count to 4 and one to count to 8. And then when the variable reaches 8 it triggers the off message. I am going to make up commands to use but you can set them to whatever you want. It would look something like this:

Code: Select all

Translator 1: MIDI from Ableton
Incoming Message: 9F 00 7F
Rules: if g0!=1 then exit rules, skip outgoing action
Outgoing Message: Timer 4 beat loop 0ms delay

Translator 2: MIDI from Ableton
Incoming Message: 9F 00 7F
Rules: if g0!=2 then exit rules, skip outgoing action
Outgoing Message: Timer 8 beat loop 0ms delay

Translator 3: Trigger 4 Beat Loop
Incoming Message: 90 00 7F
Rules: g0=1
Outgoing Message: None

Translator 4: Trigger 8 Beat Loop
Incoming Message: 90 01 7F
Rules: g0=2
Outgoing Message: None

Translator 5: 4 Beat Loop Count
Incoming Message: Timer 4 Beat Loop
Rules: if g1!=5 then Goto "Ignore"
if g1==5 then Goto "Accept"
Label "Ignore"
Exit rules, skip outgoing action
Label "Accept"
g1=0
g0=0
Exit rules, Execute outgoing action
Outgoing Message: 90 02 7F
This assumes that 90 02 is your command for triggering Loop Off, so feel free to change it. Hopefully this makes sense.

J

heathrobinson

2012-12-07 02:24:35

I'm extremely grateful for your reply,and that it can be done.
I won't pretend I understand it at all! - I looked through the manual,and I'll give it serious attention over the next few days.

I haven't bought MT yet,but I will now if I'm sure it can be done.

All I can say is I understand the general process (vaguely!)

Can I just be clear about one thing - the "begin loop" and "end loop" will have to be the same midi note.

But also that each loop will have it's own individual note.

ie loop1 might be triggered by note C1 - that would start loop1 and also stop it.

loop2 might be D1 - same again,it should start and theen stop loop2.

Does the example you gave take that into account - or is it only good for a single midi note message?

Thanks again - I've obviously got some learning to do :shock:

DvlsAdvct

2012-12-10 13:51:20

This is for a single note message. What you need to do is have individual buttons that set the loop length and then using a delay timer trigger the loop activate. After it has been pressed you need to make a few conditional variables for switching loop lengths while loop is active, but we can look into that as the project grows. I'd recommend getting the basic process together and once you understand it building upon it will be easier.

Hope that helps
J