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
@bleep Wow i like that Drambo solution !
The random values are feed into the shaper which either outputs 0,1 or 2. The shaper output is applied to the midi switcher that switches between un-transposed, 1 octave and 2 octaves (which are generated by the transpose modules from the input note).
Drambo itself handles the out-of-note-range case and i hope it also handles the note-off problem (ie the note-off is transposed identically to the note-on even if the settings and random changes inbetween)
Great… Drambo can replace Mozaic too.
@_ki using that script here:
https://x.com/gavinski_s/status/1907149542258249744?s=61&t=h9IT_HLFyi9pwn2iXlMGDQ
https://www.instagram.com/reel/DH6lL9utcEx/?igsh=M3I0a2VsOGR6NjRo
@Gavinski Nice - i probably upload the scipt to Patchstorage tomorrow, so that people can find it in a central place
@McD and @bleep Using the Drambo modules (I had to add a Midi Output module btw) with the given settings, i get a click whenever the midi mixer changes its input. I used a streambyter to have a look at what happens and it seems that in that case a midi note off is issued immediately after the note on.
Wierd… Maybe the switch will auto-send a note-off for the current active note and the new note on is received a split microsec before the switch happens, forcing the new note to get cut short.
Inputting the the graph of the percentage vs output-id in the shaper also isn‘t that simple as one has to move two points to archieve the steps. It help to activate the snapping for x and y - but its not that convinient as turning a single knob.
Another manko of the script is handling of polyphonic input. Yes, one can set the midi input to more notes (ie 5) but a) all of them will be cut short when the random value decides to switch and b) all of them use and identical transposition.
The Mozaic script applies a per-note chance and handles MPE input with overlapping on‘s and off‘s and CCs, ATs, pitchbends etc and the UI with 4 knobs is easier to modify and understand by the users of the script.
Good investigation @_ki. My intention wasn’t to insist on using D for everything, just wanted to quickly whip up a starting point.
I noticed the midi switcher help saying it handles note-offs correctly, but perhaps there are some issues. I couldn’t hear any in my quick test.
I love a little Drambo dirt. We should have a page on the wiki to collect anything Drambo can’t do or small defects like this on/off click which someone will use to make yet another “kick”. Can you ever have enough kicks?
Sorry… I’ve been on a kick talking Drambo smack because it confuses me when I attempt to download patches and gave the preset, instrument rack, etc decisions. It always takes me too long and the results are often “meh”. If I want to get locked into
a “maze of twisty passages” where “plugh” doesn’t have magic I would have stopped with Gadget.
Hello, do you know if there is some script that provides Auto_Sustain Feature? In keystage there is an auto sustain option that will hold any pressed key or chords until any other key or chord is pressed, and the sustain pedal off sends a note off to any held notes. Is there something like that in mozaic?
Oddly, no, I don’t think so.
Thanks, I managed to do this script, but I have some issues, the script is working when hit a single note, but if I hit a chord it mutes all other notes, converting the instrument in a monophonic instrument, I bet that I should add some delay, I asked Chatgpt to help me, but it only plays dumb and allucinate a LOT of syntax that doesn’t exits..
Also, a good feature of the Leystage Autosustain is that it doesn’t mute any key or chords that you hold while playing other notes and adding the sustain to those
Can you help me with that? You can load it to your library if you want, I just need the script working
Yes, detecting chords is tricky, since the notes arrive one at a time. You need to use a timer, and remember the notes of the possible chord before deciding. This may add latency if not done carefully.
Could you clarify this part: "it doesn’t mute any key or chords that you hold while playing other notes and adding the sustain to those"? Maybe describe various sequences of events, and what should happen. Also, does this have anything to do with implementing a Sostenuto (middle) pedal feature?
And here's a hint. Put 3 backticks (this ` ) alone on a line before and after a code block. Then it will have consistent formatting.
Previous Quotes
Thank you very much for the heads up.
No, it is not a Sostenuto, but it is kind of similar
The functionality allows you to play a single note or a chord. When you play it will keep the notes on until you hit another key or chord, then it send the note off to the previous keys as long as you are not holding them pressed. Let me explain
Good. That helps. Could you edit that to indicate when Sustain is pressed and released? (You can edit your post; just tap the gear icon in the header.) Or is Sustain held throughout?
What happens when you release the chord that was being held while other notes were being played and released? Do you have to release Sustain to cause those notes to stop?
Done, I added the modified cases for when the sustain pedal is played between moves, and I updated the previous part with a special consideration.
I am aware that some of the cases are just a consequence of correctly implementing the script, so a little bit of abstraction might be needed. I've been trying to generate it, but it became beyond my programing capacity and knowledge on the mozaic scripting structure.
Also here is a quick example of the feature in a Video I made
Auto Sustain Video
@Gavinski An updated version of the Chance-Octaver is now available on patchstorage.
I added handling of polyphonic note input with the special cases that the octave-shifted or original note might already be playing (as result of other octave-shifts)
Oh nice, thnx Ki!
It doesn’t support the pedal, but this script might help you. The REPLACE mode seems to be what you are looking for. I created it based on the “Hold” behaviour found in the Roland SH-01A:
https://patchstorage.com/latch-and-switch/
Thank you very much, but no, it doesn’t work as I intended, It is not a latch function what I am looking for, imagine someone else playing perfectly the sustain pedal for you, you hit a chord and the person press the pedal, you release the chord and slowly switch to the other chord, and inmediately as soon as you hit the other chord the person quickly releases and press again the sustain pedal. And the only way to stop that person to keep pressing he pedal is you pressing an releasing the pedal yourself. Then the person stops until you hit a new chord.
I tried to modify your code and used ChatGPT too but All I create is a mess that works even worst :-(
Did you try to switch the system to “Replace” mode by holding SHIFT and tapping the Latch pad ? It should light up and say “Latch ON REPLACE”.
My apologies, I am not exactly getting what you want. What is the actual difference between latching and sustain ? Is it the manual pedal reset that is missing? I’m asking because it might be fairly simple for me to add that to the code.
THANK YOU!! Although it is not 100% what I was looking for, it does what I need.
All I need to do now is to figure out how to modify some things as I am not that proficient in Mozaic Scripting language.
1) Make the Replace Mode as default (I think it is easy)
2 ) Eliminate the Latch feature: Meaning that it should replace the chord even if it is the same previous key, right now if I hit C chord twice, the first time it will make the chord sound and the second time it will send note off to the chord, what I need is that if I hit the C chord twice, the first time it should play the chord and the second time it should quickly mute it and play it back again. But it should mute only those notes that are not held down in the keyboard (I think this is the most complicated part)
3) Make the sustain pedal release to act as if I was touching a pad to mute the latch feature (I think it would be mid complexity)
I would love if @wim could help me on modifying this script?
There are default settings right at the beginning of the script. default_repl = YES enables what you want to achieve in 1. And maybe default_mon = NO because the real-time note display is fun, but it eats a lot of CPU power.
2. The @StopOldChord subroutine is where the notes get toggled. Implementing what you want is not that simple and would require some code modification. As a workaround you can simply play the chord twice in rapid succession.
3. The boolean variable ltch controls if latching is on or off. Your sustain pedal routine would modify that variable. The @NotesOff and @SendOff routines silence any active notes.
@jjpl2001 I just uploaded version 2.5 of the Latch and Switch script to Patchstorage. There are new options that might interest you:
Nobody in particular asked for it, and there are a few others like it, but ...
https://patchstorage.com/midi-filter-tool/
MIDI FILTER TOOL: Block selected MIDI messages
Tap a pad to select it and cycle through blocking modes of the labeled message type.
NOTE: Bank Select messages are made by sending CC0 and CC32 together. Blocking Bank Select will block these CCs regardless of the CC blocking settings.
NOTE: Watch out for Channel Blocks. They override all message types except for Clock and Sysex.
Super! Your code is always so readable, well commented and well designed.
I had a similar idea a couple years ago and scripted a Monitor/Filter tool that logs selected MIDI type in the Logging window.
https://patchstorage.com/midi-monitor-and-filter-v1-0/
Great minds?
Yeah, I saw that one, but was in the mood for a bit of coding anyway, and had the idea rattling around in my head. That always makes it really difficult to sneak up on people.
It’s generally better to write your own version because you then know how to use it.
I only use a small handful of apps written by others. @_Ki has a “divisi” script that solves a big issue for me to split chords across several MID channels so I can import the resulting MIDI file into StaffPad. He also has an isolate the Bass note script. There’s a randomization script I enjoy and one that generates clusters of notes for falling star show effects.
I would like to be able to have a button which, each time pressed, would send out a random CC value between 0 and 127. Better yet if the range could be set. Would also be ideal if the cc number and channel could be set by the user. Is there any existing Mozaic script that does this, or maybe another AUv3 app that does this already?
This one sends 16 random CC values and you can set the range CCs and channel. It's more CCs than you need though. It has an added ability to store and recall snapshots of the CC values.
Come to think of it, it wouldn't be bad or difficult to add a disable option on each CC. I might do that.
https://patchstorage.com/midi-cc-randomizer-and-scenes/
Also a piece of cake to set up in Drambo. No coding needed.
@gavinski, It may work to change just one line of that script to limit it to one CC.
Near the bottom of the script, find
ccendknob = 21and change it toccendknob = 6.Great Wim, I’ll try that, thnx!