Multi Track Looping...
So this is what I want to be able to do:
Have a small band - 2 or 3 musicians probably, and be able to create looping songs all together.
Now right now I can use Ableton Link with GTL (or Loopy HD or Ableton Live ) and each band member can make their own loops that stay in time on separate devices. But when it comes time to switch from verse to chorus... things become tricky!!
So I'm looking for a way to be able to get everyones verse and chorus sections to swap at the same time - (ideally with any band member being able to initiate the change)
Any ideas how to do this?
Here's my thoughts... to start off, I was imagining that I'd have several MIDI foot controllers (FCB1010, Line 6 Helix to begin with) connected to each other via MIDI IN/THRU and then off to the main device audio interface (Behringer XR18)
Maybe if I had GTL on an iPad connected to my Helix as well as GTL on another iPad on the XR18 I could set the same MIDI messages to control the Play Group function on both iPads.... would that work?? Maybe it would depend how many bars were in the longest loop in each group on each iPad?? If they were different then the two GTLs might get out of sync?
I would love it if a future version of GTL could do Multi Track Looping (combined with a multi input audio interface) - and be able to assign each loop to a certain audio input and output - (and record more than 1 loop simultaneously) - so that for example Loop 1 (in each group) could be assigned to the Guitar, Loop2 to the Vocals, Loop3 to Keys.
Have a small band - 2 or 3 musicians probably, and be able to create looping songs all together.
Now right now I can use Ableton Link with GTL (or Loopy HD or Ableton Live ) and each band member can make their own loops that stay in time on separate devices. But when it comes time to switch from verse to chorus... things become tricky!!
So I'm looking for a way to be able to get everyones verse and chorus sections to swap at the same time - (ideally with any band member being able to initiate the change)
Any ideas how to do this?
Here's my thoughts... to start off, I was imagining that I'd have several MIDI foot controllers (FCB1010, Line 6 Helix to begin with) connected to each other via MIDI IN/THRU and then off to the main device audio interface (Behringer XR18)
Maybe if I had GTL on an iPad connected to my Helix as well as GTL on another iPad on the XR18 I could set the same MIDI messages to control the Play Group function on both iPads.... would that work?? Maybe it would depend how many bars were in the longest loop in each group on each iPad?? If they were different then the two GTLs might get out of sync?
I would love it if a future version of GTL could do Multi Track Looping (combined with a multi input audio interface) - and be able to assign each loop to a certain audio input and output - (and record more than 1 loop simultaneously) - so that for example Loop 1 (in each group) could be assigned to the Guitar, Loop2 to the Vocals, Loop3 to Keys.
Comments
https://www.hispasonic.com/foros/ableton-live-grupo-rock-electronica/195556
Multiple io will be great for GTL but in your situation I will go for everybody looping into GTL with dedicated controllers and "Dj" member of the group managing volumen etc similar to the link above.
Meanwhile, I suppose you could just switch groups in every GTL instance at the same time if you disabled CUE and sent a MIDI command to "play/stop group" to all iPads. You may want to wait for the net update. I'm improving the MIDI bindings so you will be able to switch groups instantly without having to turn off the CUE button.
I've also had a look into multitrack input, I'd like to see this in the future as well.
My dream setup would - for a mixed MIDI instrument AND analog instrument multi-participant session - add one element to the information communicated via some protocol - namely key and chord type info.
By this means for example one could have some MIDI based app play some MIDI pattern - say a bass part - and have it change to a new key and chord type on the fly like keyboard arrangers like the PA80 and Yamaha Tyros do.
Just to be able to send transpose and "major/minor" command messages to all connected computer devices would be cool - and then any that can respond to the key chain can do so.
Why ?
`Well only tonight i was playing in a free form jam. It was ok. but as so many one-groove jams do - when there are many people - it just stayed in one key.
Modulation - give me more modulation !
I notice that the recently announced V2.0 of Quantiloop does some of this.
I think the easiest could be OSC and it has interesting options already avairable (since midiHD still seems in development) and also yesterday read some about Ableton Sync (TouchDesigner propietary protocol) which could be useful too almost as reference. This last combine some OSC messaging with audio over net and specific Ableton scripts to syncronice transport and useful data between them.
http://opensoundcontrol.org/introduction-osc
http://www.derivative.ca/wiki099/index.php?title=Ableton_Live_and_TouchDesigner
Sharing my personal thoughts I will start from my usual "simplify as most" since even Artist like Plastikman, Beardyman or _Any_man have lots of resources (including coders) to fill their needs but maybe us have some more limitations :____V
But, if someone wants to push itself into the run or talking about improvements in these areas related to GTL (and/or iOS devices) maybe we can find some workarounds.
With the actual tools and without updating nothing (to start working today) we could:
* sync few GTL transport instanced devices with Ableton Link.
* link not AbLink supported destination clock with Link to midi & Midi sync Link apps.
* syncronize song parts with midi messaging as someone pointed.
* for style arranging/harmonization it could be possible use Midi Band and Midiflow in iOS and Hardware Arranger (or maxforlive devices like Schwarzonattor/Max7 standalone since it has m4l support and transport AbLink enabled) and the ubercool BomeBox.
Then,
As possible updates/improvements (and taking in consideration AB3 near update which could bring some sort of this crazy magic) my bet will be for OSC to avoid extra coding. It can handle most of the request and even has a better transport features (multicast with Master/Slave) than AbLink but few developers know about it and Ableton did an amazing work "hitting the focus nail" and releasing it as opensource.
From the OSC link above:
Features:
* Open-ended, dynamic, URL-style symbolic naming scheme
* Symbolic and high-resolution numeric argument data
* Pattern matching language to specify multiple recipients of a single message
* High resolution time tags
* "Bundles" of messages whose effects must occur simultaneously
* Query system to dynamically find out the capabilities of an OSC server and get documentation
Application Areas
* Sensor/Gesture-Based Electronic Musical Instruments
* Mapping nonmusical data to sound <
* Multiple-User Shared Musical Control <
* Web interfaces
* Networked LAN Musical Performance <
* WAN performance and Telepresence
* Virtual Reality
* Wrapping Other Protocols Inside OSC<
So making the GTL core function library compatible with OSC could make possible "enhanced" syncro of transport and metadata letting users to build their own wrappers/translators in between or endpoint with max7 or pd. Time ago even was a dedicated hardware device to translate OSC to midi called "the missing link" but nowadays it should be trivial with a Raspi3/teensy2 and some "glue".
I left you some interesting links in this field for the brave nextlevelchamps
http://opensoundcontrol.org/networked-lan-musical-performance
http://forum.cockos.com/archive/index.php/t-131257.html
http://propulseart.sat.qc.ca/en/Scenic
http://www.intact01.net/blog/2011/12/residencia-hangar/ |_____>http://puredata.sergilario.com/patches/osc2midi2osc/melocoton/
https://www.bome.com/products/bomebox
http://www.synthtopia.com/content/2012/05/04/the-missing-link-wireless-oscmidi-translator-review/
Sorry if all of this is redundant to some of you or totally unrelated but I hope it helps someone searching for solutions and writting this made me feel a bit young (in the competitive mode) once again. It's strange how life goes back and forth sometimes.
Cheers.
Thanks for the info Dubbylabby - I've read through that blog and it's very helpful! I did try using Ableton Live, but it has a few irritations:
1 - lack of overdub on the regular loop spots, and it's looper runs all the time. Can't make it turn off (or switch over) when you switch from verse to chorus.
2- inability to assign certain functions to MIDI - like undo which needs to be key binds, (requiring Midi Translator or similar to be purchased, set up and running)
3 - lack of certain functions needed to foot switch effectively - like no "next track" or "previous track" buttons - Ableton Live seems really to be set up for controllers with many dedicated buttons.
I might give it a try again in future for other projects - but instead using it for what it does well, rather than force it do do things it can't
Do you use multiple GTLs on different devices? A MIDI network session sounds like a good idea - to avoid having to physically cable everything via MIDI - and if they are syncing via Ableton Link then of course they are on wifi already
Syncing between multiple GTLs would be fantastic Jack! Seems quite a few of us are thinking along the same lines..
Yeah turning off Cue might work for now - and the next update with that functionality will be much appreciated Can you remind me - when Cue is off, does GTL swap immediately or is it at the end of the current bar?
Looking forward to future developments in GTL! The trick will be to keep the wonderful simplicity of workflow when adding more complications along the way.
Did you check isotonik m4l patches? These add such kind of control and maybe something suits your needs...
I remember some arrow buttons for scene navigation (maybe hide under the few buttons on the rightdown corner where the xfader and so?) but if not, there is a basic remote script (generic?) which can be edited to fill the midi input and control basic functions in ableton. Search inside remote scripts folder, please...
But also you can go to remotify route...
http://remotify.io/
Well I left Ableton even before than I've sold my mac mini so I can understand you...
Ableton Link is definitely fantastic, but limited to sync. A new protocol that has sync, but other useful features as well would be awesome - so things like OSC and MidiHD are very interesting to me! The future will be exciting!!
There may be a way to do what I want right now, but it would probably involve a handful of apps, purchase of new hardware devices, personalised OSC programming! - Very complicated when all we want to do is switch from verse to chorus! A real world equivalent would be like having to have several conferences, meetings, risk assessments with all members of the band present in order to set up a change from verse to chorus.
I do quite like getting deep into the technical side of things - but when it comes time to make music it needs to be as simple as possible - especially as a lot of (most) musicians have a bit of techno fear going on - so if I'm working in a band with folks like this the system needs to be crystal clear and straightforward.
Yes I agree - getting the MIDI instruments and analog instruments going together is when things start to become exciting. Simple single groove loops can be fun, but key / chord changes are so much more musically satisfying... It's working out how to get all the different apps, instruments, sequencers etc to swap from one section to the next that is the trick... So for me the simplest solution would seem to be a central sequencer brain that held things like MIDI loops and AUDIO loops, which could be connected to as many Virtual instruments as you like - probably with different iPads / PCs / MAC's etc being used to control or display the virtual instruments, or the main "arrange" looping page
If Jack implements network metadata sync it will like having the best of Ableton Link and looping in the same app.
Arranger harmonization was another "feature request" as audio (looptunesHD does something in this direction) but it will require lot of work by Jack side and it's maybe a bit off-focus so as him pointed maybe for a sister app
Meanwhile for this I suggest look at Midiflow almost as experiment (maybe I can try to do somekind of proof of concept) and maybe with the proper "magic" I can even simulate the possible metadata syncing using midiflow+touchosc as OSC2midi converter but my bad OSC (and advanced midi sometimes) is pita (so I'm agree in search for the simplest solution so I kill my band... just kidding but simplified my own setup to avoid every issue focusing myself into music as top priority more than "looping" showcase. Sad? Tricky? Freedomful (if this word exists)
Also I have a friend called Rodrigo Constanza who codes a bit and helps people with this kind of issues since himsef does also all this madness. I'm going to send him the topic and ask his opinion but he is mainly an Ableton user due the "facts" I exposed (it's still the better app for this task IMO)
Let's continue tinkering so!
I currently use Loopy with my group in a live setting but I'll definitely look at GTL again with the next release (cue improvements and more MIDI bindings). The group feature would be huge to allow more song like structures in a group jam (as noted above).
@ricksteruk. Yes when CUE is off, everything becomes instant, including switching between groups.
I agree, I'd like to keep the main workflow/UI pretty simple while expanding on the features of GTL.
Does it make a difference if Ableton Link is enabled?
I would assume if Link is off then it will instantly swap to the next Group - so that if you were a quaver early pressing the button - it would change then and the next Group would come in early.
But what about if Link is on? it is possible to be "out of time" with the Link clock by a quaver? Wouldn't it just sync up with the next downbeat?
I just ask as I was trying out using GTL and Loopy synced with Ableton Link and Cue off and they still seemed to be in time... but this was a week or two ago so I may be remembering it wrong.
I don't have my iPad in front of me right now but if I remember correctly, if CUE is off then GTL will switch immediately but start playing as close to the beginning of the loops in that group as possible. That means that if you switch groups slightly early of the beat then It will preroll from the end of that group so that it is always in time and phase with other apps.
Hope that makes sense.
So I've been experimenting running both GTL and Infinite Looper. It seems to me that these two apps could be a perfect match... audio looping on GTL + midi looping on IL.
Secret Base Design are also currently working on expanding MIDI bindings for the next IL update - including full Launchpad controller support. Now if only both apps could switch between song sections / groups together simultaneously that would be awesome - it might be possible just by recording the relevant GTL MIDI trigger note / cc in one of the IL midi loops - and using IL to drive the group changes on GTL... in this situation cue would need to be off so the changes happened instantly in GTL...
.. but I am sure that a better way might be possible.. if only the "network metadata sync" format could be agreed between developers??
Sounds interesting. Yes, turning off CUE would be the right way to go about this, then you can dictate exactly when you want the section changes to happen. Would love to know how you get on with this.
It would be quite a challenge to get enough developers to adopt a single system to sync sections over the network. I suppose the ultimate solution would be if Ableton incorporated it into the Link SDK as this is already extremely well supported by developers.
Here's what's needed from GTL to make it work:
1) direct Group selection MIDI bindings, not next/prev - (on the way I believe )
2) either a "Play selected group" command (not a play/stop selected group), or a "Prime Instant Play of next selected group" command.
And to make it even better Infinite Looper** could be made to send some (user definable) "Instant commands" whenever it switches to a new section. This way the user would just have to set them once as global settings, and whenever you'd switch sections it would send out the relevant MIDI messages that could control GTL/
** (Hey... if GTL could have "Instant commands" that would transmit automatically on launch of a new group then GTL could be the controlling application - so it could control IL instead... or GTL on one iPad could control GTL on another if they were on a Wifi network)
Taking it back a step.. here's what I did...
I set up two 4 bar sections on Infinite Looper - with Bass, Keys and Percussion. (The bass, keys and drums were actually 1 bar loops), Then I recorded suitable guitar parts on Group The Loop for each section on Group 1 and Group2.
I experimented with a few ways of triggering between the sections. But essentially what I did was set 3 bindings : Note E = next group, Note F = previous group, Note A=Play Group
In each Infinite Looper I had a 4 bar long phrase with the MIDI trigger notes E or F and A. This IL track was set to send to Group The Loop on the track Setup dialogue.
When I pressed play on both apps it did work - but it was very difficult to get IL to send Next Group or Prev Group at the right time.. it depends what order you want the Groups/Sections to play in... and the GTL Master group was getting selected sometimes as well - and sometimes the groups would alternate between play and stop.
After a while I set IL into song mode so that it just played Section1, Section2, Section1, Section2 etc... (except IL cannot actually do this.. d'oh! it couldn't figure out how to make it play section 1 again, so I had to create Section3 that was identical to Section 1 and then Section 4 the same as section 2.. etc..). Once I had done that and got GTL in the right place with Group 1 selected and the app in play mode.... I pressed play in IL and then both apps happily swapped together between Group1 and Group2. Magic
So, whilst it partially works now, the current problem is the there is no way in GTL to directly select the group you want to play.... you have to use next group and previous group... which means that it's a nightmare trying to get the bindings set up.... and if you want to do something in a different order.. well you just can't! As the MIDI binding is written into the Infinite Looper file you'd need to edit the MIDI data to make it select a new group.
Once GTL has the "Select Group X" binding, then you'd simply have to put the MIDI messages for "Select Group X" and "Play selected Group" right at the start of the MIDI section and it will trigger GTL.
Coming back to 2) ... I say "a "Play selected group" command (not a play/stop selected group)," because if you just loop over one section the Play/Stop command ends up toggling the GTL group - so instead of playing continuously it alternates and plays once through then stops for 1 time through, then plays again.. etc
so I wonder if a "Prime Instant Play of next selected group" command might be a good idea? might get things going in GTL faster than having to send a Select Group on the downbeat followed by a Play Group shortly after.
Sorry for the long post! I wanted to make sure I'd explained myself.. hope it was helpful.
So you will be able to select group X, that's already implemented. As as for 'Play Group', I hadn't thought of that, will add it in now as well as 'Stop Group'. In fact the way the new bindings will work will allow you to directly 'Play group X', so no need to select it first.
Anyway thanks for investigating this. Feel free to message me your email if you're not already a tester and i'll add you.