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
Just confirmed that CC #18 bug. Fixed it last night but I've got a few things to do before releasing it. Sorry about that. There were no intentional CC changes in this release, but I did refactor a couple thousand lines of code and introduced this bug.
I'll think about better avoiding/adopting the MIDI GM standard. Right now the CC code is very very simple and just automatically maps the AU parameters over to MIDI CC values, and to adopt the standard I'd have to start writing hardcoded mappings for all the AUs which I suspect would be a bit more brittle over the long term.
Something useful I discovered, if you are only going to control from MIDI and not touch the XY Pad, the Pad Gate setting in Spectrum and Resonator is addressable across a full range of 0-127. So, using the Matrix, this can used to freely control LFO Amount which is not normally available for MIDI control.
Another feature request: it would be handy if all the plugins could respond to a sustain pedal (using MIDI CC 64 to hold the key gate open).
Great, thanks!
One quick fix in the interim would be to keep the current automatic mapping but start with CC #33 instead of #2. Since your plugins all have 28 or fewer assignments, this would keep things from conflicting with more standard MIDI controls. (The MIDI spec has this block starting at CC #32, but I've found this one in particular does not work for MIDI mapping with other software from my controller.)
While experimenting, I've also found the following CC mappings that are anomalous. Maybe this is all already fixed as part of your fix for CC 18, but I'll list what I'm seeing just in case. Stated mappings from the documentation are in parentheses:
Spectrum
CC 9 (LPG Colour) is unmapped
CC 13 (Volume) is unmapped
CC 14 (originally Left Source) is unmapped
CC 15 (originally Right Source) controls Volume
CC 16 (Pan) controls the new Source knob
CC 17 (Pan Spread) controls the new Source Spread
CC 19 (LFO Shape) controls both LFO Shape and Pan Spread
CC 22 (Attack) is unmapped
CC 26 (Bend Range) is unmapped
Modal
CC 17 (Mode) is unmapped
CC 18 (Pitch) is unmapped
CC 19 (Detune) controls Mode
CC 20 (LFO Rate) controls both LFO Rate and Pitch
CC 21 (LFO Shape) controls both LFO Shape and Detune
CC 22 (Shape Mod) is unmapped
CC 24 (Attack) is unmapped
CC 25 (Decay) is unmapped
CC 26 (Sustain) controls Attack
CC 27 (Release) controls Decay
CC 28 (Input Gain when effect) controls Sustain
CC 29 (Input Dest when effect) controls Release
Resonator seems just fine.
I assume you are referring to GarageBand? If midi cc is disabled there is no issue with midi assignment in AUM... except for that recall bug thing .
Yep, that's why I'm referring to the documentation where the default CC implementation is described:
https://burns.ca/spectrum.html
I assume this could also be an issue in other AUv3 hosts besides AUM that don't offer CC assignment. In any case it seems like a good idea to help get the code straight rather than suggesting to axe the whole thing and rely on MIDI assignment capabilities that might or might not be there depending on the host. It is cool that AUM users have a solution at the ready, though.
Im not suggesting to axe anything.
Hmmm, what’s up with the String model in Spectrum...
It’s sometimes playing multiple notes per key, like playing two finger chords!?
Sorry, didn't intend to put words in your mouth. It seemed more implied by your response, sort of a "why report this bug when AUM gets around it" type of deal. Cheers
Nope that was not what i was implying, All bugs should be reported and the dev already confirmed it.
Also i agree sustain midi 64 should be assigned to sustain pedal as default if possible and if dev agrees.
The MIDI spec actually defines 32-63 as the least significant bits for controllers 0-31, but I've never seen 14-bit CCs used aside from mod wheel and NRPN/RPN. Thats why #32 doesn't work for you, its the lower 7 bits of 14-bit modwheel messages. Looks like #38 also gets used in the real world as the LSB for CC #6, which is 14-bit NRPN/RPNs.
I implemented a better blacklisting strategy and submitted a build this evening, so after testing and review it should be out midweek. I decided to avoid CC#7 instead of trying to map to the MIDI spec. Volume would be straightforward but even pan and balance starts getting into semantics and the majority of parameters won't get mapped well regardless..
Just released 0.5. Should be available on your device over the next 24 hours.
The manual has been updated to match the CC #s in v0.5.
This is great! No more CC conflicts with track volume or pan (or anything else) in GarageBand at least, and no more doubled parameter responses. The only remaining issue I'm seeing (only having gone through Plaits so far) is that LFO Shape is not responding to CC 22.
As a minor note, the Tempo Sync and Key Reset toggles respond differently than the Unison toggle. The former two seem to go positive with CC values above 95 or so, while the latter only needs 64.
An even more minor note: the "Amplitude Env" CC #s are marked as "Modulation Env" in the documentation.
Thanks again.
Scratch that. I'm not sure what was going on yesterday, but it's working now.
Unrelated, a fun trick I discovered: if you route your MIDI through VCV Rack (available for free) using the "MIDI-CV", "MIDI-CC", and corresponding "CV-MIDI" and "CV-CC" modules, it becomes immediately possible to use a sustain pedal with Spectrum. The MIDI-CV module listens to CC 64 and automatically holds the key gate open when the sustain pedal is held, so on the output end Spectrum can't tell the difference between a held note and a pedal-sustained note. If you're using polyphony in Spectrum, be sure to right-click the MIDI-CV module and set "Polyphony channels" to 8.
A simple setup, unlocking use of the sustain pedal:
My setup adding CC:
Edit: This is limited in that pedal-sustained notes cannot be retriggered while they are pedaled. This seems to be in part because Spectrum locks a held note to a single instance of polyphony. In other words, while a given key-gate is open, it cannot be opened again using Spectrum's polyphony. No manual/staged unison is possible.
I've attached the VCV Rack setup pictured in the second screenshot above, for anyone who wants to play with this more quickly.
@mogue crazy VCVRack patch I'll add sustain support soon.
If you want to try manual unison, send the same note to another MIDI channel while Spectrum is in OMNI mode. It should trigger a second voice as long as the note is high enough priority
Awesome. Any feasibility in expanding polyphony to 16? I'm a sustain-pedal abusing pianist who's dreaming of a Plaits-driven Moog One of sorts.
This doesn't work, unfortunately. I'm not sure how to judge the priority of the data being sent. In this video I first trigger a note 8 times to demonstrate Spectrum is responding on 8 channels, then use the pedal to hold the gates open. In order to make it clear when a note is being retriggered, Spectrum's modulation envelope is set to dramatically modulate Tune with a minimum attack, max decay, and minimum sustain level:
There does seem to be something weird going on with Spectrum's MIDI Channel setting, maybe unrelated to the manual unison thing. When Spectrum is set to Omni, it responds to MIDI sent on any channel from VCV Rack. But, when it is set to Ch 1, it also responds to MIDI sent on any channel in the same way. When it is set to anything else (Ch 2-16), it doesn't respond to MIDI on any channel (not even the respectively appropriate one). This also holds true when VCV Rack isn't sitting in the middle and MIDI is going direct from controller to iPad.
@mogue that's very bizarre, midi channel setting works as expected for me with Spectrum, AUM, and sending midi from Rozeta Bassline on various MIDI channels
It's probably a GarageBand thing then... I'm not sure what it's doing to make it fail in this way, though. You could try it out in GarageBand yourself to be sure that's the cause.
@mogue Sounds like garageband, or something else in the chain, is rewriting incoming MIDI to channel 1 regardless of input channel. That would explain your experience.
Atom is known to do this, take incoming midi and send it all out on channel 1. Perhaps GB is doing the same?
I came across some nice ideas/inspiration/tutorials:
Does the knowledgable crowd here think all these can be recreated on iOS? How about the #2 drum loop with envelope generators, perhaps using some Mozaic script?
Ah yep, that would make sense. It's gotta be GB, given it happens with direct USB from my controller to the iPad. Chalk one up to Apple arbitrarily limiting their software.
Off the top, it wouldn't be possible to get a complex drum sequence like that coming out entirely out of a single instance of Spectrum's Resonator because it can't give you individual access to the Odd and Even outputs of the Rings algorithm. So to start you'd need two instances of Resonator running.
After that you'd need an app that can take audio input and run it through an envelope, though you won't be able to also use that envelope to modulate Resonator like is being done in that VCV patch unless there exists an envelope generating app that can use its envelope to modulate MIDI parameters.
The LFO bit can be done within Resonator, so all that would be left is an app that can do wavefolding and saturation. Unfortunately I don't know enough about the AUv3 ecosystem (I'm just getting started) to be able to suggest any apps, but I can say that Mozaic alone won't help here as it only deals in MIDI rather than audio manipulation which is what you'd need for the envelope and wavefolding/amplification bits.
If you put the "stereo spread" to max on Resonator, odd and even will be separated onto left and right outputs.
You might be able to use the modulation envelope on Resonator to modulate the input gain amount, which would close the input when not triggered.
Version 1.1 of the Spectrum Randomizer Mozaic script is available on patchstorage.com. This release incorporates the cc changes from the last Spectrum release. If you use the randomizer you’ll want to download this since the assignments for several parameters have changed.
https://patchstorage.com/spectrum-parameter-randomizer/
@burns_audio, there’s a minor mistake on the manual page. The cc table for Spectrum lists the Amp envelope controls as (Modulation Env).
Apologies ... I messed up on the Resonator cc’s. Version 1.2 has been uploaded with the corrected assignments.
There seems to be an issue with running Resonator as an effect when Spectrum is used as an input.
It works fine as an effect with everything else that I've tried on input, including GarageBand audio drumloops, GarageBand's built-in Alchemy Synth (to verify that it works with both audio and midi tracks), Modal, and Resonator itself (resonator-ception).
When I've got Spectrum as the input, it doesn't make any sound no matter how I arrange the settings on both Spectrum and Resonator (including boosting Spectrum's output by 20db with a compressor beforehand, along with maximum volume knob on Spectrum and max input gain and volume knobs on Resonator).
@mogue what host? Working for me in AUM although I have to send MIDI notes to resonator directly as well, otherwise it's pitch is extremely low
GarageBand still. It works fine with Modal and Resonator on input as well as other audio and midi instruments.
I just tried raising Resonator's pitch knob to maximum as well as adding a vocal transformer effect afterward to raise the pitch, just in case it was actually a pitch so low that it didn't register on the VU meter (if that's possible), but saw no change.
Well... It's working now! I went to try applying Granular and Modal to Spectrum in GarageBand to see if they would work (they did), then went back to Resonator and found it working. I can't explain it.
Anyways, @bleep I played around a bit with trying to reproduce the Resonator-drum-machine concept. I used Spectrum's Noise model as the source of noise, and used a tempo-synced Stepped-shape LFO in the ResonatorEffect to modulate Damping & Level. I also used Resonator's matrix to modulate LFO Rate using both the LFO and the output, in an attempt to get an evolving sort of rhythm. The result shows some interesting potential, I think. I am getting what sounds like clipping, but I'm not sure where it's coming from because reducing Spectrum's volume knob & Resonator's input gain only results in quieter clipping. The VU meters look fine. Skip to 2:25 for a bit of layered rhythms:
I’m loving this app bundle so much. Automation recording and playback work well in BM3.
Just released Spectrum 0.6!
MPE support is added - enable it on the "settings" page. You can use the "Basic MPE" factory patch as a starting point and route MPE dimensions to various parameters in the modulation matrix.
Also:
Thank you!
❤️