Help with midi feedback in new beat slicer set-up
Help with midi feedback in new beat slicer set-up
This problem is going to be somewhat difficult to explain. The project is inspired by some attempts I've seen by others to recreate some of the features of BeatLookup using stock Ableton elements. In particular, I wanted to use multiple Loopers to buffer an audio loop so it will be sliced up automatically.
The problem is that Ableton doesn't let you send remote messages from within the program - meaning, unless someone can tell me how, you can't use midi events within Live to trigger things like the looper starting and stopping, etc. My way around this was to physically plug one of my computer's midi outputs to one of its midi inputs. That way i can create dummy tracks that tell the looper what to do.
With this method I have set up I have successfully created the slicer network. Basically, I have an event labeled "record all" and it is a series of notes that tells the first looper to record one beat, stop and at the same time tell the second looper to record the next beat, stop, and so forth. then there are other dummy tracks which cue each of those loopers in isolation. This is all doing a sidechain gate on the original looper that is playing back the full loop. In this way, whenever you cue a slice that you want to play, it cuts to that momentarily until it is done and then cuts back to the original loop at the correct position. It works perfectly when cuing the clips with the mouse.
Enter the problem: i want to map some remote keys to trigger the "play" clips for each slice, so I can juggle the loop in musical ways. Doing this, when I hit the button I have assigned to the play clip it basically spazzes out and moves very quickly back and forth between the play clip and the stop clip. As far as I can tell, it is a midi feedback loop of some kind, but I can't really figure out why it is occurring or how to stop it. I am not duplicating any notes in the set-up, meaning I have already checked to make sure that I am not somehow assigning the same notes to trigger the clips as are being used to control the loopers.
No matter what button I assign from any surface, to the play clip, this behavior occurs. I am somewhat baffled as to how, as it seems it must be, the midi getting sent from my midi control surfaces is feeding back. If this set-up makes any sense to anyone, can you please tell me where I"m going wrong? I'd love to share this project, because I haven't seen anyone do this yet and I think people would enjoy working with it. But without being able to use a controller, it makes it rather lame.
The problem is that Ableton doesn't let you send remote messages from within the program - meaning, unless someone can tell me how, you can't use midi events within Live to trigger things like the looper starting and stopping, etc. My way around this was to physically plug one of my computer's midi outputs to one of its midi inputs. That way i can create dummy tracks that tell the looper what to do.
With this method I have set up I have successfully created the slicer network. Basically, I have an event labeled "record all" and it is a series of notes that tells the first looper to record one beat, stop and at the same time tell the second looper to record the next beat, stop, and so forth. then there are other dummy tracks which cue each of those loopers in isolation. This is all doing a sidechain gate on the original looper that is playing back the full loop. In this way, whenever you cue a slice that you want to play, it cuts to that momentarily until it is done and then cuts back to the original loop at the correct position. It works perfectly when cuing the clips with the mouse.
Enter the problem: i want to map some remote keys to trigger the "play" clips for each slice, so I can juggle the loop in musical ways. Doing this, when I hit the button I have assigned to the play clip it basically spazzes out and moves very quickly back and forth between the play clip and the stop clip. As far as I can tell, it is a midi feedback loop of some kind, but I can't really figure out why it is occurring or how to stop it. I am not duplicating any notes in the set-up, meaning I have already checked to make sure that I am not somehow assigning the same notes to trigger the clips as are being used to control the loopers.
No matter what button I assign from any surface, to the play clip, this behavior occurs. I am somewhat baffled as to how, as it seems it must be, the midi getting sent from my midi control surfaces is feeding back. If this set-up makes any sense to anyone, can you please tell me where I"m going wrong? I'd love to share this project, because I haven't seen anyone do this yet and I think people would enjoy working with it. But without being able to use a controller, it makes it rather lame.
Re: Help with midi feedback in new beat slicer set-up
I want to add another piece of evidence that I think should help narrow down the problem but to me it just makes no sense:
The midi interface I have has 2 ins and 2 outs. Out A is plugged directly into In A (I know this is not standard procedure) and I have a midi keyboard connected to In B.
If I just take a random audio clip and assign that to a key on the midi keyboard, when I hit that key, I get the same behavior as discussed in the above post: the clip keeps trying to trigger very fast as if it is receiving repeated play signals. These keep going even if I try to stop it until after a few seconds it just dies out, not always after the same amount of time.
Why is there a feedback loop even in this scenario? There is no cable connected back to the keyboard. If I unplug the cable that is connected from Out A to In A, the behavior stops. That obviously tells me that there is indeed a feedback loop there, but why is Ableton sending midi out to A when it receives a control message on B?
To make matters even weirder, even if i just click with my mouse on the clip that has the assignment, the problem still occurs. Why does even clicking on a clip that has midi assigned to it cause midi to be sent?? That is the only way this could be possible.
I don't get this at all. Someone please help me make sense of this.
The midi interface I have has 2 ins and 2 outs. Out A is plugged directly into In A (I know this is not standard procedure) and I have a midi keyboard connected to In B.
If I just take a random audio clip and assign that to a key on the midi keyboard, when I hit that key, I get the same behavior as discussed in the above post: the clip keeps trying to trigger very fast as if it is receiving repeated play signals. These keep going even if I try to stop it until after a few seconds it just dies out, not always after the same amount of time.
Why is there a feedback loop even in this scenario? There is no cable connected back to the keyboard. If I unplug the cable that is connected from Out A to In A, the behavior stops. That obviously tells me that there is indeed a feedback loop there, but why is Ableton sending midi out to A when it receives a control message on B?
To make matters even weirder, even if i just click with my mouse on the clip that has the assignment, the problem still occurs. Why does even clicking on a clip that has midi assigned to it cause midi to be sent?? That is the only way this could be possible.
I don't get this at all. Someone please help me make sense of this.
Re: Help with midi feedback in new beat slicer set-up
What is the midi From set to on the midi clip channel??
Pictures might help a little. It sounds pretty complicated. Especially using Looper
Pictures might help a little. It sounds pretty complicated. Especially using Looper
Re: Help with midi feedback in new beat slicer set-up
Yeah, I realized this will probably be almost impossible to solve without me showing what is going on. Also, this can suffice to show how to do this for those that are curious about it and want to try to do variations on it or use it in your own set-up.
Here's what the source loop looks like:
http://s59.photobucket.com/albums/g302/ ... thgate.png
Here is the Looper rack that catches each beat slice. Each of the chains looks the same except obviously the controls are assigned to different values.
http://s59.photobucket.com/albums/g302/ ... errack.png
Here are the midi assignments and the parts that I originally created to play each of them manually. These are the messages that are being fed from Out A to In A via the physical cable. I would like to find a way of doing this internally but I haven't found one yet. I am looking into midi patchbay.
http://s59.photobucket.com/albums/g302/ ... nments.png
http://s59.photobucket.com/albums/g302/ ... record.png
http://s59.photobucket.com/albums/g302/ ... s/play.png
http://s59.photobucket.com/albums/g302/ ... s/stop.png
http://s59.photobucket.com/albums/g302/ ... /clear.png
Here is where, in actual performance, you would capture the loop coming from the source. You would assign a control to actuate the "all record" button. And this is the part that tells each looper to record and stop in sequence.
http://s59.photobucket.com/albums/g302/ ... record.png
http://s59.photobucket.com/albums/g302/ ... llplay.png
http://s59.photobucket.com/albums/g302/ ... llstop.png
With this setup you can drop any loop into the source looper in the first screenshot, play that, and while it's playing stealthily slice it by clicking "all record". Now you can click any of the individual "play" clips to drop that beat in wherever you want. The gate on the source loop cuts over to whatever beat you triggered and then immediately back to the source loop, still in time.
The thing I am losing my mind over is the fact that I can't assign ANYTHING from a control surface without experiencing a midi feedback loop. For instance, even THIS is a no-no in this setup.
http://s59.photobucket.com/albums/g302/ ... swrong.png
That isn't even a midi track! If you do this, the clip will trigger rapidly in succession and is difficult to stop even by pressing the stop clip button repeatedly or trying to stop the song. I feel like this should be really obvious but it's not.
Here's what the source loop looks like:
http://s59.photobucket.com/albums/g302/ ... thgate.png
Here is the Looper rack that catches each beat slice. Each of the chains looks the same except obviously the controls are assigned to different values.
http://s59.photobucket.com/albums/g302/ ... errack.png
Here are the midi assignments and the parts that I originally created to play each of them manually. These are the messages that are being fed from Out A to In A via the physical cable. I would like to find a way of doing this internally but I haven't found one yet. I am looking into midi patchbay.
http://s59.photobucket.com/albums/g302/ ... nments.png
http://s59.photobucket.com/albums/g302/ ... record.png
http://s59.photobucket.com/albums/g302/ ... s/play.png
http://s59.photobucket.com/albums/g302/ ... s/stop.png
http://s59.photobucket.com/albums/g302/ ... /clear.png
Here is where, in actual performance, you would capture the loop coming from the source. You would assign a control to actuate the "all record" button. And this is the part that tells each looper to record and stop in sequence.
http://s59.photobucket.com/albums/g302/ ... record.png
http://s59.photobucket.com/albums/g302/ ... llplay.png
http://s59.photobucket.com/albums/g302/ ... llstop.png
With this setup you can drop any loop into the source looper in the first screenshot, play that, and while it's playing stealthily slice it by clicking "all record". Now you can click any of the individual "play" clips to drop that beat in wherever you want. The gate on the source loop cuts over to whatever beat you triggered and then immediately back to the source loop, still in time.
The thing I am losing my mind over is the fact that I can't assign ANYTHING from a control surface without experiencing a midi feedback loop. For instance, even THIS is a no-no in this setup.
http://s59.photobucket.com/albums/g302/ ... swrong.png
That isn't even a midi track! If you do this, the clip will trigger rapidly in succession and is difficult to stop even by pressing the stop clip button repeatedly or trying to stop the song. I feel like this should be really obvious but it's not.
Last edited by msintros on Tue Feb 21, 2012 6:17 am, edited 2 times in total.
Re: Help with midi feedback in new beat slicer set-up
Well I didn't exactly figure out why it was happening, but I did find a way around it. Midi Patchbay!
It allows you to create the same feedback loop, however, it allows you to filter incoming channels while simultaneously remapping to a certain channel. This combined with the External Instrument device proved to be the way to solve this.
http://i59.photobucket.com/albums/g302/ ... slices.png
http://i59.photobucket.com/albums/g302/ ... s/cues.png
The Loopers are still controlled by the exact same notes. I just changed the outputs on all the midi tracks to be no output so they wouldn't be feeding anything unexpectedly. Then I put an Ext. Instrument going out on channel 2 to the virtual input I created in Midi Patchbay. I did the same for the track where I consolidated all my play and following stop clips for each slice.
http://i59.photobucket.com/albums/g302/ ... tchbay.png
Then in Midi Patchbay I set it to only accept midi from channel 2 and remap it to channel 1, where the Loopers in the rack are waiting for it via their remote assignments. This is what allows me now to assign my controller buttons to play the clip slices without feedback issues!
http://i59.photobucket.com/albums/g302/ ... nments.png
This is just the beginning. The ability to jump points in a loop without having to set it up in an array of follow actions in advance and have the original beat jump back in when you're done was the most important thing for me to recreate. There are a lot of other places you could take this. The first thing I will be doing is expanding it so it's got at least twice as many loopers to accommodate phrases of at least 2 bars.
It allows you to create the same feedback loop, however, it allows you to filter incoming channels while simultaneously remapping to a certain channel. This combined with the External Instrument device proved to be the way to solve this.
http://i59.photobucket.com/albums/g302/ ... slices.png
http://i59.photobucket.com/albums/g302/ ... s/cues.png
The Loopers are still controlled by the exact same notes. I just changed the outputs on all the midi tracks to be no output so they wouldn't be feeding anything unexpectedly. Then I put an Ext. Instrument going out on channel 2 to the virtual input I created in Midi Patchbay. I did the same for the track where I consolidated all my play and following stop clips for each slice.
http://i59.photobucket.com/albums/g302/ ... tchbay.png
Then in Midi Patchbay I set it to only accept midi from channel 2 and remap it to channel 1, where the Loopers in the rack are waiting for it via their remote assignments. This is what allows me now to assign my controller buttons to play the clip slices without feedback issues!
http://i59.photobucket.com/albums/g302/ ... nments.png
This is just the beginning. The ability to jump points in a loop without having to set it up in an array of follow actions in advance and have the original beat jump back in when you're done was the most important thing for me to recreate. There are a lot of other places you could take this. The first thing I will be doing is expanding it so it's got at least twice as many loopers to accommodate phrases of at least 2 bars.
Re: Help with midi feedback in new beat slicer set-up
and one more slight update...
Don't put all the play clips for the slices on the same track afterall. As I soon found out after actually playing fast drops, it means you are likely to hit a new play button before the stop for the other clip gets triggered so you can end up with trailing loops. This isn't such a bad thing necessarily, but you should at the very least assign the "all stop" clip to something so you can kill these if they get out of hand.
Don't put all the play clips for the slices on the same track afterall. As I soon found out after actually playing fast drops, it means you are likely to hit a new play button before the stop for the other clip gets triggered so you can end up with trailing loops. This isn't such a bad thing necessarily, but you should at the very least assign the "all stop" clip to something so you can kill these if they get out of hand.
Re: Help with midi feedback in new beat slicer set-up
I am really liking the theory behind this so far. Especially the start-stop aspect. Clever!
An alternative way to do this, without clips, and probably messier, would be:
Create a rack that has the note length effect parallel to the normal notes. Then you can trigger play buttons, and the moment they are released, have it trigger stop.
Another thing is using Arpeggiator. This lets you sync notes (you can make it climb 8 notes in succession). Can turn on the auto button. All kinds of fun things haha
An alternative way to do this, without clips, and probably messier, would be:
Create a rack that has the note length effect parallel to the normal notes. Then you can trigger play buttons, and the moment they are released, have it trigger stop.
Another thing is using Arpeggiator. This lets you sync notes (you can make it climb 8 notes in succession). Can turn on the auto button. All kinds of fun things haha
Re: Help with midi feedback in new beat slicer set-up
Thanks. I've already built the 8 beat slicer which wasn't much extra work. My next task is going to be to get reverse and time stretch effects happening. Reverse should prove to be relatively easy since it is built into the Looper, whereas I don't yet see a way of doing the time stretch effect neatly within this framework. But then again, a couple days ago I didn't think you could do sampled beat juggling like this without additional software either.yur2die4 wrote:I am really liking the theory behind this so far. Especially the start-stop aspect. Clever!
An alternative way to do this, without clips, and probably messier, would be:
Create a rack that has the note length effect parallel to the normal notes. Then you can trigger play buttons, and the moment they are released, have it trigger stop.
Another thing is using Arpeggiator. This lets you sync notes (you can make it climb 8 notes in succession). Can turn on the auto button. All kinds of fun things haha
I should add that some credit is due to s4racen on controllerism.net. I had been thinking about a beat jumping idea using cascading delay lines which you could switch between (something I am still planning on playing with, but I got sidetracked on this) and I came across this guy who had a similar notion with Looper. His setup is far more complex than mine and uses some other software which I believe is not free. I think his setup is far more sophisticated but mine doesn't require anything extra except MIDI Patchbay, which is free. I don't think I would have thought to use the Looper in quite this way if I hadn't seen his thread though, so props to him for some inspiration.