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.

Method to manually step playback in AUM?

Is there a method to manually step through beats in AUM via a control? I've used the AUM transport controls before to play/stop and jump between bars, but I would like to trigger one beat at a time manually.

«1

Comments

  • @EdZAB said:
    Is there a method to manually step through beats in AUM via a control? I've used the AUM transport controls before to play/stop and jump between bars, but I would like to trigger one beat at a time manually.

    You could write a mozaic script that sends a midi message 1 beat after the host starts and map that to the transport stop.

  • @espiegel123 said:

    @EdZAB said:
    Is there a method to manually step through beats in AUM via a control? I've used the AUM transport controls before to play/stop and jump between bars, but I would like to trigger one beat at a time manually.

    You could write a mozaic script that sends a midi message 1 beat after the host starts and map that to the transport stop.

    Perfect. Thank you.

  • McDMcD
    edited February 18

    @espiegel123 said:

    @EdZAB said:
    Is there a method to manually step through beats in AUM via a control? I've used the AUM transport controls before to play/stop and jump between bars, but I would like to trigger one beat at a time manually.

    You could write a mozaic script that sends a midi message 1 beat after the host starts and map that to the transport stop.

    Do you think the reaction time of AUM is quick enough to make this effective? Can’t be too hard to test it. I’ve asked ChatGPT to create Mozaic and StreamByter code and it does but it hasn’t actually produced working code.

    AUM exposes the start/stop parameter and that might be a simple step to trigger it from a MIDI note, CC or Program Change.

    Oops… Start and Stop are distinct parameters so a script to time the spacing is required or the operator can time it. I didn’t test to a sequencer app yet.

  • @McD said:

    @espiegel123 said:

    @EdZAB said:
    Is there a method to manually step through beats in AUM via a control? I've used the AUM transport controls before to play/stop and jump between bars, but I would like to trigger one beat at a time manually.

    You could write a mozaic script that sends a midi message 1 beat after the host starts and map that to the transport stop.

    Do you think the reaction time of AUM is quick enough to make this effective? Can’t be too hard to test it. I’ve asked ChatGPT to create Mozaic and StreamByter code and it does but it hasn’t actually produced working code.

    AUM exposes the start/stop parameter and that might be a simple step to trigger it from a MIDI note, CC or Program Change.

    Oops… Start and Stop are distinct parameters so a script to time the spacing is required or the operator can time it. I didn’t test to a sequencer app yet.

    StreamByter doesn’t have the host time callbacks/notification that mozaic does. The mozaic could would only need to be a few lines long.

  • What would be sending transport commands to AUM?

  • @espiegel123 said:

    @McD said:

    @espiegel123 said:

    @EdZAB said:
    Is there a method to manually step through beats in AUM via a control? I've used the AUM transport controls before to play/stop and jump between bars, but I would like to trigger one beat at a time manually.

    You could write a mozaic script that sends a midi message 1 beat after the host starts and map that to the transport stop.

    Do you think the reaction time of AUM is quick enough to make this effective? Can’t be too hard to test it. I’ve asked ChatGPT to create Mozaic and StreamByter code and it does but it hasn’t actually produced working code.

    AUM exposes the start/stop parameter and that might be a simple step to trigger it from a MIDI note, CC or Program Change.

    Oops… Start and Stop are distinct parameters so a script to time the spacing is required or the operator can time it. I didn’t test to a sequencer app yet.

    StreamByter doesn’t have the host time callbacks/notification that mozaic does. The mozaic could would only need to be a few lines long.

    Actually, StreamByter receives an internal SysEx message equivalent to @OnHostStart and @OnHostStop in Mozaic. So it can handle those events in the same way.

  • _ki_ki
    edited February 18

    Hmm, single beat or bar step (and then stop) could be a new feature for my AUM Transport control Mozaic script…

    I already solved the biggest problem for such a feature request - how the pad label would look like :)

    The other play variants are labeled „▷ START“ to start from beginning or „▷ 015“ to start at a bar 15 - so the step feature could use „▷ BEAT“ or „▷ BAR“.

    BTW skipping with forward/backward AUM with control midi transport commands only works bar wise. but after a stop at exactly 1 beat a play continues from the play position. Hopefully i find a way to stop it ‚just’ before the next beat would be issued. The script was implemented with ppqn =4, which means 1/16, which was good best for the experimental looping feature (rewinding costs time, so in 1/16 one could easily step back 4 bars so the loops sounded kind of round).
    For play/stop i sill probabbly change to 1/64 or 1/128 (and still do the loop-rewind at 1/16 before the loop end bar)

  • @Wrlds2ndBstGeoshredr said:
    What would be sending transport commands to AUM?

    Mozaic

  • @uncledave said:

    @espiegel123 said:

    @McD said:

    @espiegel123 said:

    @EdZAB said:
    Is there a method to manually step through beats in AUM via a control? I've used the AUM transport controls before to play/stop and jump between bars, but I would like to trigger one beat at a time manually.

    You could write a mozaic script that sends a midi message 1 beat after the host starts and map that to the transport stop.

    Do you think the reaction time of AUM is quick enough to make this effective? Can’t be too hard to test it. I’ve asked ChatGPT to create Mozaic and StreamByter code and it does but it hasn’t actually produced working code.

    AUM exposes the start/stop parameter and that might be a simple step to trigger it from a MIDI note, CC or Program Change.

    Oops… Start and Stop are distinct parameters so a script to time the spacing is required or the operator can time it. I didn’t test to a sequencer app yet.

    StreamByter doesn’t have the host time callbacks/notification that mozaic does. The mozaic could would only need to be a few lines long.

    Actually, StreamByter receives an internal SysEx message equivalent to @OnHostStart and @OnHostStop in Mozaic. So it can handle those events in the same way.

    In Streambyter, you have to do heavy-lifting to accurately calculate a beat and respond to it.

    Mozaic has that all built-in. It is a trivial task in Mozaic and in Streambyter not so much.

  • @_ki said:
    I already solved the biggest problem for such a feature request - how the pad label would look like :)

    😂 Not everyone would get that one, but I sure did. 😂

  • @EdZAB - are you really needing to control AUM altogether, or just some individual sequences? If just some sequences, there are other options that don't involve resorting to AUM's transport.

  • @espiegel123 said:

    @Wrlds2ndBstGeoshredr said:
    What would be sending transport commands to AUM?

    Mozaic

    It would have to be hosted outside AUM though, right?

  • edited February 18

    @wim said:
    @EdZAB - are you really needing to control AUM altogether, or just some individual sequences? If just some sequences, there are other options that don't involve resorting to AUM's transport.

    Excellent question. I'm trying to record a drum sequence from DigiStix 2 into OODA and was trying to use AUM to do it, but because OODA does not record an empty step as a cell with a rest, just hitting record in OODA to arm it and then play on the AUM transport jams all the MIDI notes together, and I was hoping to do some sort of step recording to insert rests for the steps where there were no notes playing. After looking more closely at it, I've realized that event stepping by beat is not sufficient - it would have to be by 1/16 note, and that won't be possible. Basically I want to find a way to play steps 1-16 of a drum sequence, triggering one at a time into OODA.

  • @Wrlds2ndBstGeoshredr said:

    @espiegel123 said:

    @Wrlds2ndBstGeoshredr said:
    What would be sending transport commands to AUM?

    Mozaic

    It would have to be hosted outside AUM though, right?

    No. You can route midi from inside aum to its midi control

  • @espiegel123 said:

    @Wrlds2ndBstGeoshredr said:

    @espiegel123 said:

    @Wrlds2ndBstGeoshredr said:
    What would be sending transport commands to AUM?

    Mozaic

    It would have to be hosted outside AUM though, right?

    No. You can route midi from inside aum to its midi control

    I will post a video in a sec using Loopy Pro.

  • McDMcD
    edited February 19

    @Wrlds2ndBstGeoshredr said:
    What would be sending transport commands to AUM?

    Here are step by step instructions:

    1. Pick a method for sending MIDI controls like the AUM internal keyboard and configure it to send MIDI into “MIDI Control”:

    1. Select MIDi Control from the AUM MENU:

    1. Touch Parameters under TRANSPORT:

    1. Configure suitable MIDI events for “Start” and “Stop”. I selected MIDI Channel 1 - Note 60 and 59. NOTE: This step can use MIDI Learn which is really helpful when using external controllers with PADs, knobs, etc. where you might not know what the device sends… on my external Keyboard knobs are CC 20-27 values for example. MIDI learn will just set the value for you to see.

    1. Open the AUM Keyboard and touch C(60) and B(59) to Start and Stop the AUM Transport.

  • @EdZAB said:

    @wim said:
    @EdZAB - are you really needing to control AUM altogether, or just some individual sequences? If just some sequences, there are other options that don't involve resorting to AUM's transport.

    Excellent question. I'm trying to record a drum sequence from DigiStix 2 into OODA and was trying to use AUM to do it, but because OODA does not record an empty step as a cell with a rest, just hitting record in OODA to arm it and then play on the AUM transport jams all the MIDI notes together, and I was hoping to do some sort of step recording to insert rests for the steps where there were no notes playing. After looking more closely at it, I've realized that event stepping by beat is not sufficient - it would have to be by 1/16 note, and that won't be possible. Basically I want to find a way to play steps 1-16 of a drum sequence, triggering one at a time into OODA.

    Oh, sorry then, I don't know anything about OODA, so can't be of any help.

    midiSteps, midiDreams / midiDrums, miRack, and Drambo sequencers can all be advanced step by step independent of clock if that's any help. Maybe one of them could replace Digistix as the sequencer, while still using Digistix sounds.

  • @EdZAB said:

    @wim said:
    @EdZAB - are you really needing to control AUM altogether, or just some individual sequences? If just some sequences, there are other options that don't involve resorting to AUM's transport.

    Excellent question. I'm trying to record a drum sequence from DigiStix 2 into OODA and was trying to use AUM to do it, but because OODA does not record an empty step as a cell with a rest, just hitting record in OODA to arm it and then play on the AUM transport jams all the MIDI notes together, and I was hoping to do some sort of step recording to insert rests for the steps where there were no notes playing. After looking more closely at it, I've realized that event stepping by beat is not sufficient - it would have to be by 1/16 note, and that won't be possible. Basically I want to find a way to play steps 1-16 of a drum sequence, triggering one at a time into OODA.

    If you start/stop the AUM Transport it will inch along in increments. Put the BPM at a low speed and you might be able to select 16th notes at a time. I just tried inching along using Atom 2 as the drum machine input and I could pulse out notes at will and see the “tape” head in the Atom 2 window. I’m toggling Notes 60-59 quickly on the AUM keyboard to control. I suspect just toggling start/stop in AUM would achieve the same results anyway.

  • If Mozaic is loaded in AUM and controlling AUM's transport, what is counting the beats and advancing the AUM clock? I would have thought Mozaic used the AUM clock to count beats and advance itself.

  • @Wrlds2ndBstGeoshredr said:
    If Mozaic is loaded in AUM and controlling AUM's transport, what is counting the beats and advancing the AUM clock? I would have thought Mozaic used the AUM clock to count beats and advance itself.

    Yes. So, it sends a cc to aum to start the transport. On the beat after the transport stops mozaic sends a cc to stop the transport. Essentially the same as what I showed in the video where loopy pro controlled the transport.

  • _ki_ki
    edited February 19

    @EdZAB said:
    …. After looking more closely at it, I've realized that event stepping by beat is not sufficient - it would have to be by 1/16 note, and that won't be possible. Basically I want to find a way to play steps 1-16 of a drum sequence, triggering one at a time into OODA.

    Oh. So adding a play beat/bar feature to the AUM Transport Control script wouldn‘t help, dang there goes the single use-case.

  • @_ki said:

    @EdZAB said:
    …. After looking more closely at it, I've realized that event stepping by beat is not sufficient - it would have to be by 1/16 note, and that won't be possible. Basically I want to find a way to play steps 1-16 of a drum sequence, triggering one at a time into OODA.

    Oh. So adding a play beat/bar feature to the AUM Transport Control script wouldn‘t help, dang there goes the single use-case.

    One could use onmetropulse with setmetroppqn 4, no?

  • wimwim
    edited February 19

    @Wrlds2ndBstGeoshredr said:
    If Mozaic is loaded in AUM and controlling AUM's transport, what is counting the beats and advancing the AUM clock? I would have thought Mozaic used the AUM clock to count beats and advance itself.

    Mozaic has several applicable event types that can trigger code blocks:

    @OnHostStart
    @OnHostStop
    @OnNewBeat
    @OnNewBar
    @OnMidiInput       // detecting midi clock, clock start stop, etc.
    @OnMetroPulse      // can set any division of the host clock
    

    It also has variables that could be used, but as you mention, host start and stops would have to be taken into account as far as counters go. But with the above events even that could be handled.

    HostBar
    HostBeat
    HostRunning
    HostTempo
    HostBeatsPerMeasure
    
  • just tested, this advances AUM's transport by 1/16th note per press. don't know if OP's AU will respond right but AUM does.

    @OnLoad
      SetMetroPPQN 4
    @End
    
    
    @OnPadDown
      SendMIDICC 0, 127, 127
    @End
    
    @OnMetroPulse
      SendMIDICC 0, 127, 0
    @End 
    

    map cc 127 to AUM's Toggle Play command.

  • Ah, I missed that we were advancing the clock by hand. I was thinking it would be sequenced, which I presume would require an externally clocked instance of Mozaic.

    Could you host Mozaic in Nodes, and use a Nodes sequencer to turn the AUM transport on and off? That might be one way to bring audio files in and out during a Nodes jam.

  • wimwim
    edited February 19

    @Wrlds2ndBstGeoshredr said:
    Ah, I missed that we were advancing the clock by hand. I was thinking it would be sequenced, which I presume would require an externally clocked instance of Mozaic.

    Could you host Mozaic in Nodes, and use a Nodes sequencer to turn the AUM transport on and off? That might be one way to bring audio files in and out during a Nodes jam.

    I don't understand that question. I think you're asking about an AUM session with Nodes as a midi processor and audio files in AUM file player nodes? Or?

  • @espiegel123
    I now also made some experiments, but mapped two CCs, one to Start Play and the other to Stop/Rewind and drove hammerhead with 16th closed hats, beat kick and some other stuff going on.

    When stepping with ppqn 4, Hammerhead sometimes played 2 steps (and the second one with cutoff sounds right after its initial transient) and then the next press was silent - so i changed to use ppqn 8 and stopped ever odd 1/32th.

    I also tried with even shorter timesteps, like ppqn 32 (ie 1/64, 1/128) and found out that stopping ‚nearer’ to the next 1/16th proved too short for the latency at which midi control stuff happens on my ipad. AUM regulary overstepped to the next 1/16th.

    I also noticed that for the ‚odd 1/32‘ version a tempo higher than 230 bpm is problematic (again, i assume its latency related, as higher bpm means less time to the next 1/16)

    .

    I just now checked if using your variant with only a single CC controlling PLAY is more stable, but it shows the same effect as the variant with two CCs contolling START and STOP individually. For both versions i had to change stop to occur on odd 1/32 to be more reliable.

  • wimwim
    edited February 19

    I assume Ableton Link needs to be disabled for this to work without major weirdness, correct?

  • @wim You are right - the start/stop trick to step 1/16th only works with ableton link disabled. If link is enabled AUMs start will wait for the next bar start and then play for the first 1/16 and stop - so it no longer resumes at the position the stop happened.

Sign In or Register to comment.