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 Store

Loopy Pro is your all-in-one musical toolkit. Try it for free today.

Request new Mozaic Scripts *HERE*

1151618202169

Comments

  • No problem. Only took a couple minutes to do. 👍🏼

  • wimwim
    edited June 2020

    I should mention that the above script will leave stuck notes if you change the cc value while notes are still held down.

  • @lukesleepwalker said:
    @wim do you know if the inverse to your CC trigger to notes script exists? That is, once a note velocity hits a certain threshold it delivers a CC?

    I don't see anything like that based on a scan of: https://wiki.audiob.us/doku.php?id=mozaic_scripts_list&s[]=mozaic

  • wimwim
    edited June 2020

    Hey @hypnopad , a pre-release version is available here: https://www.dropbox.com/s/e626wjlpt0by919/Hypno Sequence v0.9.mozaic

    Give it a shot when you get a chance and let me know if anything needs to change. When it seems reasonably OK, I'll upload it to patchstorage.com


    HYPNO SEQUENCE - Custom Round-Robin note sequencer
    Script idea by Audiobus forum member @Hypnopad. 👏😎👍🏼

    Set a sequence length, then tap a pad and set note, gate, and velocity for each step. The sequence will step through each note each time a midi note is received. Only the first four controls are shown on the pads page. To get to the others press SHIFT. See the @UserTweaks section at the top of the script to change which controls are displayed on the pads page.

    ▫️ The pad selected for editing is indicated with a pen icon. Turn the Note, Velocity, and Gate knobs to set the step. Tap other pads to edit them.
    ▫️ Set velocity to zero to place a rest in the sequence. Turn all the way right to use the incoming note velocity instead.
    ▫️ Set the length of the sequence using the Steps knob.
    ▫️ The output channel can be set to "Keep Chan." to pass through whatever channel notes are received on, or to a specific channel.
    ▫️ With Thru off, midi through the plugin is blocked. Otherwise cc's (not notes) are passed through.

    ▫️ MANUALLY RESETING the SEQUENCE: Long-press any pad, or double-tap the Reset knob, or turn it to anywhere between 9 o'clock to 12 o'clock
    ▫️ TIMED RESET: Turning the Reset knob past 12 o'clock changes it to an inactivity timer. If no new notes are received within the time set, the sequence will reset.
    ▫️ AU PARAMETER CONTROL: 0-32 = OFF, 33-64 = MANUAL RESET, > 64 sets seconds for timer.

  • @wim I’m just blown away. That looks incredible- can’t wait to try it out. It’s like Christmas in June! Thank you SO much🙏🏻🙏🏻🙏🏻

  • Don't thank me 'till you see if it works. :D

  • edited June 2020

    @wim I’ve got to say you’ve pretty much nailed it and then some. The pen/timer/snooze icons are icing on the cake.
    I do have three suggestions:
    1. Since I’m using sticks while performing I’d like to access the reset button with a note on value from my pads. Luckily AUM lets me midi map multiple parameters with one note so I could reset multiple instances with the tap of one pad instead of messing with the iPad screen mid performance.
    2. Could we make the green indicator pad into the pad you just hit NOT the pad you’re going to hit next? It kind of confused me visually.
    3. This next one could be filed under future development if it’s a hassle to do easily.
    In my video you can see I hit a (silent) pad to change the sequence as I’m playing. In Ableton this changes layers and is a good way of switching song parts on the fly. I had thought of using multiple instances of Mozaic and somehow figuring out a way in AUM to bypass/un-bypass these instances to achieve this. I was just thinking of a way to do that in a single instance. Could there be four independent sequencer pages that could be switched to by another page consisting of four pads (each midi mappable)? Basically a 4 x16 step sequencer but only the one chosen is activated.
    I again want to thank you- I feel I can turn a major corner in my quest with this device.
    PS- love the name😉

  • @wim said:

    @mojozart said:

    @wim said:

    @mojozart said:
    Are there any barriers preventing the MPE conversion layer from being coded as a Mozaic plugin?

    I don't have time right now to look into what you posted, but you might want to take a look at MPE Multiplexer to see if it offers anything useful. It was an attempt to adapt MPE messages to non-MPE synths.

    Thanks. Sounds plausible, as I'm looking for a Demultiplex. In terms of technical hurdles, I wonder how to process the raw touches from Sensel Morph. Maybe they can be received as MIDI CC or sysex.

    You can customize any control on any Morph map to send any message you want (except sysex). The Morph doesn't have to send MPE either.

    That's a far more straightforward way to do it than trying to force MPE into mono cc streams.

    Thanks for the clarification. It motivated me to dig deeper. Big AHA moment watching this demo:

    The whole surface can already be configured as one big MPE XYZ pad. The channel mapping and transposition he's doing in Bitwig could be done in apeMatrix or AUM, and the arpeggiation would be straightforward in Mozaic.

  • wimwim
    edited June 2020

    @hypnopad said:
    @wim I’ve got to say you’ve pretty much nailed it and then some. The pen/timer/snooze icons are icing on the cake.
    I do have three suggestions:
    1. Since I’m using sticks while performing I’d like to access the reset button with a note on value from my pads. Luckily AUM lets me midi map multiple parameters with one note so I could reset multiple instances with the tap of one pad instead of messing with the iPad screen mid performance.

    Sure, that's easy enough. I'll add a knob to select the note to use, then have it be the same as doing a manual reset.

    1. Could we make the green indicator pad into the pad you just hit NOT the pad you’re going to hit next? It kind of confused me visually.

    I thought about that, but what do you do when you haven't hit any pads? Just have none highlighted?

    1. This next one could be filed under future development if it’s a hassle to do easily.
      In my video you can see I hit a (silent) pad to change the sequence as I’m playing. In Ableton this changes layers and is a good way of switching song parts on the fly. I had thought of using multiple instances of Mozaic and somehow figuring out a way in AUM to bypass/un-bypass these instances to achieve this. I was just thinking of a way to do that in a single instance. Could there be four independent sequencer pages that could be switched to by another page consisting of four pads (each midi mappable)? Basically a 4 x16 step sequencer but only the one chosen is activated.

    I thought about having the ability to save and recall 16 different sequences. It does add a significant load of coding and interface design but could be done.

    Maybe check out AUM's preset recall function. You can save user presets in Mozaic, then midi map to recall them. I think this could probably work just as effectively. But, I'll keep the pattern save/recall idea in mind.

    I again want to thank you- I feel I can turn a major corner in my quest with this device.
    PS- love the name😉

    Happy to do it. Scripting is fun, and works well as a procrastination technique for the other things I really should be doing but don't want to. ;)
    The video was what got me on board, honestly, though.

  • edited June 2020

    I thought about that, but what do you do when you haven't hit any pads? Just have none highlighted?

    None highlighted before any are triggered would work for me.

    Maybe check out AUM's preset recall function. You can save user presets in Mozaic, then midi map to recall them. I think this could probably work just as effectively. But, I'll keep the pattern save/recall idea in mind.

    That may be a good way to go. I didn’t know about that feature. Still learning all the cool things in AUM.

    Happy to do it. Scripting is fun, and works well as a procrastination technique for the other things I really should be doing but don't want to. ;)
    The video was what got me on board, honestly, though.

    One man’s procrastination is another’s gold.😉
    I knew there was a good reason to post videos.

    PS -I guess my copy and paste verses quote selection doesn’t look great. Too hard to correct now.

  • wimwim
    edited June 2020

    Hey @hypnopad , I just uploaded an optimistically named v1.0 for you to try out: https://www.dropbox.com/s/u09ageljps9wfye/Hypno Sequence v1.0.mozaic?dl=0

    I added a knob to select a note to act as a reset trigger. I also made it so that unplayed steps are blue and played notes are green (colors are settable in the @UserTweaks section of the script). Hopefully that'll clear up the confusion while still indicating where you are in the sequence.

    I'll give some thought to saving and recalling sequences but don't know if I'll add that just now. Maybe see if AUM's plugin preset loading midi-learn would work for you. It almost seems like that could be a better option, but maybe not.

  • @wim Indicator light and midi triggered reset button work great now. Preset triggering not so much. Saved two different presets of Mozaic in AUM (only option) and go to midi controls. Set note triggers to presets but instead of changing presets the note triggers light up the first pad only. So Mozaic is obviously receiving midi info and not triggering the round robin sequence as usual but not changing presets either. Maybe I’m not configuring AUM right but everything looks correct in the matrix. I’ll try again tomorrow when Im not so tired.

  • @hypnopad said:
    @wim Indicator light and midi triggered reset button work great now. Preset triggering not so much. Saved two different presets of Mozaic in AUM (only option) and go to midi controls. Set note triggers to presets but instead of changing presets the note triggers light up the first pad only. So Mozaic is obviously receiving midi info and not triggering the round robin sequence as usual but not changing presets either. Maybe I’m not configuring AUM right but everything looks correct in the matrix. I’ll try again tomorrow when Im not so tired.

    You might have to limit the note range in Mozaic's Midi Input settings to exclude the note range that you're using for AUM preset switching:

    I'm having problems just saving and loading presets, even without midi mapping. So time to call it a night here too.

  • @wim I really like the script - very user-friendly and easy to grasp without extra instructions. Using the 🖋as edit marker is a nice idea. The source is well structured and contains useful comments, well done !
    And i love the UserTweaks section right at the top, super easy to adapt even for non-scripters - including the ‚magic’ with assigning colornames :)

    The ‚Call @ Init‘ isn‘t really necessary in the @ UserTweaks. You can either call that in the @ OnLoadright after the ‘Call @ userTweaks’ - or even cleaner, remove the @ End of the @ OnLoad and the @Init declaration to just continue the initialization after calling @ UserTweaks. Nothing important, but removes the warning from the @ UserTweaks

  • Thanks @_ki , good catch on the @init, etc. I just sort of threw that in there by quick memory of some other scripts I've done as I noodled around with the idea of different ways for beginner users to customize behaviors. That'll be a good evolution of the idea.

    Thanks for the encouragement about the code. I was a bit lazy about structure and especially comments other than in the user tweaks section. I wasn't sure how much revision might be needed, which usually dictates how much time I spend on optimization.

    @hypnopad , after thinking about it some more, I think I will put in a way to save and recall sequences. I think I can pull off saving 16 sequences by adding two more knobs and without too much code overhaul. It could be at least a few days before that's ready though.

  • McDMcD
    edited June 2020

    Beautiful script, @wim! Lot's of techniques to study in there.

    I dropped and coupe instances of the scripts into Mozaic in AUM and just
    used Riffer for the drumming inputs with a Probability Gate script and
    a couple Rozeta Scalars to tweak transposing the notes.

    This will be a very useful tool after I set up the Kat Pads again.

    It would be nice if the script saved the current sequence on saves (AUM or Mozaic). I would save multiple version of Hyno Sequence 1, 2, 3... etc for multiple sequence AUM projects.

  • wimwim
    edited June 2020

    @McD said:
    It would be nice if the script saved the current sequence on saves (AUM or Mozaic).

    humm ... it should. That is a bug.

    I'll fix it in the new version on the way probably tomorrow.

    [edit] missed a line of code. I forgot to add init = YES below if Unassigned init

      if Unassigned init
        init = YES
        ...
    

    Thanks for catching that. It also explains why I thought I was having problems saving presets in AUM. I updated the file on dropbox to include that line.

    Tomorrow's update will add the ability to save and recall 16 pattern presets on the fly. I'll hold off on posting to patch storage until I'm more confident that it's finalized.

  • Just a lovely script, @wim. Just amazing what y'all are able to accomplish in Mozaic.

  • @wim said:
    I'll fix it in the new version on the way probably tomorrow.

    Thanks.

    Tomorrow's update will add the ability to save and recall 16 pattern presets on the fly. I'll hold off on posting to patch storage until I'm more confident that it's finalized.

    That will be a very handy enhancement.

  • wimwim
    edited June 2020

    Hey @hypnopad , I'm happy to say that storing and recalling 16 sequence presets per instance turned out not to be too hard to do. @McD also caught a bug that may have been tripping us both up when experimenting with AUM preset loading.

    Right now, sequence save/recall involves using two knobs, one to select the sequence, and one to recall or save it. I kind of expect that you're going to prefer this to be selectable by midi note input. That complicates things just a little because I then need to provide a setting to exclude some more notes from triggering sequences, like I needed to do with the reset note.

    It would involve excluding a range of 18 notes (16 for selecting presets, 1 to store, and 1 to recall). Recalling a preset would involve sending two notes, one to select the preset, and another to store or recall it.

    So ... before I do that, is selecting preset by played note something that you're going to need?

    BTW, if you don't have anything with continuous controllers such as knobs or faders in your setup, I would think that would be a vital addition. Control just by notes is pretty limiting.

  • edited June 2020

    @wim Triggering by note is crucial to how I play. The thought of precisely twisting a knob or moving a fader while drumming with sticks is something I’d rather not do.
    The problem we’re dealing with of note exclusion is perplexing. In Ableton they made it so notes used for commands automatically were blocked from playing instruments. That’s probably not that easy to implement. Maybe put control notes (reset/ sequence select/etc) on a separate midi channel? Or an in-line note to cc conversion to choose a position on the knob before the 18 notes get to the sequencer? Maybe have them fixed to very low notes and block them from getting to the sequencer?
    I’m a little confused about sequence save/recall/select. Wouldn’t the sequences be saved when you save the Mozaic patch? Is recall just for viewing the sequence in order to edit it and not making it available for triggering also? Or is that recall? I guess I need further info to help decide on this feature.
    I don’t have a problem using a dial while editing things(save/select(?)) but really need note triggers for reset and recall(?).

  • wimwim
    edited June 2020

    @hypnopad said:
    @wim Triggering by note is crucial to how I play. The thought of precisely twisting a knob or moving a fader while drumming with sticks is something I’d rather not do.

    That's not what I'm talking about. Nothing will restrict the ability to trigger by note. What I'm talking about is selecting between 16 different presets, then recalling them or saving them. If you have 16 presets and you can only select them by note then you have to dedicate 16 notes to that task. Then you need one to tell the script to save a preset and one to recall it.

    The problem we’re dealing with of note exclusion is perplexing. In Ableton they made it so notes used for commands automatically were blocked from playing instruments. That’s probably not that easy to implement.

    Probably the difference is when you send midi notes to an Ableton control, it's not passed through to the plugin. AUM passes notes through. It doesn't pass cc's through, which is inconsistent, but that's how it works.

    Maybe put control notes (reset/ sequence select/etc) on a separate midi channel? Or an in-line note to cc conversion to choose a position on the knob before the 18 notes get to the sequencer? Maybe have them fixed to very low notes and block them from getting to the sequencer?

    Ahh good. If I can use separate channels for control and for advancing the sequencer, that makes things much easier. I would rather do it that way if that'll work for you.

    I’m a little confused about sequence save/recall/select. Wouldn’t the sequences be saved when you save the Mozaic patch? Is recall just for viewing the sequence in order to edit it and not making it available for triggering also? Or is that recall? I guess I need further info to help decide on this feature.

    A sequence is a combination of the note, velocity, and gate for each pad, plus the related settings such as number of steps and reset timer. In the current version there's only one sequence per instance. You either have to have multiple instances, or save and recall different presets in each instance to be able to recall multiple patterns. You were having problems getting AUM to cooperate (though this could have been due to a script bug).

    So, I made it so that each instance can store and recall 16 sequences. The process is:

    • Set up the sequence, notes, velocity, gate, number of steps, etc.
    • Select the number 1-16 of the "sequence preset" that you want to save to.
    • Save. The current sequence is saved to that "sequence preset"

    Once you have sequences saved, then to recall that sequence the process is:

    • Select the number 1-16 of the sequence slot that you want to recall.
    • Recall. The current sequence is replaced by the sequence you recalled.

    When you save the Mozaic patch, rather than just the current sequence being saved, the current sequence plus any "sequence presets" you've saved will be saved as well.

    I don’t have a problem using a dial while editing things(save/select(?)) but really need note triggers for reset and recall(?).

    OK, I figured that. Please let me know if having a separate control channel will work, or if I need to allocate a range of notes for control.

  • Humm ... maybe a better workflow is to have the process of saving a preset be done from the UI, and recalling it be a one-shot note corresponding to the preset number.

    Saving:

    • Set up the sequence.
    • Select a "sequence preset" number using the UI
    • Select Save

    Recalling:

    • Send a note on the control channel that instantly selects the preset and loads it.

    Sound better?

  • _ki_ki
    edited June 2020

    @Wim Maybe you could implement in a way that there just are 16 presets (and not an additional thats playing and editable). I mean select preset 4, and it playas and can be edited (and stays that way. No need to save). Now select preset 7, it can be played and edited. No need for recall or save. The are just activated.

    In several of my scripts, i simply store the presets in higher/offset positions the arrays and all access to these incorporate the ‚preset‘ times an offset. In that way, simply changing the ‚preset‘ variable makes the script access the other presets. Edit also uses this offset method and always edits the current preset, as does the pad/knob/label display.

    In that way, only the 16 trigger notes are needed for changing presets.

    PS: I didn‘t re-check your script on how you have organized the data handling, so maybe there is a reason why you choose to have separate storage for the presets and copy it to/from the edit/current as i understood your save/recall/select idea.

  • wimwim
    edited June 2020

    I think I'd rather keep preset saving intentional. I don't think I like the idea of live modification of the current preset. One might want to have an existing sequence and make only temporary changes to it (such as changing the number of steps), but not have that saved.

    Also, I think it needs to be possible to change to a different preset position without recalling it. You might want to overwrite a different preset without wiping out the sequence that you just set up. So for instance you call up preset 1, modify it, then save the modified sequence to preset 2, while keeping preset 1 untouched.

  • BTW: If you send over the 'pre-final' version (maybe again via dropbox), i can easiliy incorporate the 3 callback functions needed for the 'Migration Manager Include'. I'll then send back a new version that can import its complete settings from instances running the older script versions. I just need to add an 'import' knob (probably on the second edit screen, maybe as the last knob), nothing else of the logic or structure will change, the include lands at the end of your code.

    The migration feature is very helpful during development (you can restore what you already had setup in another instance), so no need to play in a new demo sequence or turn knobs to set up the triggers again and again for every 'UPLOAD' after just changing some indentations or typos :)

    And for the end-users its possible to update to a script with new/enhanced features or bug-fixes, without loosing their previous work.

  • @wim said:
    Humm ... maybe a better workflow is to have the process of saving a preset be done from the UI, and recalling it be a one-shot note corresponding to the preset number.

    Saving:

    • Set up the sequence.
    • Select a "sequence preset" number using the UI
    • Select Save

    Recalling:

    • Send a note on the control channel that instantly selects the preset and loads it.

    Sound better?

    I like that.
    Found that my controller (Roland Handsonic) I’ve been using can’t assign separate channels to pads so I’ll switch back to my Quneo. I’ll just assign the top row of 4 to the control channel.

    Sorry I guess I misunderstood you when you brought up the continuous controller hardware option. I thought you were implying I should add it to my live rig. I now take it you meant as a better way to edit the interface in the studio(?)

  • wimwim
    edited June 2020

    @_ki said:
    BTW: If you send over the 'pre-final' version (maybe again via dropbox), i can easiliy incorporate the 3 callback functions needed for the 'Migration Manager Include'. I'll then send back a new version that can import its complete settings from instances running the older script versions. I just need to add an 'import' knob (probably on the second edit screen, maybe as the last knob), nothing else of the logic or structure will change, the include lands at the end of your code.

    The migration feature is very helpful during development (you can restore what you already had setup in another instance), so no need to play in a new demo sequence or turn knobs to set up the triggers again and again for every 'UPLOAD' after just changing some indentations or typos :)

    And for the end-users its possible to update to a script with new/enhanced features or bug-fixes, without loosing their previous work.

    Thanks - I might take you up on that, though I don't plan on doing any revisions once it's out, and hope to only go through one or two iterations more until it's finalized.

    I'm sure you're a lot more thorough about testing than I am. :D

  • wimwim
    edited June 2020

    Hey @hypnopad , I think I have this just about sewed up. I'm going to set it aside until tomorrow when I'm in a fresh frame of mind to do testing.

  • 👍🏻

Sign In or Register to comment.