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.

Line 6 style reverse/octave control.

edited February 9 in Loopy Pro

Hey y'all,

Im wanting to have some simple controls for reverse and pitch octave +/- that act somewhat independently from each other. It seems that the reverse (even the button) is related to the rate being negative. This is great, I like this; It is basically a button that just swaps the polarity around 0x rate. I built a button that toggles between 1x and .5x this is my "octave pitch" button. I want it to respect the reverse state so that I can have my loop continue to be reversed but pitch up and down. As it is right now, lets say I have a reversed 1x loop going (-1x rate) . When I hit the OCTAVE DOWN button it will switch to 0.5x rate. But what i really want is a conditional button that respects whether the rate is negative or positive. So when its playing at -1x and i hit the octave it will go to -.5x etc... i think this makes sense in explanation.

Any advice from the sage wisdom of the loopy masters?

Thanks so much!

Comments

  • @SparkleBear said:
    Hey y'all,

    Im wanting to have some simple controls for reverse and pitch octave +/- that act somewhat independently from each other. It seems that the reverse (even the button) is related to the rate being negative. This is great, I like this; It is basically a button that just swaps the polarity around 0x rate. I built a button that toggles between 1x and .5x this is my "octave pitch" button. I want it to respect the reverse state so that I can have my loop continue to be reversed but pitch up and down.

    Any advice from the sage wisdom of the loopy masters?

    Thanks so much!

    Are you talking about changing pitch via varispeed rather than by using the pitch parameter?

  • edited February 9

    Is that what its called? Not pitch param or speed... but rate. The one that does both pitch and speed at the same time. like samplerate shift. Yes...

    Also, is it possible to have the varispeed recording tricks? IE Record first loop, pitch shift it down, record over the half speed track, pitch shift back to normal speed and the new overdub is playing at what sounds like 2x?

  • @SparkleBear : let me ponder the best way to do this. Scripting with streambyter or mozaic would be fairly easy. There might bee we a simpler way with a four-step dial that sets the rate arranged correctly and widgets that step the dial intelligently.

  • Awesome! Thanks so much... i figured there would be some dial magic ... im just starting to implement some of the radial techniques.

  • @SparkleBear said:
    Hey y'all,

    Im wanting to have some simple controls for reverse and pitch octave +/- that act somewhat independently from each other. It seems that the reverse (even the button) is related to the rate being negative. This is great, I like this; It is basically a button that just swaps the polarity around 0x rate. I built a button that toggles between 1x and .5x this is my "octave pitch" button. I want it to respect the reverse state so that I can have my loop continue to be reversed but pitch up and down. As it is right now, lets say I have a reversed 1x loop going (-1x rate) . When I hit the OCTAVE DOWN button it will switch to 0.5x rate. But what i really want is a conditional button that respects whether the rate is negative or positive. So when its playing at -1x and i hit the octave it will go to -.5x etc... i think this makes sense in explanation.

    Any advice from the sage wisdom of the loopy masters?

    Thanks so much!

    For OCTAVE DOWN button instead of 0.5x Rate use combination of 0.5 Speed AND -12 Pitch. This way Reverse and Half Speed buttons will operate independently. Works for me here.

    @SparkleBear said:

    Also, is it possible to have the varispeed recording tricks? IE Record first loop, pitch shift it down, record over the half speed track, pitch shift back to normal speed and the new overdub is playing at what sounds like 2x?

    Also interested in this

  • edited February 10

    UPDATE: This morning I started pondering possible radial dial workaround as per E's hints. While thinking about it I wondered if a simpler approach with just using pitch and speed parameters separately would get the job done... Happy to report I've found a work around.

    Instead of using RATE to give me the 1/2 sample rate sound ( down octave and half speed ), I am actually using a widget that adjusts Speed on line 1 to toggle between 1x and .5x, and the second action of that command being a parallel toggle of PITCH between 0semitones and -12 semitones. Since reverse is a function of RATE, the pitch/speed parameters do not manage the RATE value. The reverse is achieved by the action "reverse clip"; which just flips the rate value from + to - and visa versa. So now the desired behavior is achieved...

    In my previous attempts, the octave toggle used varispeed via RATE parameter. In this implementation octave up down would reset the reverse value as it was toggling between 1x and .5x rate. Now rate is only touched by reverse action...

    HOWEVER, there are noticeable artifacts of the non-varispeed pitch and speed algorithms that are effecting the fidelity (to my ear)

    Im still interested in what @espiegel123 comes up with for his radial dial wizardry. As the sound of varispeed is much nicer to my ear.

    CHEERS,
    Eric aka SparkleBear.

    EDIT: so this way can get de-synced where you have a half speed octave normal sound and visaversa.

    Better is to use stepped actions where press one of the widget sends speed .5, pitch -12, and next press sends Speed 1x, Pitch 0. This will keep it synced with the toggle state (lit or unlit widget)

    And still this does not allow for the overdubbing tricks of adding parts at a different octave and shifting it around so you have multiple sample rate recordings stacked on each other. In this pitch/speed (vs varispeed) method, entering recording returns the speed to 0 while retaining the pitch shift. Strange... definitely not the behaviors im looking for with that overdub trick but for playback tricks of just shifting things around it is OK for now. I hope we can figure this out because this is a very common looping trick i've used for many years. (IE timeline, DL4, EHX 45000/2880, etc...)

  • I have been really trying to wrap my head around making this stepped dial solution for the 4 states of 1x, -1x, .5x, -.5x. I looked at your stepped dials tutorial and it has sort of gotten me on the right path. I have not quite figured it out.

    I set up a stepped dial that has the 1x rate at position 1, -1x rate at position 2, 0.5x rate at position 3, and -0.5x rate at position 4... If i have a widget that triggers a 2 step nudge on the stepped dial, this will go from Forward Varispeed (1x) to Half varispeed (.5x). I tried different step configuration but could not crack the puzzle...

    I made a logic table for how i want the button widgets to behave so somehow have to make some sort of conditional logic with radios and/or stepped dials...

    Any advice would be super appreciated.

  • @SparkleBear : what widgets would you want as u.i. ? A shift octave toggle and a reverse button?

  • edited February 11

    Good god, that took way too long but I figured it out. The logic table was the key...

    At least ill be able to sleep tonight knowing I did the thing..........facepalm

    My UI will just be the Octave button and reverse button. and ill hold octave button to reset rate and reset phase...

    Definitely curious how you would achieve this. My way felt like the long way around.

  • edited February 12

    _

  • @SparkleBear said:
    Good god, that took way too long but I figured it out. The logic table was the key...

    At least ill be able to sleep tonight knowing I did the thing..........facepalm

    My UI will just be the Octave button and reverse button. and ill hold octave button to reset rate and reset phase...

    Definitely curious how you would achieve this. My way felt like the long way around.

    The method I came up with is this.

    There is a state dial. Let’s call it State. Feedback: first action. It has these steps

    1-FORWARD NORMAL
    Action: set rate of selected to 1

    2 - FORWARD HALF
    Action: set rate of selected to .5

    3 - FORWARD WRAP
    Action: trigger widget scroll to step 1

    4- REVERSE NORMAL
    Action: set rate of selected to -1

    5 - REVERSE HALF
    Action: set rate of selected to -.5

    6 - Reverse WRAP
    Action: trigger widget scroll to step 4

    7 - Wrap Normal
    Action: trigger widget scroll to step 1

    8 - Wrap Half
    Action: trigger widget scroll to step 2

    There is a direction change button it’s action is to scroll the state dial by 3

    There is an octave button. It’s action is to scroll the state dial by 1

  • Hey Edward, Thanks for the insight with your approach. However, on my ipad it does not work as I think you expect.. When pressing direction once it does as expected, second press sends it down an octave and forward again. Im glad that I wasn't given the answer off the bat because I learned a lot about how to use dials in a creative way.. :)

    My method, although less economical, seems stable and can be triggered quickly and sporadically with out breaking the logic. So that makes me happy. ;)

  • @SparkleBear said:
    Hey Edward, Thanks for the insight with your approach. However, on my ipad it does not work as I think you expect.. When pressing direction once it does as expected, second press sends it down an octave and forward again. Im glad that I wasn't given the answer off the bat because I learned a lot about how to use dials in a creative way.. :)

    My method, although less economical, seems stable and can be triggered quickly and sporadically with out breaking the logic. So that makes me happy. ;)

    Can you set the state feedback to disabled on the state dial and preset the reset button and see if that fixes it?

    I just tried the App Store version and that seems to fix it.

  • Here is an update with state feedback off that should work in the App Store version . I’ve also added some explanations.

  • Ahh I gotcha... disable feedback! :) Great... Ill try soon

  • edited February 11

    Hey @SparkleBear , @espiegel123 , I think I found another way of organizing independent Reverse and Half Speed buttons using Nudge value Action.
    For Reverse button we need to set up trigger:
    -Adjusting parameter: Rate, Action: Nudge value by x-1.
    This way we always get reverse Rate value:
    1 to -1; -1 to 1; 0.5 to -0.5; -0.5 to 0.5.
    For Half Speed button we need to set up 2 triggers (second one with Next trigger timing):
    -Adjusting parameter: Rate, Action: Nudge value by x0.5;
    -Adjusting parameter: Rate, Action: Nudge value by x2.
    This way we get desired Rate combinations:
    1 to 0.5; 0.5 to 1; -1 to -0.5; -0.5 to -1.
    The trick is by using Nudge value Action which multiplies Current Rate value rather then overrides it with given fixed value.
    Edit: project made in beta version.

  • @Agatha_aga said:
    Hey @SparkleBear , @espiegel123 , I think I found another way of organizing independent Reverse and Half Speed buttons using Nudge value Action.
    For Reverse button we need to set up trigger:
    -Adjusting parameter: Rate, Action: Nudge value by x-1.
    This way we always get reverse Rate value:
    1 to -1; -1 to 1; 0.5 to -0.5; -0.5 to 0.5.
    For Half Speed button we need to set up 2 triggers (second one with Next trigger timing):
    -Adjusting parameter: Rate, Action: Nudge value by x0.5;
    -Adjusting parameter: Rate, Action: Nudge value by x2.
    This way we get desired Rate combinations:
    1 to 0.5; 0.5 to 1; -1 to -0.5; -0.5 to -1.
    The trick is by using Nudge value Action which multiplies Current Rate value rather then overrides it with given fixed value.
    Edit: project made in beta version.

    That is a cool way of doing it. There is a downside to using next trigger. It can’t be reset and it won’t retain state. So if you are running at half speed and save when you reopen you may switch between 1/2 and 1/4 speed.

    The other advantage with the technique I used is that in 2.0 state works correctly with the widget. So if you change the selected clip, the dials self-adjust to reflect the clip state.

  • Here is a demo of the benefit of using the dial (applies to 2.0 where state feedback works correctly for a dial like this)

    https://youtube.com/shorts/0mXkjI08G0M?si=x53Emuxvzni78Bsp

  • @Agatha_aga said:
    Hey @SparkleBear , @espiegel123 , I think I found another way of organizing independent Reverse and Half Speed buttons using Nudge value Action.
    For Reverse button we need to set up trigger:
    -Adjusting parameter: Rate, Action: Nudge value by x-1.
    This way we always get reverse Rate value:
    1 to -1; -1 to 1; 0.5 to -0.5; -0.5 to 0.5.
    For Half Speed button we need to set up 2 triggers (second one with Next trigger timing):
    -Adjusting parameter: Rate, Action: Nudge value by x0.5;
    -Adjusting parameter: Rate, Action: Nudge value by x2.
    This way we get desired Rate combinations:
    1 to 0.5; 0.5 to 1; -1 to -0.5; -0.5 to -1.
    The trick is by using Nudge value Action which multiplies Current Rate value rather then overrides it with given fixed value.
    Edit: project made in beta version.

    Ooo I love this approach, it lets you go further in either direction in speed. That is super useful. I gave up on that early on just for the simplicity. Retaining states between sessions is not as useful to me as just having the live manipulation utility but I get where you are coming from, @espiegel123 . Looking forward to see how 2.0 will play into this equation.

    I’m not in beta or anything other than the App Store version. I hope I can get into beta for a future loopy project.

    Cheers yall.

Sign In or Register to comment.