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
Unless you have a brain the size of a planet like @_ki, and you can bang out quantum Lorenz butterfly weather particle midi transformations on your coffee break.![:D :D](https://forum.loopypro.com/resources/emoji/lol.png)
So true. Unfortunately, @_Ki has a day job programming so he only gets to write Moziac scripts in a few spare moments. He also would rather use his downtime to make music, I suspect.
Modular is still on the forefront of modulation, be it digital or analog. Wish there would be a Xaoc Zadar like Envelope with morph- and loopable complex Wavetable envelopes!
@wim I admit that I tend to rather awkwardly long statements - sorry for my quirky nerdiness. I am by no means a high-speed coder and don’t qualify for mensa membership. The quantum butterfly midi thingy would have taken weeks until i found all the bugs i would introduce during the development. The fact that I manage to publish things at all is due to my stubbornness to find a good solution for a self sought problem despite the time and work it will take.
.
Banging out scripts like other people do finger drumming would be cool though
BTW I have seen people doing live coding visual shader stuff to live electronica music - that was super impressing.
.
It depends. Sometimes i really enjoy puzzling on programming problems - but mostly that just seems a lot of work and i rather enjoy dabbling around in AUM or tweaking synths for sounddesign.
It was meant as a compliment.![B) B)](https://forum.loopypro.com/resources/emoji/sunglasses.png)
It's worth mentioning that english is not @_Ki's primary language but you really can't tell.
He speaks English gooder than I do. He's probably better looking too.
On the Internet, who can tell? But we do create a mental image... I see @_ki as a slim
asian based on "Ki" being close to "Chi". That's the way the brain works... we invent imagery for music and for people. Then we see a picture or meet the person and have to "patch" whole sections of memory. (I had to check and see what this thread is advertised to be. OK. It's a Mosaic thread and only a dozen regular readers.)
A question for you Mozaic guru’s, would it be possible for someone to write a script so that the first note received is always sent on midi channel 1, if a second note is received while the first is still held, it’s sent out midi channel 2 etc? Im trying to think of a way fake an mpe input for fundamental2 as kb1 ain’t working for me
@ronnieb There are scripts that implement channel redistribution, like Roll-A-Poly, Poly It Up or PolyMono
For correct MPE channel 1 is reserved for global messages (global pitchbend, global CCs) etc - notes are only allowed on channels 2-15.
@ronnieb There is also an AUv3 app called Polythemus that can do this.
Hey @wim I hope all is well, I wanted to report back to you, and thank you again for the script Mega CC Randomizer, it’s really useful. After a handful of tests, It has been working, but it takes nearly a second for each parameter to change even if only sending out 1 Channel. I tested it a few separate times with Lagrange in AUM. Lagrange has a lot of CC values exposed, over 100. I set it all up in AUM a few times, and it would change each parameter, but quite slowly, and seemed to miss a couple towards the end of the cc#’s … I did have all 110, 115, or so cc #’s on 1 channel, channel 1, and it seemed to struggle to complete with that amount. Out of curiosity, Is there a recommended amount of CC’s to send on one channel? Would splitting it up into 5-6 channels be more effective?
I know you intentionally put some delay in between each message to not overload an app with messages , but it seemed much slower then the amount you described on Patchstorage.com
I just ran another test with STRNG, which has 30 CC’s. I did them all on Ch 1 and it worked, changed every cc, but again it took almost an entire second, if not a whole second for each parameter to randomize on the synth. It did spit out several great presets that I saved but it seemed to be moving really slowly. I’m wondering if there’s anything you can do to make the randomization more immediate, or at least a bit faster. Maybe an option to turn delay on and off? Thanks.
Details - iPad 6 2018, iOS 15.1, using only Mozaic and 1 synth app hosted in AUM for these tests.
You're right. I must have screwed something up in a last-minute save. It worked before. I'll figure out what went wrong.
OK @Poppadocrock - v1.1 fix is up on patch storage: https://patchstorage.com/mega-cc-randomizer/#comment-4871
Thanks for bringing that to my attention.
With the default metering of 2ms between values, one channel of CC's uploads per 1/4 second. You can change that if you need it faster or if synths can't keep up. Check the
@Settings
section at the top, as mentioned in the app description.Awesomeness. Definitely. It’s a great little tool in the Mozaic arsenal. Cheers!
@wim or anyone… I was curious, I threw this question in the middle of my feedback, so it may have been missed. It’s slightly OT, but can the amount of cc values sent on one channel be overloaded like the way too many notes would react on 1 channel, depending on polyphony? I know it’s a different type of message being sent, but it crossed my mind and I was hoping someone could clarify it? Thanks?
It's not the same as polyphony, but yes, hosts or apps can be overloaded with too many simultaneous (or too close together) incoming messages. That can have different effects depending on how apps handle that situation and the nature of the message stream.
Let's say you have some LFOs pumping streams of CC values and an app can't handle all of them at once. If the app just drops the messages it can't handle, it's probably no big deal because the next value is still going to be pretty close to the last, and most apps have some smoothing built-in anyway. It's always possible that an app may not handle the situation well, and glitch or even crash, but I doubt that's too common.
But let's say you have something like this randomization script that is only sending each CC value only once. If the app misses some messages, whatever is mapped to those CCs won't get set. Still, it's not as bad as missed note messages, which can result in stuck notes.
So, no, it's not exactly like polyphony, but yes, there can be limits and side-effects if the host or the app gets overloaded. If the developer hasn't thoroughly accounted for this possibility those can include app crashes.
That’s great to know, that was the feedback I had but didn’t quite know for sure. Thanks for the explanation. You are awesome. Cheers!
Hi Guys, I love Mozaic and the fabulous scripts and script wizards. I want to be able to have Launchpad Pro (not mk) pads to remain lit when pressed or at least appear like they do on the Launchpad app. My Launchpad did autobind in Loopy Pro and I even wrote instructions explaining to others how to do it but sadly it wont work now. They will work under midi learn but then turn blank after they have been triggered off. Hope this makes sense, is there a script out there that can achieve this. Would be so grateful to anybody who can help.
I don't have a Launchpad of any type to test with, and I have no idea if this will help, but I wrote a script some time back that can echo midi back to the controller it came from. It might be worth giving a shot. (Or it might cause a midi loop and be a train wreck.
)
https://patchstorage.com/controller-feedback-and-restore/
[edit ... could be a waste of time if the launchpad is sending notes or other messages, not CC's]
Thanks for the patch, the Launchpad on Live Port mode originally wants to send notes not ccs. I used the settings in midi learn/setup to send a cc for an input but have so far being unable to make the patch work successfully.
Again thanks for your input
So you just want a light to toggle on and off when you tap a pad, and maybe translate the Launchpad's output from notes to CC messages?
@wim I usually send SysEx messages to the Launchpad to light the pads, rather than notes on Channel 1. I would use a grid of ones and zeroes if you're toggling the LEDs, but maybe I'm not understanding the problem or the solution.
First, you need to send a SysEx message for "Programmer Mode On" to the Launchpad.
Sys_Message = [0x00, 0x20, 0x29, 0x02, 0x0C, 0x0E, 0x01]
SendSysex Sys_Message, 7
To allow the user to exit programmer mode, send the same message, with 0x00 instead of 0x01 at the end. (You can also write 0 and 1 instead of 0x00 and 0x01, just to set that digit apart visually, if you want.)
Every control on the Launchpad is assigned a number from 11 to 99. The first digit is for the row, the second digit is for the column, starting from the bottom left pad, which is numbered 11. 12 is to the right of that pad, 21 is directly above, etc.
This message lights the bottom left pad. Change the 67 at the end to a different number, if you want.
Sys_Message = [0x00, 0x20, 0x29, 0x02, 0x0C, 0x03, 0x00, 11, 67]
SendSysex Sys_Message, 7
This message unlights the same pad; 0 is the "color palette position" for "LED Off".
Sys_Message = [0x00, 0x20, 0x29, 0x02, 0x0C, 0x03, 0x00, 11, 0]
SendSysex Sys_Message, 7
So, if the user taps the pad at the bottom left, it will send:
NoteOn and NoteOff messages, with Byte2 being 11. (Next to it is 12, 13, 14...above it is 21, 22, 23...).
And it should receive:
one of those two sysex messages directly above, based on whether there's a 1 or a 0 at position 11 in an array. (Or position 0...but I prefer to make an array with the first 11 positions blank, along with position 20, 30, 40, etc.)
It could also translate that NoteOn with Byte2 = 11 to a CC message, if that's how you want to launch clips.
Here's a sysex for lighting the top row's 8 buttons. The first button will be off, the second one will be a different color: 68.
DisplayArray = [0, 68, 67, 67, 67, 67, 67, 67]
Sys_Message = [0x00, 0x20, 0x29, 0x02, 0x0C, 0x03, 0x00, 91, DisplayArray[0], 0x00, 92, DisplayArray[1], 0x00, 93, DisplayArray[2], 0x00, 94, DisplayArray[3], 0x00, 95, DisplayArray[4], 0x00, 96, DisplayArray[5], 0x00, 97, DisplayArray[6], 0x00, 98, DisplayArray[7]]
SendSysex Sys_Message, 30
Fun fact, the Launchpad models also have different color palettes.
Hope this helps.
I usually make mistakes when I'm tired, otherwise I'd try to write the rest.
Wow you sure know your stuff. That does through lighton the subject, pardon the pun.
My poor dyslexic head struggles unfortunately to convertthose sysex messages into a code that Mozaic can understand. Is there anybody here who could please rise to that challenge? It would certainly open doors and I would be super grateful.
Many thanks in advance,
Not quite a "new script" request, but does anyone know of a mozaic patch that gets somewhat close to the retriggering modes of the Uno Drum? https://files.bbystatic.com/8mKVpE/zQpJBvipdGvpbQw==/2a068a9b-0139-48cb-983d-0a3eb34fb694.pdf (pages 17-25).
Generally, what I am looking for is something where you can press a button and it'll record midi data for the next few steps and then play it back. Parameters to alter aspects of the loop would be nice. The goal for all of this is live performance embellishment.
[I hit quote instead of edit and didn't notice]
I think the script hypnopad requested is pretty close. @Wim wrote is to spec 2 years ago:
Hypno Sequence
https://patchstorage.com/hypno-sequence/
See if it's close and propose the extra features you'd like and maybe someone will work on it.
This is cool! Its not quite what I'm looking for I think, as Hypno Sequence requires you to enter a separate "round robin" sequence instead of just looping the notes that comes in. Some of the Uno Drum modes are similar to that but I'm mostly interested in the looping ones.
I'm definitely going to try it out later today, if anything it'd be a good thought provoker if I write my own looper.
It appeared from the manual that Uno Drum was a step sequencer... there are looper/looping scripts on patchstorage too. But there are also many apps that serve this need. Hypnopad couldn't find an app that
worked for his needs and helped specify the requirements and worked with @wim to iterate towards a solution.
When I think sequencer, I think of stepped output.
When I think Looper I think "tape recorded" loop.
Doing loopers in Mozaic is pretty tricky because it's "event based". The notes in will need to create a datastore that contains note or CC, velocity and some form of time stamp. Once the complete list of events is stored then you must generate an ongoing series of timers that fire off and send (or schedule to be sent) the events stored in the datastore.
The datastore has one possible mechanism: multiple single file arrays of 1024 elements each. The trick is coordinating using a single index to coorelate note/CC, velocity, timestamp data.
Good luck if you do decide to write one and please share the results.
There are a couple of scripts that might be close: Infinity, and seq-l. I think I tried Infinity a long time ago, and had a lot of fun with it.
Making something like this wouldn't be too difficult, provided the notes can be quantized. For instance if whatever note is held down on some beat division is what gets recorded, and it plays back on that same beat division. Or, Hypno Sequence could be modified pretty easily to work with host clock rather than note input triggering playback.
However in cases like this I always lean toward existing apps that do the same thing, usually better or easier. In this case, there's Rozeta Cells, and even better (IMO) midiSteps.
(Cells has some nice features that midiSteps doesn't, but midiSteps seems to fit the request better)
Thanks @McD and @wim for the replies!
I think the main thing missing from all these options is that I'm looking for something that is not quantized and records more like an audio looper. I don't just want the notes but the spaces between the notes.
Its good to understand better how mozaic is probably not the best choice to explore this. I may extend the convo here https://forum.audiob.us/discussion/45846/the-definitive-midi-looper-in-mozaic or just give up for now.