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.
Mozaic Script providing “Intervalic Chord Pad Pages” (YouTube demo and Patchstorage AUM project)
Hopefully this YouTube demo will encourage users to download the AUM Project or Mozaic script and give this a spin. There’s a description on the YouTube page.
Patchstorage links:
AUM Project download page includes pre-loaded Mozaic script:
https://patchstorage.com/intervalic-chord-pad-pages-v1/
Mozaic script download page:
https://patchstorage.com/intervalic-chord-pad-pages/
Comments
Noice @McD
And thank you
Thanks!
Thanks a lot. That‘s a nice performance script offering a new way to play complex chord progressions.
Definitely going to try this soon. Looks great!
I hope you try and suggest any changes you’d appreciate.
I hope you get something nice out of it for your workflow.
Thanks. It presented a series of problems to solve and usually when I keep adding features either I create more problems than solutions or I discover a Mozaic issue. At one point the script would just reports errors. I think I hit some resource limit in Moziac or having a single script edited hundreds of times created side effects. I had to roll back top a prior version and re-code the lost feature.
This Intervalic approach to a “midi controller” can help produce complicated “piano playing” by just pressing a single pad fast.
This idea came from the “SamChillian” midi controller which is used for scale but I thought it might be useful for chord playing.
A piano player would call the results “Planing” where a similar chord shape is moved either up or down a scale or in similar intervals.
The original Samchillian product demo.
I also made a SamChillian script for the Artiphon Orbas (1 and 2) and put it on patchstorage.
I think there’s a lot of app ideas that can result from watching composer videos:
I hope it resonates for you. I must admit I get totally lost… I hit a pad expecting a specific sound and get totally different chord.
To really predict the results I have to go really slow. The solution is to treat the interface like a memory game:
Hit two pads until you find a sequence you like…
Add a third and keep repeating and adding until you get a 4 or 8 bar sequence.
In the AUM project I included Atom2 so these sequences can be recorded and exported for use in other apps, sequencers or DAWs.
Interesting concept and sounds good... How are you playing the Venus theory presets?
It’s an amazing free version available in the “Decent Sampler” (free) app. Just hit the BROWSE button. There are a lot of free
Intruments on that internal store page. I’m tempted to check out the $28 commercial option too. All the apps in the AUM project and this demo are free except for Mozaic… the script of course is free on patchstorage.
Very cool McD, thanks, I'll give this one a try. I especially like how you've taken the SamChillian/Misha idea and extended it.
I don't know whether I've heard anyone taking about chord "rotators" here on abf. I wonder whether it might fit in with some of the themes in your script. Here's an explanation:
https://patchstorage.com/coltranius-chord-rotator/
[EDIT: Not suprised, I see there is already a chord rotator in Mozaic on Patchstorage: https://patchstorage.com/coltranius-rotator/ And it's written by the same guy I originally referenced. One more thing for me to check out. Here's youtube of the mozaic plugin working, he uses it with breath controller, but it should work almost as well keyboard and mod wheel for the breath/pressure control. And fine with no mod wheel at all, I expect:
]
Thank you for sharing this McD. Pointing this at arpeggiators like Aphelian or Rozeta and then into AudioLayer’s Virtual Playing Orchestra is turning a rough day into a better night.
Cool. That free Audiolayer “download” is a pretty reasonable soundfont for orchestra stuff. The SF2 orchestra files out there loaded into something like KQ Sampei is another good target.
But everyone should consider getting Decent Sampler and that free Venus Theory download. It really works great with the big wide-voiced chords. Check the YouTube video starting at 3:12. The only FX added is one copy of the free “Zero Reverb”. It’s pretty epic.
Holy crap. Really cool.
Hi McD,
Sounds good.
Might want to fork this over.
Btw the download counter is broken. It should be around 300 by now!
@McD Thanks for sharing great script. Can you use AUM keys to play the chords rather than the pads in Mozaic are the pads midi mappable ?
I wrote a script with that idea… it started in StreamByter and @_Ki asked if he could make it more solid and add a few features. I should post details since StreamByter is free.
I then started conning when Mozaic arrived (praise @Brambos) and put that chord generator on patchstorage. @Wim took the idea and made a killer note to chord called “The Chordulator”.
It would be interesting to me to map the pads to notes so Mozaic with the script could take input from other generators.
Please propose 16 notes you’d like to see added using the C4, D4 or C3, C#3 style labeling… hopefully adding the extra lines doesn’t break the script. I had a scary stage where perfectly valid (in my opinion) started generating pages of errors and an infinite loop warning… a Def-Con IOS condition.
2 ranges of 8 white keys makes the most sense. The mental work of jumping between major (upper) and (minor) pads might drive people crazy.
This might be the easiest to create a mental map:
C-4 to C-5 major
C-3 to B-3 minor and drop the 16th pad
I’ll test that. Any midi controller will work… AUM keyboard, LK, Fugue Machine, etc.
It might be an interesting exercise to hack MIDI learn for touching PADs virtually. I wonder what happens if you set LastPad and Call @OnPadDown. Worth checking out.
I’m currently brain deep in a step sequencer script with a Master Controller to operate 4 of the step sequencers. It has the 22 knob interface. Not sure anyone will care but the inter-script communication using CC’s is a cool idea. You turn the Transpose knob and all sequences move in parallel.
@McD - thank you for posting this very interesting script.
Eureka… setting “Lastpad” in code and Calling “OnPadDown” and “OnPadUp” works for converting incoming signals to PadEvents.
Playing with the AUM keyboard I decide to have the “Root Minor Reset” and “Root Major Reset” be C3 and C4 since the default Root is C. Any Black key is mapped to the lower natural key.
There seem to be some side effects that create hung notes in the synth so I need to test and figure out what’s wrong but if you want to play along: paste the above code segment into the script after any @End statement and press upload. I’m sure many will think… I’ll wait but it’s not rocket science or being the owner of Twitter to open a script and add more lines and upload. I’d paste the whole script but it’s too long. Hopefully the testing doesn’t take days to repair the behavior.
@McD Sweet thanks for looking into it.
@McD Oh, i didn‘t know that assignments to LastPad works. In my Mozaic Syntax-Highlighter i flagged this as error.
I’m going to test, which of the Mozaic build-ins really read the assigned value and will return them in a called function…
But did you really check that the original Mizaic name (ie in your case LastPad) still works ? Quite some time ago i noticed that using the variable name div or inc ‚overrules‘ the function names.
@Mcd Sorry to tell you, but i was right to worry.
How to reproduce:
The interpreter seems to first look through its list of variables for any token and only if the token is not found searches the list of buildin function names.
Try this approach:
Set a new LastPad status variable AND then Call “OnPadDown” or “OnPadUp”.
Of course, physically pressing a Pad will overwrite to the actual Pad pressed.
Calling OnPadDown doesn’t actually use Mozaic to determine the value of LastPad but just uses the value you
Set prior to the Call.
See the extra line of code I added.
Call @OnPadDown
FYI: I have uploaded versions of the Mozaic script and AUM Project that implement the MIDI Note inputs as optional “Pad” selectors.
Playing the the Pad Mapping tables I decided the minor 3rd and major 3rd intervals should select the best PAD’s logically.
I ended up creating three mapping tables for each of the SHIFT’ed optional layouts:
But i can offer you a work-around:
Simply rename you
@OnPadDown
and@OnPadUp
into user functions like@MyPadDown
and@MyPadUp
. In these functions no longer use the functionLastPad
but a variable likepLastPad
. Since they no longer depend on the buildin, They can be called from within other functions.Here a simple example:
This allows to call your pad functionality from the OnMidiNoteOn / OnMidiNote up by setting the pLastPad parameter before calling.
And the Pad functionality still works in paralell.
.
With your approach, the Pads no longer work as soon as a note command arrives that assigns to LastPad.
@McD
Yes, i understood what you want to do - and it even works for incoming midi notes translated into pad presses - but
as soon as the variable is created, LastPad will allways return the last value set to the variable. The buildin function LastPad is no longer called. And therefore real pad presses (on any of the pads) play the interval that was set via the last midi note. The pad-interaction no longer works.
.
That‘s what my demo was showcasing with the shift press.
You can also see it with you added
Call @MyPadDown
in the OnShiftDown. Yes it logs pad 15 - but also does so afterwards when pressing any of pad 0 to 3. Pad interaction is killedI see what you are saying. If you use a MIDI controller as input then the behavior of the Pads is disabled. I’ll pass variables into the the OnPad code sections that re-set the LastPad value conditionally so the Pads still work. I NEED TO PROTECT “LastPad” and only set it inside the OnPad* code blocks if some “MIDI_Input” variable is True.
As currently coded only one input method will work and any incoming Note events will disable the Pads.
Here a full example showcasing the above work-around on how pad-interaction still work after midi-interactions:
Pads and Midi-Notes work in parallel - so there is the possibility of manually pressing pad 1 and also sending note-on 1 both interactions calling OnMyPadDown with pLastPad=1. This will produce double note-ons / offs for the generated chords.
But additional code in MyPadDown/Up and an additional parameter specifying if called from pad or midi interaction would allow to ‚lock‘ each of the 16 interactions, so that it can only be activated once and will only be deactivated by the same interaction type. That enhancement only requires 11 code lines in total (just tried).
Thanks. I created a Version 3 that implements a similar scheme to avoid overwriting LastPad. Now both Pad events and MIDI incoming Note events activate the same code without side effects.
Version 3 of the Mozaic script and AUM project patches are downloaded at PatchStorage.
👍🏼
Thanks for pointing out my oversight in my design… your interest in my projects always seems to be a benefit for me.
I also appreciate your encouragement for my efforts.
Welll… the script is so large I did a “Select All” and dropped it into a Vim editor in the A-Shell app.
My fix was to change everything occurrence of LastPad to be the local variable “ThisPad”. But for 2 instances
I had typed “Lastpad” (note the lowercase “P”) so it created a bug where Major and Minor pad detection failed.
So, there’s a version 4 on Ptachstorage of the script and the AUM project… users of other DAW’s would have the extra work of making the Mozaic plumbing work in their DAW of choice. I’ll bet I could send a whole day trying to make it work in Drambo and it might not work at all in some DAW’s with bad MIDI FX implementations.
I hope your day job isn't in sales. 😂😇