phillwilson

Live Looping Midi (without bar length constraints)

8 posts in this topic

Hi all,

 

I wondered if anyone has ever thought of /tried out a device capable of the kind of open ended looping that is possible In audio with simple devices such as the Echoplex Digital Pro or the Boss Loopstation, but using MIDI instead of audio.


I am talking about being able to begin a performance of midi notes without having to constrain in advance, the amount of bars that the performance will take up?

 

at the moment the only way that I can do this kind of work is to use the Echoplex Digital Pro looper to loop audio in "free time"..which then generates a midi clock signal that all of the rest of my gear can synchronise to once I "close" the loop.

 

this is a great form to work in, but the downside of working with recorded audio is increased audio noise and the inability ot perform non-linear edits (i'e' changing notes after the fact.

 

I would love to discuss with anyone else working in the live MIDI field, if it would be possible to create some kind of open ended looper that can loop for an undefined length (say a minimum of a half a second and a maximum of a couple of minutes if there is enough room on device), it would be even better if , upon closing the loop with a button or foot control CC, the box would then calculate the BMP and begin broadcasting midi clocks in time.

 

well, just a thought.

 

Phill

Share this post


Link to post
Share on other sites

in order to synch, you will have to specify the beat length or the tempo (this is how the edp works too, with eighths-per-cycle and bpm)

there will also be ram limitations to deal with, but some simplifications can help, like only working with midi notes, or a limited number of layers, limited time resolution etc...

 

for a midi edp, two hurdles come to mind immediately:

  - midi notes have note-on and note-off pairs.  overlapping these will result in incorrect output.

    the data structures will have to take care to keep these pairs together and avoid overlapping.

    overdubbing will have to be treated with special care. 

    starting or ending a record or overdub with notes still held will also have to be dealt with...

 

  - for feedback < 100% (a very important feature on the edp) there is no direct corollary with midi.

    it could be that cc can be used to fake it, but this will probably behave differently for different midi devices.

 

i don't expect this to be of interest to a large number of midiboxers, but i do like the idea and have long intended to work on it, so will be willing to help out if others do want to get involved.

Share this post


Link to post
Share on other sites

+1 - like the idea very much (and had it in mind for long time, too) and am willing to give it a go, if someone has the time to hack it on a midibox core - not a lot of buttons/display functionality is needed, imho, just a start/stop button to indicate the start and end of the loop - after hitting "stop", it would re-loop from the beginning, accepting more note input being added to the loop.

 

Setting up a speed (bpm) beforehand for the sync would not be a bad thing imho, i´d like to jam to a synced drummachine (with a running pattern) while loopin´ :).

 

Many greets,

Peter

Share this post


Link to post
Share on other sites

looks like an interesting little guy, but it's nothing like the edp...

Share this post


Link to post
Share on other sites

interesting thoughts from all.

 

bugfight, have you used an EDP? you can definitely loop and generate midi start / clock upon the closing of the loop WITHOUT specifying in advance how long you would be playing for this, really is the CORE of the design I was proposing, the usage case is that I would love to be able to begin a performance without any particular tempo in mind and just kind of jam on until I find some kind of 16 bar pattern that seems to be working for me, then record this into a loop which will then send midi clock to all other devices as I close the loop.

 

You raise an interesting point about overdubs, I was thinking more in terms of having a few tracks/midi channels (4 would be enough for me) with each being able to be a free running multiple of the others (again this is the function I can't get out of what is available currently, even in the midibox I have to specify length FIRST then play) . I have seen many sequencers such as the EMU command Station where "punching in and out" of recording to add in new data isn't too much of a problem so I take it this could be done.

 

Feedback was another component I hadn't considered for my own needs, but if we are using a few tracks and we make the assumption that you want to fade a total track whilst keeping others at full volume, could this be fudged with an automatic sending of volume CC in a gradually reducing spiral down to 0?

 

thanks for the link to the other device too, I will be checking this out next.

 

I am no programmer , so I have little to offer besides discourse and real world testing of anything that does become / is available to try, but its always great listening to those with more knowledge than me.

 

thanks


Phill

Share this post


Link to post
Share on other sites
bugfight, have you used an EDP? you can definitely loop and generate midi start / clock upon the closing of the loop WITHOUT specifying in advance how long you would be playing for this, ..

 

indeed, else i would not be hankerin for a midi version.  i have 2 in fact.  as i said before, with the edp you set the beat length ahead of time with the eighths-per-cycle parameter.  the tempo is then derived from the cycle time.  you can go the other way as well, setting bpm ahead of time and then the device executes multiply during initial record.  one or the other is required for synch, and for the awesome quantized functions in the edp.

 

don't worry if you are not a coder, there are plenty around here and design ideas/testing are valuable.  otoh, the device tk linked may suit you nicely if you don't want the advanced features of the edp

 

yes midi volume might fake feedback settings, but midi devices are notoriously bad about treating it their own way.  we can also use note velocity to fake the feedback, lowering it each repeat, upon reaching zero the notes would be removed etc.   again different devices treat this very differently, for example there can be a great jump from vel=1 to vel=0. 

this would not work at all for pads which is one of my favorite things to do with the edp, start record, fade in some sus chord or likesuchas, end record with overdub and fade out/ or change gradually, esp with feedback at 80% or so, lowering feedback if it gets too dense, moving to 100% if the bed is 'finished'

Share this post


Link to post
Share on other sites

I only write this comment because in my application I also want such an "Feature", I have done this in MaxMsp before, i am far away from a C-Guru, so keep the following as an Idea.

In my Setup it would be a footcontroller, because the hands of my Guitar-Synth-arist are on his instrument, so the whole thing would be more a 10 Button+ LED-Matrix-Thing

 

The Feature I will call "always recording mode":

you play play play...and after a while you think - YESS that was so great - that was it! at this moment you Press the "REC" Button, from this point it starting Playback the Loop, and of course immideatly Record in a new track (always recording, you know)

The thing that you have to interact is now: to find out where the loop Starts, and where it ends

 

Find/Set the Loop Length:

When you working in a sequencer Setup, meens there is a drumcomputer out there or what ever trigger > you have to keep it ONBEAT, or OFFBEAT, for that you will have

3 Offset Buttons: +1, +2, +3 Steps

But with 1,2,3 Steps you cant offset 10000Steps, you Foot, or your Hand will fall up while your Hairs are gone gray... :phone:

So you have to have

2 END-Crop Buttons: Decrease, Encrease Loop-End-Point, and that +-1-Step whise because the end is the point where you regocnized "man that was the loop of my live" so it cant be far away,

far away is maybe the

Loop-Start-Point, maybe 10000 Steps.... but in most cases you did not now what you played 512 steps ago... (or did you?), so what do we need is to set the Ammount of Steps whe step back

So lets start with a predefinied STEP-BACK ammount - maybe 64 Steps, from there we start to go "more" back

In order of these we need a 3 more Buttons

1. range-Button"  1, 2, 4, 8, 16, 32, 64, 128, 256, 512, (by pressing it you multiple times you can change the range) that change the Back-Step-Amount, it can be displayed as Numbers in 3x 7Segment LEDs or in a LED-Array

2. Loop-Start-Button-Decrease, step back the loop point with the amout from the "Range Button"

3. Loop-Start-Button-Encrease, step back the loop point with the ammount from the "Range Button"

 

next problem now is that you get bored by waiting again and again to hear THE Loop Point, maybe you have to wait 512 Steps----

...No you have no time to wait? ok, so when you press one of the Loop-Point Buttons >  it, goes to a predefinied Loop Point at the End of the Sequence

(predefinied in a way to be in sync, with a predefinied, Beat Mode/Structure, 4/4, 3/8 or what ever - that is what you have to know before) maybe 8 Steps bevore Loop-End-Point.

 

withe the 3 Offset Buttons described above you now make some finetuning... when you have it, press CROP, to shrink it - for now it is stored in one of 4 loop Arrays, with maybe less functionality...

 

 

More techicly

you jam...after a while you think whow hoho that was it - this is the moment you hit "REC"

"REC" copy the REC-Variable(Array) into the Temporary-Playback-Variable(Array) and beginn to loop the recorded Sequence from same

"REC" then overwrite the REC-Variable-Array with "0" or "128", and begin to write again in the Variable-Array from 0 to 10000.

In which Cell it writes defines the counter, which counts from "sequencer-start" message away, in 4/4 or whatever Predefinied structure, the counter is reset to 0 by pressing "REC" but not imideatly - only be the the first Trigger/Beat/1st 16th...

a bigger problem comes when you recording near the end of the array maybe 9900, because the counter restarts to 0 by coming to the 10000.....headache  :pinch:

The Offset things, and the Loop-Point things and the Loop-Range -Things - are simply modifieing the "counter-ranges" ---offbeat-onbeat-offsets, by bewareing the counter from a defied ammount of ticks from the midiclock

 

here in a Matrix

post-20788-0-47782000-1406579244_thumb.p
post-20788-0-71077600-1406594805_thumb.p

dwg.zip

Edited by Phatline

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now