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.
Comments
Ok, that vid explains how midi learn works, which I already understand. It’s not about midi cc, which I don’t understand. @Squishy
Ahhh buggers!!
@Kashi what specifically do you not understand about midi cc?
If I knew that, I would understand it. ☺️
Seriously though, midi learn is simple; I want knob X to twist when I turn my physical controller knob - so I press “midi learn”, select relevant parameter and physically twist my knob (fnar fnar). Bosh, that parameter is assigned to that physical knob. Easy peasy.
Midi cc is like a foreign language that I just don’t get. One thing is cc107, another is cc68, another is cc4,…I mean I just don’t know where to start.
If you can help me understand it I’d be very grateful,…but don’t worry if not.
I feel like it’s one of those things that most brains just click with, and those brains can’t see how other brains don’t click with it….
For sure. Think we've all been there.
Standby, I'll break it down.
Firstly: save this...
CC 0: Bank Select (MSB)
CC 1: Modulation Wheel
CC 2: Breath Controller
CC 3: Undefined
CC 4: Foot Controller
CC 5: Portamento Time
CC 6: Data Entry (MSB)
CC 7: Channel Volume
CC 8: Balance
CC 9: Undefined
CC 10: Pan
CC 11: Expression
CC 12: Effect Control 1
CC 13: Effect Control 2
CC 14: Undefined
CC 15: Undefined
CC 16: General Purpose 1
CC 17: General Purpose 2
CC 18: General Purpose 3
CC 19: General Purpose 4
CC 20: Undefined
CC 21: Undefined
CC 22: Undefined
CC 23: Undefined
CC 24: Undefined
CC 25: Undefined
CC 26: Undefined
CC 27: Undefined
CC 28: Undefined
CC 29: Undefined
CC 30: Undefined
CC 31: Undefined
CC 32: Bank Select (LSB)
CC 33: Modulation Wheel (LSB)
CC 34: Breath Controller (LSB)
CC 35: Undefined (LSB)
CC 36: Foot Controller (LSB)
CC 37: Portamento Time (LSB)
CC 38: Data Entry (LSB)
CC 39: Channel Volume (LSB)
CC 40: Balance (LSB)
CC 41: Undefined (LSB)
CC 42: Pan (LSB)
CC 43: Expression (LSB)
CC 44: Effect Control 1 (LSB)
CC 45: Effect Control 2 (LSB)
CC 46: Undefined (LSB)
CC 47: Undefined (LSB)
CC 48: General Purpose 1 (LSB)
CC 49: General Purpose 2 (LSB)
CC 50: General Purpose 3 (LSB)
CC 51: General Purpose 4 (LSB)
CC 52: Undefined (LSB)
CC 53: Undefined (LSB)
CC 54: Undefined (LSB)
CC 55: Undefined (LSB)
CC 56: Undefined (LSB)
CC 57: Undefined (LSB)
CC 58: Undefined (LSB)
CC 59: Undefined (LSB)
CC 60: Undefined (LSB)
CC 61: Undefined (LSB)
CC 62: Undefined (LSB)
CC 63: Undefined (LSB)
CC 64: Sustain Pedal (Damper)
CC 65: Portamento On/Off
CC 66: Sostenuto Pedal
CC 67: Soft Pedal
CC 68: Legato Footswitch
CC 69: Hold 2
CC 70: Sound Variation
CC 71: Resonance (Timbre)
CC 72: Release Time
CC 73: Attack Time
CC 74: Brightness (Cutoff)
CC 75: Sound Controller 6 (Decay Time)
CC 76: Sound Controller 7 (Vibrato Rate)
CC 77: Sound Controller 8 (Vibrato Depth)
CC 78: Sound Controller 9 (Vibrato Delay)
CC 79: Sound Controller 10
CC 80: General Purpose 5
CC 81: General Purpose 6
CC 82: General Purpose 7
CC 83: General Purpose 8
CC 84: Portamento Control
CC 85: Undefined
CC 86: Undefined
CC 87: Undefined
CC 88: Undefined
CC 89: Undefined
CC 90: Undefined
CC 91: Reverb Send Level
CC 92: Tremolo Depth
CC 93: Chorus Send Level
CC 94: Celeste/Detune Depth
CC 95: Phaser Depth
CC 96: Data Increment
CC 97: Data Decrement
CC 98: NRPN (LSB)
CC 99: NRPN (MSB)
CC 100: RPN (LSB)
CC 101: RPN (MSB)
CC 102: Undefined
CC 103: Undefined
CC 104: Undefined
CC 105: Undefined
CC 106: Undefined
CC 107: Undefined
CC 108: Undefined
CC 109: Undefined
CC 110: Undefined
CC 111: Undefined
CC 112: Undefined
CC 113: Undefined
CC 114: Undefined
CC 115: Undefined
CC 116: Undefined
CC 117: Undefined
CC 118: Undefined
CC 119: Undefined
CC 120: All Sound Off
CC 121: Reset All Controllers
CC 122: Local Control On/Off
CC 123: All Notes Off
CC 124: Omni Mode Off
CC 125: Omni Mode On
CC 126: Mono Mode On
CC 127: Poly Mode On
Anyway, the good news is that @relpot has just “made the app a bit more complicated” (their words)…..
Complicated in a totally awesome way. Out of respekz for @relpot and fingerblast I'll message you a breakdown of midi cc in a way that I think anyone could understand. If anyone else wants it, message me.
Cool, thanks @egobeats 🙏🏻
And just to clear, I meant no disrespect to @relpot - the Fingerlab devs have been incredibly helpful with my Musyc and Polagone questions…
tldr; MIDI CC's are simply a way of identifying what MIDI messages to listen to. It doesn't matter if a hardware controller s sending them or an app. It's all the same.
I think you're just missing a couple of key concepts to help it make sense:
Now, it doesn't matter if the messages are coming from a controller or if they're coming from an app. The MIDI messages are the same: A channel + a CC# + a value.
I advise not thinking about the "named" list of CC parameters above. That is something ancient from back in the days when there was some effort to standardize what messages generally did what. It was a pre "MIDI Learn" idea and only confuses things (mostly) today.
Nowadays, in general (with a very few exceptions), any CC# can be used to do anything. All it takes is making the link, usually via MIDI Learn, to say which channel and CC# to listen for.
Was gonna say, that list is not relevant at all really, and likely just intimidating!
@Kashi - here's a really tortured analogy:
Remember roll-call in class at school? Students each have a family name and given name. When the teacher calls out a student's name, the student raises their hand. That's a fixed identifier, such as the old-school, MIDI table above. The teacher is analogous to the hardware controller, the students are analogous to apps.
Now let's say that instead of using names, each student draws a slip of paper with a number on it. Now the teacher tells the students to raise their hand when she calls out their number. That's today's flexible MIDI learn system.
Now let's say that instead of the teacher calling out numbers, she has a computer program call out numbers. See how there's really no difference between the teacher doing it and the computer program doing it? So also, there's really no difference between a hardware knob controlling something and an app doing it. Both use the same communication protocol.
There's nothing mysterious about CC numbers. They're just a flexible link between anything that sends values to adjust something and what should respond to them.
Isn’t the real problem/confusing bit assigning CC numbers to parameters and the different ways it is done in different hosts rather than understanding what they are? Certainly that’s what I find a real chore and prone to user error due to ignorance.
Oh hell yes. 😎
But @kashi mentioned not understanding CC numbers. I took a really long route around to try to point out that CC's are nothing but an addressing system for routing messages whether from a hardware controller or from an app.
Easy way to understand midi and cc is think of it as a game controller where the A,B,X,O buttons are the notes/keys and the joystick is the Controls/Values. The knobs on your hardware are only controlling values from 0 (minimum) to 127(maximum)
I’m sending you some additional info asap Paul.
I did come across some cool workflow for midiX users, if you have Pro-A5…. Load up preset 49: Lead guitar, enable the Notes panel in MidiX ( make sure midiX is routed to pro-a5) and start dropping balls. It sounds really cool.