Loopy Pro: Create music, your way.
What is Loopy Pro? — Loopy Pro is a powerful, flexible, and intuitive live looper, sampler, clip launcher and DAW for iPhone and iPad. At its core, it allows you to record and layer sounds in real-time to create complex musical arrangements. But it doesn’t stop there—Loopy Pro offers advanced tools to customize your workflow, build dynamic performance setups, and create a seamless connection between instruments, effects, and external gear.
Use it for live looping, sequencing, arranging, mixing, and much more. Whether you're a live performer, a producer, or just experimenting with sound, Loopy Pro helps you take control of your creative process.
Download on the App StoreLoopy Pro is your all-in-one musical toolkit. Try it for free today.
Comments
It's not AU though. Plus it just eliminates the potential all in one aspect of Mozaic.
A few more combos would be nice, and would expand the usefulness of the app greatly.
Combo suggestions:
-8 pads, with 2 X/Y controllers
-8 pads, with 8 sliders (or knobs)
-4 pads, with 3 X/Y controllers
-4 X/Y controllers
-2 X/Y controllers, with 8 sliders (or knobs)
Even just these 5 additional ones would add a lot.
In addition to layouts ideas. I found the panels and logos taking important real estate from screen when using few Mozaic instances. If they could be joined like a puzzle or minimize then there would probably be less clutter on my Aum jams.
A question for those of you who have delved in to optimizing Mozaic code for time critical applications.
I have noticed that running in AUM and Audiobus, I am seeing jitter on the firing of the OnNewBar event with new bars being off by varying amounts from -4 ms to +4 ms from the expected duration.
In a lot of applications this would make no difference, but I am using it to puppet string recorders and the result is discontinuities that I am trying to avoid.
In Auria Pro, there is no jitter at all (though the duration of a bar is a tad less than predicted.
Anyway, I am wondering if others have run into this. I wrote a minimal test program to make sure it wasn't an artifact of the coding in a more complex program where I first noticed the anomalies.
@brambos : any thoughts
Yes, love to see a tutorial or an example of Moziac script that shows how to send cc back to an external MIDI controller. If such video or script already exists, please post a link.
TIA
That’s very vague. I wouldn’t know where to begin.
I think there’s a script for turning on/off the LEDs on the LaunchPad/Key, but a tutorial showing how to adapt it for other controllers such as the Behringer BCR2000 (LED rings), Akai APC40, etc. would be great. Another example might be how to toggle the LEDs, so only one stays lite among a group of 4 or 8 pads or whatever - to mimic what is shown on Drambo’s display.
@espiegel123 In my timing tests, Mozaic/AUM proved pretty stable. I had been reporting timing problems for the initial versions of Mozaic, but Bram fixed these. If you want to, you can pm me the source(s) and i‘ll take a look. Maybe things running in the other events take too long and screw up the OnNewBar timing.
Also other stuff running in the host or in the backsground could screw up the timing. To help with that, more info is needed.
I will pm you my test script. I initially assumed that I was seeing something related to inefficient coding in my part...which is when I built a test script that had nothing complicated and simply records the time between sets of bars. And to make sure that other plugins weren’t complicating, I ran it by itself. There could be an error in my part, I will be curious what you find.
That’s a tall order. Every controller is very different in significant ways. Also, Drambo doesn’t just send out midi showing the state of its controls, so even doing that for just one controller would involve quite a script and a complicated Drambo setup as well. I’m sorry to say it, but I don’t think a tutorial such as that is feasible.
I see, so the issue basically lies in the fact that Drambo doesn't send out the state of its controls, but I thought there might be a way to work around it... oh well.
Thanks!
Yep! Never hurts to ask. Many of the best scripts put there have come from ideas like that. Some things that seem like they should be easy are hard, and some that seem hard turn out to be easy. You never know until you ask.
Sorry I edited the post while you were responding... Anyway, the script shown here simply sends a MIDI cc to the controller for visual feedback, right?
Yes. It's specific to the Launchpad Mini MK3. There's a more advanced (and debugged) version here: https://www.dropbox.com/s/bi4obn222y359yl/LaunchKey MK3 Utility v1.0.mozaic?dl=0
Notice how the commands needed to light up pads are specific to that model (and only one mode of that model). I tried to make the script as easy as possible to modify for other controllers. But some controllers respond to different messages altogether, so I don't know of any way to explain in a generic way how to adapt to other controllers.
One approach to the problem of apps not sending out their control state to feed back to controllers is to use the script itself to keep track of where things should be. For instance, if a rotary encoder with a LED ring is sending out incremental values, as long as the controller, Drambo, and the script start at the same value, the script can keep track of where everything is. In theory, this can kind-of work, but as soon as you change something directly in Drambo it all goes off the rails.
This is true for all but a few apps. Most don't send out MIDI indicating their control positions. Animoog does, and others that I forget, but they're the minority. So, unfortunately, two-way coordination is difficult, and how to manage it is specific to both the app and the hardware.
I know ... it just seems like something that should be so easy. It's unfortunate.
@wim Thanks for the detailed reply, I was just trying to learn the most basic functions, so the short example that you gave was a good start. However, I could not get an output on the MIDI monitor app much less the controller - I could only see the MIDI notes coming in when I pressed the buttons on the controller, but that's it.
Here is the test setup:
Here are the changes made to your script:
oncolor[0] = [30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30]
offcolor[0] = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
colorchannel[0] = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
if MIDIChannel = 0 and MIDINote >= 0 and MIDINote <= 15
Did I mess something up?
It might be helpful if you posted a picture of the MIDI Routing matrix in AUM to make sure you have everything routed correctly
Here you go:
With Mozaic (hosted in AUM) I can use AUM’s Midi Control to map a knob on a controller to update a knob in Mozaic.
Is there any way to achieve the same inside the @OnMidiCC handler instead of using Midi Control?
ie: Inside @OnMidiCC I can use SetKnobValue but this doesnt trigger @OnKnobChange.
@McD I tried loading some Mozaic scripts I made into Drambo. A couple of things seemed to hamper usage.
1. Any midi sent into Mozaic is received in the AU as midi on CH1 regardless of channel sent.
2. No ability (yet) to route midi from (Mozaic on) one track to another (as far as I can tell)
I am having much greater success hosting Mozaic and Drambo in AUM, where I'm using Mozaic for midi control of instruments, note generation, automation and Drambo for instruments and effects.
More on the lost midi channel here:
https://forum.beepstreet.com/discussion/1166/midi-channel-lost-when-passing-midi-from-one-au-midi-processor-to-another-same-track#latest
Nope. @OnKnobChange is only triggered by physically moving the knob with your finger. However, you can always update a knob position using
@SetKnobPosition
from within@OnMidiCC
. For instance:This is a current limitation of Drambo. It forces all output from MIDI AUs to midi channel 1. I think that one is going to be addressed eventually.
You should be able to do this. Go to the thing you want to control and tap the midi input, then navigate back to the mozaic track and tap it's midi output icon.
Yes, this is a better way to go for now.
@wim oh right will try - didnt even think about that! Thanks for the tip.
Bug 1 is a limitation for me at present so sticking with hosting in AUM for the moment
Just to be clear, that's a Drambo bug, not Mozaic. I think you know that but making it's clear for others.
Actually it's a Drambo design limitation, not really a bug.
I think there was a script for kind of “auto divisi “ midi notes. I.e. for 4 channels the incoming chord will be spread between 4 different MIDI channels just like the poly to n-channel scripts, but in this case, with one midi note input it will send the same note to the 4 output channels simultaneously , with 2 notes input will send one note to 2 channels and the other note to the other two output channels and so on... Ithink it’s the same kind of note assignment used in paraphonic synths.
Can’t find it, maybe was just a dream?? Any clue?? Thanks!!!
There's an app called Polythemus AU that does this.
One of these scripts might be the one you were looking for:
I created a Mozaic script that kind of turns Loopy into a looper that endlessly cycles through a series of loops kind of like a flight recorder and can also be used as a take recorder. It could probably be repurposed to do the same with AU loops -- I'd like to adapt it to Koala sampler -- but right now Koala is a couple of tweaks away from being able to do this.
I posted the patch over on patchstorage. More info at:
https://forum.audiob.us/discussion/comment/919302/#Comment_919302
Anyway, mentioning it here in case anyone wants to adapt it to other loopers.
Thanks @wim, will try the scripts later at home, but I think neither will do what I ask for.... polythemus AU can´t AFAIK: what I look for is bit different because if you select 4 notes (4 midi channels, 4 different synths or sounds) all 4 will be playing always regardles of the number of input notes... I you play one note then the 4 synths will play in unison... If 2 notes, then two play one note in unison and the other two the other note in unison. If you play 3 notes then one synth for one voice, other synth for the other voice and two other synths in unison for the third voice, if you play four, then will be as the "usual" voice allocation.
This is really usuefull for playing lot of styles, but a good example will be a string quartet played from the keyboard.
Coulbe an add-on for the current scripts (if don´t have the option, still need to try it at home!) as these kontakt script: https://vi-control.net/community/threads/multi-script-tools-free-divisi-scripts.59985/
If you are more interested in something similar to VoiceSplitter from the page you have referenced here, you may want to check out https://patchstorage.com/channel-splitter/ which maps to different channels just by filtering on (possibly overlapping) pitch and/or volume.
Thanks @Tim6502 , I actually use you channel splitter script too mainly for triggering fifferent drums with velocities
But I`m looking for something in the lines of the multi-divisi script
Can we get a ‘Transpose’ control added to this gem... It will come in so handy... (-/+12 semitones)..
Thanks.
Humm ... If I'm honest, I'm not crazy about the idea, but it wouldn't be too hard to add. I like the simplicity of the interface now, and AUM already has the ability built-in. I guess it could be useful for other hosts though.
Trying to think how to fit that into the interface. I guess tapping SHIFT could take you to a view with more knobs?
Thanks .. it can be handy for recording.. A slider knob below the other knobs won’t cluster it..
Thanks...
That's not possible. The layouts in Mozaic are fixed. You can't add controls to them.