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
I'm sorry, but I don't want to make something that depends on the chords coming in with all notes triggered simultaneously and with no overlapping notes. There's no guarantee that it would be used only that way by others. If I could see a path to success, I'd consider it, but I don't.
I just had a nice first discussion in the mozaic group on the patchstorage discord server about midi-learn of the UI elements of Mozaic.
I told Razmataz that this feature probably won‘t happen, as it would interfere with the midi fed into the script and would pose new problems if either that UI midi is fed or supressed to the scripts itself. And that there is already the possibility to midi learn AU parameters in the AU hosts to achieve external control.
Another alternative is to extend the scripts with additional code to react to special midi CCs/notes and duplicate the functionality that pads and knobs do
.
But (and that why i’m posting ) for all scripts to be fully controllable by external hardware, we would need the pads and shift button to be exposed as AU params. IIRC pads as AU params were already requested.
Is there a quick wy of remaping midi notes?? I just need to remap 8 or 9 notes from the original pitch to different ones, ideally using knobs for quick changing the destination notes....
Thanks!
That shouldn’t be hard, but I’m currently camping in Norway and mostly off the grid, so I can’t do an example right now
enjoy!!!
This should work. The only thing is it’s a bit fiddly to set the notes with the full range of midi notes available. If it’s unworkable, I could limit the range of notes to fewer octaves.
Thanks!!!
For my own use its ok to have from C2 to G4
Here’s a version limited to range C2 to B4. It makes the knobs less sensitive and easier to set.
Is it possible to create a midi mapping like this Max for Live device? https://sonicbloom.net/en/value-blocker-free-max-for-live-midi-effect-to-prevent-unwanted-parameter-values/
Essentially, it skips certain values from being used when mapped to a parameter. It gives an example of arp skipping certain time divisions: 1/3, 1/6, etc.
My use case would blocking certain values in Autony so only notes from specific time divisions are generated when it mapped to a midi controller.
I just posted my first preset Complex LFO XY for Mozaic on PatchBay. It’s like a much more elaborate version of the @brambos factory Complex LFO preset and I think it’d be useful for people into ambient or generative music who want to add that extra special wiggle to their controls.
Since I roped you in with my weird request, that bit allowed for the second input to play through the bass channel. It also makes alot of weird things happen which are also cool, I’ll be digging through to complete the rest of the functionality I had in mind and also learn to make things in the process.
Thanks again for taking the time to give me that bit of code and for making the chordulator to begin with.
Thanks wim for replay. I mean exactly that . Which I hope will be of interest to you too .
With such a mozaic patch, we can make a difference in the sound with a very interesting voice on the left and right channels.
@brambos True or False: You can’t set or test your own alphabetic variables like “major”, {minor}, etc. I see labels enclosed in brackets like in the statement “LabelKnob 0, {Volume} “, but my statements “myscale = {major}” or “if myscale = {major}” fail.
No, there are no string variables. Variable are numeric only (or arrays of numbers). There are a few functions like Log, Label, and Preset Scale that accept strings as arguments, as you’ve seen.
I’ve uploaded a simple scale filter script.
Simple Scaler is a scale filter that allows customizing the notes of the scale. Its options are inspired by one of the early Audiobus MIDI filter apps that doesn’t look like will be updated to AUv3 MIDI.
https://patchstorage.com/simple-scaler/
This is meant to be a quick and simple tool. (For an amazing full-featured scale script, check out Scale Compendium by Bryan Appel)
Simple Scaler v1.0
Set a root note and scale. The pads will light to reflect which notes are in the scale. You can add or disable notes by tapping the pads. Changing the root note will keep the same pattern but change the scale notes so you can transpose easily.
In Nearest mode, the closest scale tone will be played for notes not in the scale. Filter plays nothing if notes aren't in the scale. Chromatic mode (not scale) plays the root of the scale on C and then up the scale for each successive key. If there are fewer than 12 notes the higher keys do nothing. White Keys is the same, but only responds to the seven white keys. If there are more than seven notes in the scale, the top notes will not play. PassThru allows all notes through.
To avoid stuck notes, only make scale changes when notes are not playing.
Ah well.... i don’t need them... I can just assign numbers to a descriptive variable name for the same effect. Thx!
@wim you are generous with your time and expertise. Thank you.
Nah. My brain just won’t let me alone until some of these ideas get realized. I do it for my own sanity.
I've got a teensy tiny bug report for mozaic.
expected outcome: interpreter error
actual outcome: for loop gets treated like an if statement and only runs the first iteration
it's an edge case, but can make for hard-to-catch bugs
Loving Mozaic! It's simple enough that I can make dedicated scripts for ideas the same way that I would otherwise patch a $5000 modular, but I never run out of cables or just need one more $400 module.
Curious about the types of scripts you're making @burns_audio?
Hoping @wim or one of the other mosaic geniuses could think creatively about how to create a Senode like script. I realize that part of Senode's charm is the UI that makes it fun to set up the sequences. I'm more interested in a simple way to set up the nodes and note variations of the "emitters". My first design sketch used knobs to dial in the nodes and the note lengths for the emitters--wondering if there's a better way.
Big update for Metroplex with new user-requested features and bug fixes.
1) Articulation
2) Rhythm
3) Modulation
4) Articulation, Rhythm
5) Rhythm, Modulation
6) Articulation, Modulation
7) Pitch, Articulation
8) Pitch, Rhythm
9) Pitch, Modulation
10) Pitch, Articulation, Rhythm
11) Pitch, Rhythm, Modulation
12) Pitch, Articulation, Modulation
“ARTICULATION” refers to GATE LENGTH, VELOCITY, and PORTAMENTO. “RHYTHM” refers to REPEAT COUNT, GATE MODE, RATCHETING, and STAGES. Finally, the instruction manual is viewable on the settings page.
I'd release more of them but I don't have the time right now to polish them enough.. gotta work on Spectrum!
One ‚trick‘ regarding patch storage:
For user convenience, add the version number to the scripts presetname. When users download the preset, they immediately can see if they got the up-to-date the version number in the Mozaic preset browser. Downloading a new version then adds a new preset file and the user is free to delete the old one with a left swipe.
For a new script to be uploaded to patch storage, i use the scripts name without version number as ‚patch name‘ even though the uploaded file contains a version number. This will generate a patch-storage page without version number. Editing this page allows to add the version number to the patch name title without changing the url (determined by the initial patch name). This shows the version number in patch storage’s overview without having it fixed forever in the url itself.
Example: „Split&Remap Rozeta X0X/Rhythm v1.1“ is found on the page with the url „https://patchstorage.com/split-remap-rozeta-x0x-rhythm/“ since i initially created it with the name „Split&Remap Rozeta X0X/Rhythm“ and then edited its name to include the v1.0 of the initial release.
When i then uploaded the v1.1 i also changed the title to include the v1.1 - the url stays the same.
What a monster patch! Makes my head spin just reading the feature list. I’m almost afraid to take a peek at the code. 🗯 Awesome work!
What the heck is Metroplex?🤪😳
+1,000,000!!
This will make updating a patch so less annoying that it is now
I’ve got both @OnMetroPulse and @OnMIDINoteOn coded into a script. If a midi note on event occurs while i’m doing Some work in @OnMetroPulse, what will happen? Will the work complete in @OnMetroPulse? It seems like @OnMetroPulse is not finishing in this situation.
This is dope as it gets!
Have you had any luck importing more than one script into the app?
I don't think these best practices are used yet, so I end up deleting all the presets and scripts that I have, downloading all the presets in scripts that exist on patch storage, and then importing them each one by one back into the application. This has to be the wrong way, right?