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
Thanks! Found and fixed. Basically the root cause is a bug in SynthMaster One itself, but they seem to be unable to fix it.
Ugh. I get a kMIDIMsgSetupChanged message which is too global:
According to the docs:
@constant kMIDIMsgSetupChanged Some aspect of the current MIDISetup
has changed. No data. Should ignore this
message if messages 2-6 are handled.
@constant kMIDIMsgObjectAdded A device, entity or endpoint was added.
Structure is MIDIObjectAddRemoveNotification.
New in Mac OS X 10.2.
@constant kMIDIMsgObjectRemoved A device, entity or endpoint was removed.
Structure is MIDIObjectAddRemoveNotification.
New in Mac OS X 10.2.
@constant kMIDIMsgPropertyChanged An object's property was changed.
Structure is MIDIObjectPropertyChangeNotification.
New in Mac OS X 10.2.
@constant kMIDIMsgThruConnectionsChanged A persistent MIDI Thru connection was created
or destroyed. No data. New in Mac OS X 10.2.
@constant kMIDIMsgSerialPortOwnerChanged A persistent MIDI Thru connection was created
or destroyed. No data. New in Mac OS X 10.2.
@constant kMIDIMsgIOError A driver I/O error occurred.
*/
typedef CF_ENUM(SInt32, MIDINotificationMessageID) {
kMIDIMsgSetupChanged = 1,
kMIDIMsgObjectAdded = 2,
kMIDIMsgObjectRemoved = 3,
kMIDIMsgPropertyChanged = 4,
kMIDIMsgThruConnectionsChanged = 5,
kMIDIMsgSerialPortOwnerChanged = 6,
kMIDIMsgIOError = 7
};
I am handling kMIDIMsgObjectAdded etc, so according to the docs ("Should ignore this message if messages 2-6 are handled"), I am ignoring it. The reason is because events would be duplicate (set up changed and Added would both cause the MIDI ports to be refreshed, which is not efficient). So, this is on AUM I think and for the moment I'm leaving it like this to prevent possible issues.
I sent an email to the AUM author about this.
Can you imagine AEM in two years?
Good. The user is a newbie so this is great news on both tips. Keep going at this rate and you'll (hopefully) see some ROI this year. Cubasis just dropped a 2.6 Update with MPE recording. The bar on IOS for a ported App just keeps getting higher. It will also go back to the $50 standard price which has to be beyond so many.
Another idea... a "refresh" button for the user to tap. That's what apps like Animoog have to scan for newly launched midi ports.
Anyway, it's not a huge deal. Just a bit annoying to have to restart AEM.
I talked to the AUM author. He said that AUM does not send these messages, but iOS, so I just changed it to update the MIDI ports on kMIDIMsgSetupChanged and see what happens.
I have added it. The user also contacted me by email. I think he/she just chose the wrong option (MIDI track) instead of virtual instrument, now it seems to work.
Yay!
Beta testing.... Recording au instrument parameter changes now works (at least with Roli Noise and Model D which I’ve tried so far - and previously didn’t). This is really great.
Also great is the little mark by any parameter in the drop down that has any data recorded. That’s really useful! Thanks.
2.0.4 submitted..
Yay!!! It’s going to be a great update!!
So cpu usage... I’ve managed to overload this a few times now. I think it’s related to some au’s getting stuck notes so hopefully will improve as things get more stable. In the meantime what do I do to get round it? Any settings combinations to try? Is there a way to render a track to audio and ‘disable’ the au version until I want to edit something?
Just want to give a massive shout out to this app and developer. I am having my first go at mixing a track in the DAW and it is feeling really good. It’s simple and slick and seems very stable for what I’m asking of it. Really high quality Tonebooster IAPs as well.
@dwrae is Ableton Link a possibility in the future? I really want to do some AUM sequencer jamming over the top so that would be icing on the cake. Also, my stems come in a little hot so I adjusted the audio input level preference but it would be nice to see what I am adjusting it to with the slider.
Nice work! 👏
What would be nice is if AUM responded to IAA sync and transport. Then Link wouldn’t be needed at all. You could just load AUM up in whatever host and it would sync as it should.
Or ... maybe it does and I’m just not setting something up correctly?
It might, but AEM will never be able to change tempo or jump to a certain position on the fly.
I think that’s a limitation we could live with, personally. Just start AEM at the beginning of the Link bar and suddenly we’d be able to have all those link apps play along in sync.
I’m always amazed when DAWs can’t handle tempo changes within a track. It is, after all, a basic component of musical expression. Even if it’s too difficult to do it on the fly, it should be possible to have a master tempo graph showing bpm against track position, draw in your changes and run a process to ‘bake in’ the changes to take effect the next time you hit play.
I agree, and there's a reason for this.
A "perfect solution" would be to re-pitch the audio on the fly - a simple resampling operation, but tbh, who wants that?
So a more modern approach is time-stretching with some more or less quality loss involved. If you sync to external gear, offline calculation is no option because people "just want it to work", especially when people like to record their guitar lick at a lower tempo while listening to what's recorded already.
Cubasis does it when you switch audio clips to [Auto] Time Stretch mode.
In fact I wonder why Slave-Syncing to Midi Clock and LINK is not implemented yet, as they have everything else prepared for it otherwise.
Too much competition and work, it's not economically viable.
Actually it already is - in Arranger and piano roll, we can tap an arbitrary position on the timeline and AEM will be happy to follow immediately, be it for audio or MIDI tracks. This is basically no different from syncing to an external clock signal. Of course it can be refined for audio but the first step is done already.
But it takes half a second or so (or longer depending on the number of audio tracks).
I’ve just been reading back through the thread and found the bit about freezing tracks. Is this likely to happen @dwrae ?
I can’t work on my current song anymore as it’s going over cpu.
Great job and hats off for being so open! Are Auria/ProTools style transient detection and audio warping in the roadmap, @dwrae?
It is likely to happen, but can you please tell me how many tracks you have and how many effects and virtual instruments and what type (AU, the app's own effects/instruments, IAA, etc.)? Is this something you would expect to run into in other DAWs at this point?
Although I haven't investigated it thoroughly what they do, the answer is 'probably not any time soon', sorry. Oh, forgot to put on my marketing cap: "Yes, thanks for your feedback, we will put it on our todo list!".
No problem! What about the MIDI PPQN in AEM?
Hey, this is great to know! Thank you!
I’ve got to be honest, I’ve not used Auria or Cubasis at all so this is my first time properly using AU, so I don’t know what kind of limits to expect. I’ve got 7 tracks, 5 of which are au, 1 of which had an au effect on it. Im using Zeeon on 2 tracks which I think is cpu heavy.
So I’m not surprised at all that this overloads the cpu, especially as I’m on iPhone X and not my iPad
But freezing tracks would presumably make this never really a problem?
Yep, depending on your device, that’s gonna kill things.
For now, why not just render the AU tracks to audio in new tracks. Then unload the AUs (making a note of their presets in case you need to go back and tweak them)?
But yes, freezing would be very good. Much less hassle than the above.
It would kind of solve it, yes. Does the C indicator at the bottom right turn red when you playback?
Guys I loaded Ruismaker as an AU on a midi track but how do I launch the UI for Ruismaker. On iPhone SE latest OS.
Thanks!