Support |
Just a little update on my experiences with Mainstage and looping. Mainstage has a lot of great synths, drum machines and guitar fx, but it does chew up cpu (i wouldn't even try to use the physical modeling synth in a live environment with other stuff going on). I tried putting Sooperlooper into a bus, and it works sometimes, but often seems to cause Mainstage to complain of MIDI conflicts (when synced to the Sooperlooper output). I found this to be annoying, and plus - buggy tho it is, i have my own max/msp looper and it thinks the way I do (and doesn't require me to remap midi footcontrollers). Plus, I can rig max things to do lots of different stuff. My main issue in getting this to work has been getting the audio from Mainstage to MAX w/o adding latency. I found that the 2-channel version of Soundflower works OK, but the 16 ch. introduces unacceptable latency - and I do need multiple channels going back and forth. I installed the Jack server on Friday, and I find it much better and more configurable than Soundflower (maybe it's just easier to understand and I was able to configure it better for that reason). Now, I don't yet have Mainstage syncing fx times to loop lengths - my looper puts out MIDI Time Code, or did at one time!, but I have to try and remember where in the morass of code that is and see whether it's working this month. But I'm not that concerned about that at the moment - my modus operandi for now is to tap in a tempo to Mainstage before i start playing, then just loop normally (my looper, by the way, has it's own built-in loop-synced delay fx). (corrollary: I'll bet SooperLooper would work fine in Mainstage if i stopped trying to sync to it, too). So, Mainstage, Jack and MAX play together nicely with low latency. Now, I'm playing with working automated percussion into the mix - which may alter the "first loop is spontaneous" dogma for me (I'm deep in a process of reinvention this year, and upcoming products for hex gtr that I can't talk about are going to complicate that further in a few months). I started playing with the Mainstage/Logic drum machine, Ultrabeat. Ultrabeat has many cool things, but no realtime randomization (although you can get long-term variation by making long lfos that don't retrigger on every hit). So, I adapted the drummer quickstart from MAX cool objects to drive a two-line percussion part, one part synthesizing shakers/maracas, etc. in MAX via the MIT Percolate physical modelling library, and the other one to generate MIDI messages to send to Mainstage (I am trying to set up shakers as the "core" of a class of improvisations). So now, I'm really getting into audio web weirdness... the percussion audio is coming from both MAX and Mainstage, and should not be looped (since it is generated from it's own kind of loop), but should be recorded, and the guitar audio is coming from Mainstage, is echoed right back to the audio interface by jack for low latency, but is also Y'd into MAX for looping. there's no connection yet between loop times and the percussion generators, but that must come soon. On a simpler front, I took my guitar out with just my computer and no footcontroller and no external interface for a jam the other day, and it worked fine. In other words, I replaced my fx with Mainstage without having to carry around any extra crap - plugged the gtr into the line in, took the amp output from the headphone feed, and skipped the footcontrol. Ended up with no more equipment than before (the computer now replacing the fx floor unit), and the Macbook on an Instands next to me - changed patches with the arrow keys. Worked great, except for the lack of manual wah-wah functionality. Having the computer up next to me all the time and accepting that also means that I can start assigning non-time-criticial looper control functions, like "start fade", to keys instead of footcontroller presses. that will be a relief, since that interface was becoming quite awkward. I'm also going to start looking into Max 5. It appears to address many of the issues that have long bothered me about max, although there has been some talk on the lists about the audio performance not being quite up to MAX 4 (i.e., higher cpu usage for what looks to be the same functionality). Still, problems like that inevitably get addressed, and given my time available for coding, will probably be addressed before I need them - as I recode the looper, there are several performance enhancements (even in Max 4) that I have not taken advantage of and now need, so (as always) there is a long way to go. So - that's the news from Greenwood Lake for now. Happy looping!