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.

"Playing" CCs with pads

There are times when I’d like to be able to play a pad that sends out a particular CC # and CC value. There are plenty of LFOs, etc., that send out streams of CC values but I can’ find anything that allows me to just set a CC with a value. This could be used in some apps for switching presets or in a synth it can change a sound in subtle ways. Or like with a comb filter, each minute change can make a very different effect. I think it would be useful/fun to be able to play such changes live with my own timing - not sequenced.

I tried KB-1, for example, because it lets me set up a series of pads with CCs but it only lets me set these pads as toggles so that the CC is either 0 or 127; no other values.

I tried looking for Mozaic scripts. Similar situation. Only toggles. There is one script that maps incoming notes to a range of CC values but it’s not easy to set up and sometimes skips a sequence of values. Such as going from 0, 1, 2, 4, 6, etc. where is 3 and 5?

Now I see that @cem_olcay is about to release a new app that sends CCs but, again, it’s only random CCs that fluctuate all the time. In his Stepbud you can set a sequence of CCs which is useful - but I want to play them “live”.

Doesn’t anyone (beside me) ever want to play precise CCs for more direct and exact control of parameters? If I've missed an app that can do this please let me know.

«1

Comments

  • with Lemur you could build an array of pads with a range slider for min/max values. Or with a pop-up window for precise values 0-127. With TouchOSC you can do similar things, I believe there are min/max values as well. Other apps are, as you have found out, more limited.

  • You can program this yourself in Mozaic or StreamByter. In StreamByter, you can even use its rather weird mapping system to convert a note into a specific CC# and value. In Mozaic, you can use its pads to send values set by the knobs or sliders.

  • wimwim
    edited April 2022

    Mozaic script: https://patchstorage.com/key-to-cc/


    KEY to CC v1.0
    Send CC values by playing notes. A range of keys to use can be set by octaves. The CC values from 0 to 127 will be spread over this range. Smoothing is available to ramp jumps in values.

    Knobs (from left to right)

    CHAN: MIDI Channel to listen to for notes. All other channels are passed through.

    RANGE: Sets the starting note of the keyboard range. Displays the range of notes.

    OCTAVES: Sets the octave range of the notes to use.

    RAMP: CC changes will be smoothed over this time period – like turning a knob slower or faster.

    CC: The CC # to send.

  • AUM also has built in a CC range limiter - which I’m sure can be set to a specific value

  • @Stochastically said:
    There are times when I’d like to be able to play a pad that sends out a particular CC # and CC value. There are plenty of LFOs, etc., that send out streams of CC values but I can’ find anything that allows me to just set a CC with a value. This could be used in some apps for switching presets or in a synth it can change a sound in subtle ways. Or like with a comb filter, each minute change can make a very different effect. I think it would be useful/fun to be able to play such changes live with my own timing - not sequenced.

    I tried KB-1, for example, because it lets me set up a series of pads with CCs but it only lets me set these pads as toggles so that the CC is either 0 or 127; no other values.

    I tried looking for Mozaic scripts. Similar situation. Only toggles. There is one script that maps incoming notes to a range of CC values but it’s not easy to set up and sometimes skips a sequence of values. Such as going from 0, 1, 2, 4, 6, etc. where is 3 and 5?

    Now I see that @cem_olcay is about to release a new app that sends CCs but, again, it’s only random CCs that fluctuate all the time. In his Stepbud you can set a sequence of CCs which is useful - but I want to play them “live”.

    Doesn’t anyone (beside me) ever want to play precise CCs for more direct and exact control of parameters? If I've missed an app that can do this please let me know.

    It would not be hard to learn just enough Mozaic to write a script to do what you want. The time spent might pay off in other ways if you have other custom midi utilities that you would like.

  • McDMcD
    edited April 2022

    @FredAntonCorvest created an app that converts transients into MIDI. You can tap on the iPad case and create transients and have the app output CC values. It’s called “FAC Envolver”.

    Drambo can do something similar with it’s Impaktor like transient trackers.

    Mozaic can convert PAD midi from velocity values to CC’s. I suspect @wim has solved this conversion case.
    There are probably MIDI FX apps to do a similar conversion.
    MfxTools as I recall.

  • @McD said:
    Mozaic can convert PAD midi from velocity values to CC’s. I suspect @wim has solved this conversion case.

    Linked above.


  • KEY to CC v1.0
    Send CC values by playing notes. A range of keys to use can be set by octaves. The CC values from 0 to 127 will be spread over this range. Smoothing is available to ramp jumps in values.

    Knobs (from left to right)

    CHAN: MIDI Channel to listen to for notes. All other channels are passed through.

    RANGE: Sets the starting note of the keyboard range. Displays the range of notes.

    OCTAVES: Sets the octave range of the notes to use.

    RAMP: CC changes will be smoothed over this time period – like turning a knob slower or faster.

    CC: The CC # to send.

    Yea probably best bet.

  • Thanks everyone for helping me think this through. What comes to mind more now is that I'm surprised that no one else seems interested in having such a capability. Maybe I'm off track here somehow.

    @Phil999 said:
    with Lemur you could build an array of pads

    Yes, I looked into that a bit. It seems a bit overkill for the kind of experiments I'm trying. but also not AUv3.

    @uncledave said:
    You can program this yourself in Mozaic

    true I've been considering it; not sure if the learning curve will be worth it for me.

    @wim said:

    @McD said:
    Mozaic can convert PAD midi from velocity values to CC’s. I suspect @wim has solved this conversion case.

    Linked above.

    I tried MfxConvert for that but impossible to get precise CCs from velocity.
    I've been spending most time with Key to CC script, > @Poppadocrock. That's about closest I can get to what I want. Still, it takes some fiddling to find the settings that work for me.

  • @Stochastically said:
    Thanks everyone for helping me think this through. What comes to mind more now is that I'm surprised that no one else seems interested in having such a capability. Maybe I'm off track here somehow.

    @Phil999 said:
    with Lemur you could build an array of pads

    Yes, I looked into that a bit. It seems a bit overkill for the kind of experiments I'm trying. but also not AUv3.

    @uncledave said:
    You can program this yourself in Mozaic

    true I've been considering it; not sure if the learning curve will be worth it for me.

    @wim said:

    @McD said:
    Mozaic can convert PAD midi from velocity values to CC’s. I suspect @wim has solved this conversion case.

    Linked above.

    I tried MfxConvert for that but impossible to get precise CCs from velocity.
    I've been spending most time with Key to CC script, > @Poppadocrock. That's about closest I can get to what I want. Still, it takes some fiddling to find the settings that work for me.

    It probably isn’t that no one is interested, but that many that are whip up utilities for themselves with Mozaic, or Streambyter or some other plugin or combination of plugins. Once you get know how to use them, putting something together like you described would only take a few minutes.

  • Programming it yourself is the only way to get exactly what you want. Apps and others' scripts always have their own design constraints. And they often have extra features, making them more complicated to use.

    Actually, I don't understand exactly what you are looking for. Tap an on-screen pad, send a specific CC# and value? Just that? Do you want to be able to adjust the value? The pads and knobs/sliders in Mozaic can do all of that with minimal coding. Do you want the CC value to change on each tap, maybe change direction on a long press?

    Are you using pads on an external controller, sending notes? It would be easy to convert those notes to specific CC#s and values.

  • wimwim
    edited April 2022

    With Loopy Pro you can make Midi control surfaces that do everything mentioned in the OP with no need for scripting.

    TouchOSC, Midi Designer Pro 2, and Sonic Logic are other options, though not AUv3.


  • KEY to CC v1.0
    Send CC values by playing notes. A range of keys to use can be set by octaves. The CC values from 0 to 127 will be spread over this range. Smoothing is available to ramp jumps in values.

    Knobs (from left to right)

    CHAN: MIDI Channel to listen to for notes. All other channels are passed through.

    RANGE: Sets the starting note of the keyboard range. Displays the range of notes.

    OCTAVES: Sets the octave range of the notes to use.

    RAMP: CC changes will be smoothed over this time period – like turning a knob slower or faster.

    CC: The CC # to send.

    Yea probably best bet.

    I wonder if this can be modified where each note is mapped to a midi cc, but the value of the midi cc is determined by velocity. So hitting a key with a higher velocity results in a higher midi cc value, such as hardest hit equals 127 value for the configured midi cc.


  • KEY to CC v1.0
    Send CC values by playing notes. A range of keys to use can be set by octaves. The CC values from 0 to 127 will be spread over this range. Smoothing is available to ramp jumps in values.

    Knobs (from left to right)

    CHAN: MIDI Channel to listen to for notes. All other channels are passed through.

    RANGE: Sets the starting note of the keyboard range. Displays the range of notes.

    OCTAVES: Sets the octave range of the notes to use.

    RAMP: CC changes will be smoothed over this time period – like turning a knob slower or faster.

    CC: The CC # to send.

    Yea probably best bet.

    I wonder if this can be modified where each note is mapped to a midi cc, but the value of the midi cc is determined by velocity. So hitting a key with a higher velocity results in a higher midi cc value, such as hardest hit equals 127 value for the configured midi cc.

    That wouldn’t be hard.

    Alternatively, the Expression Redirector script with only the Vel. knob enabled will do exactly this.

  • You know Tonality can play pads and you can add cc values to pads, I never tried it for this, and I’d have to do a little research to see if it would work in this use case, but look into tonality, particularly the Au chord pads part. Maybe someone here might know if that would work…?

  • It’s not super precise but applies by using velocity to affect the cc.

    In Chord Pad part hit three dots in the bottom middle of the screen and you get this.

  • @wim said:


    KEY to CC v1.0
    Send CC values by playing notes. A range of keys to use can be set by octaves. The CC values from 0 to 127 will be spread over this range. Smoothing is available to ramp jumps in values.

    Knobs (from left to right)

    CHAN: MIDI Channel to listen to for notes. All other channels are passed through.

    RANGE: Sets the starting note of the keyboard range. Displays the range of notes.

    OCTAVES: Sets the octave range of the notes to use.

    RAMP: CC changes will be smoothed over this time period – like turning a knob slower or faster.

    CC: The CC # to send.

    Yea probably best bet.

    I wonder if this can be modified where each note is mapped to a midi cc, but the value of the midi cc is determined by velocity. So hitting a key with a higher velocity results in a higher midi cc value, such as hardest hit equals 127 value for the configured midi cc.

    That wouldn’t be hard.

    Alternatively, the Expression Redirector script with only the Vel. knob enabled will do exactly this.

    Awesome, thanks, will have to try that.

  • Drambo version:

    You can have as many of these trigger buttons as you want, each with sending their own CC number and value on a specific MIDI channel. Just make sure you route all MIDI CC generators into the MIDI mixer.

  • @rs2000 said:
    Drambo version:

    You can have as many of these trigger buttons as you want, each with sending their own CC number and value on a specific MIDI channel. Just make sure you route all MIDI CC generators into the MIDI mixer.

    Leave it to drambo to solve the issue. Lol. 9 times out of ten Mozaic or Drambo can do it.

    What’s the patch name for that or did you just whip it up?

  • @Poppadocrock Just whipped it up. The colors should be self-explanatory :)

  • edited April 2022

    here is a mozaic script that does what OP asked for. it could easily be modified so that each pad could specify its channel and the cc number. as is, it uses the pad number for the cc number.

    a lot of enhancements could be added with little effort.


  • edited April 2022

    @rs2000 said:
    @Poppadocrock Just whipped it up. The colors should be self-explanatory :)

    I haven’t dug that deep into drambo even though I bought it on release day. I have used it, but not nearly as much as I want to or need to. It’s been on my todo list, just, shit, I don’t know… one of those things.

  • @espiegel123 said:
    here is a mozaic script that does what OP asked for. it could easily be modified so that each pad could specify its channel and the cc number. as is, it uses the pad number for the cc number.

    a lot of enhancements could be added with little effort.


    That’s dope any chance you could paste the text here or upload to Patchstorage when you get a chance. Thanks.

  • @espiegel123 said:
    here is a mozaic script that does what OP asked for. it could easily be modified so that each pad could specify its channel and the cc number. as is, it uses the pad number for the cc number.

    a lot of enhancements could be added with little effort.

    Wow - thanks my friend! I will be studying this when I have a chance (soon I hope)

  • @Poppadocrock said:

    @espiegel123 said:
    here is a mozaic script that does what OP asked for. it could easily be modified so that each pad could specify its channel and the cc number. as is, it uses the pad number for the cc number.

    a lot of enhancements could be added with little effort.


    That’s dope any chance you could paste the text here or upload to Patchstorage when you get a chance. Thanks.

    The first screenshot is the program text. Not hard to copy.

  • The ‘Controller’ in LK also has this ability if I understand you correctly. Its lower row has buttons that can toggle CCs. Standard the (max) value is set to 127. But that can be changed by enabling the assign function.

  • @Poppadocrock said:

    @espiegel123 said:
    here is a mozaic script that does what OP asked for. it could easily be modified so that each pad could specify its channel and the cc number. as is, it uses the pad number for the cc number.

    a lot of enhancements could be added with little effort.


    That’s dope any chance you could paste the text here or upload to Patchstorage when you get a chance. Thanks.

    Tbh, I feel like this script is short enough for anyone to type up in a few minutes and that anyone who needs the code to get started will probably learn more from typing it in than from copy/pasting.

  • @espiegel123 said:

    @Poppadocrock said:

    @espiegel123 said:
    here is a mozaic script that does what OP asked for. it could easily be modified so that each pad could specify its channel and the cc number. as is, it uses the pad number for the cc number.

    a lot of enhancements could be added with little effort.


    That’s dope any chance you could paste the text here or upload to Patchstorage when you get a chance. Thanks.

    Tbh, I feel like this script is short enough for anyone to type up in a few minutes and that anyone who needs the code to get started will probably learn more from typing it in than from copy/pasting.

    Right on. It is but I’m feeling lazy, lol. I’ll screenshot and type up. Cheers for putting it together.

    Quick question, so each pad has the cc number assigned, 0-15, and the value, I’m guessing you just go in and change both the cc# and the value for each as needed, correct?

  • @Poppadocrock said:

    @espiegel123 said:

    @Poppadocrock said:

    @espiegel123 said:
    here is a mozaic script that does what OP asked for. it could easily be modified so that each pad could specify its channel and the cc number. as is, it uses the pad number for the cc number.

    a lot of enhancements could be added with little effort.


    That’s dope any chance you could paste the text here or upload to Patchstorage when you get a chance. Thanks.

    Tbh, I feel like this script is short enough for anyone to type up in a few minutes and that anyone who needs the code to get started will probably learn more from typing it in than from copy/pasting.

    Right on. It is but I’m feeling lazy, lol. I’ll screenshot and type up. Cheers for putting it together.

    Quick question, so each pad has the cc number assigned, 0-15, and the value, I’m guessing you just go in and change both the cc# and the value for each as needed, correct?

    The way that I set this up the CC numbers are set up in the first 'for' loop and are the same as the pad number. I did it that way just to show how a loop could be used to automatically fill them in. If one wants to set up arbitrary assignments, comment out that loop and instead have a series of assignments like the ones used to assign the cc values.

    For example:
    padCCNum[0] = 20
    padCCNum[1] =35

    this would make pad 0 send CC 20 and pad 1 send CC35, etc.

    Mozaic counts from 0, so pad 0 is the first pad.

    Hopefully that makes sense.

  • Yes it does.

    I just typed it up and uploaded it in Mozaic, and while the script did load correctly I got a bunch of syntax errors. I tried to copy every letter and space to make it identical, See pic. Any recommendations, I’ve only ever coded a midi echo.

Sign In or Register to comment.