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.
Introducing: LINK TO MIDI — Out now!
Super excited to officially release Link to MIDI! Woo!
So here it is, in all its utilitarian glory:
https://itunes.apple.com/us/app/link-to-midi/id1066216595?mt=8
A few things I want to mention...
Why use Link to MIDI
The main use case for Link to MIDI —and the only recommended one — is for use with external hardware. More specifically, to sync your favorite drum machines, sequencers, and 303s to the Ableton Link session. It's awesome.
However! And I can't stress this enough, syncing apps is not recommended! When using Link to MIDI, please keep in mind that Link was built for a reason. And that reason is! MIDI Clock Sync is simply an insufficient protocol for modern music software.
I understand that some of our favorite apps haven't implemented Link yet, and Link to MIDI may very well work for perfectly for some of these apps, but please please please don't let Link to MIDI stop you from requesting the developers of those apps to implement it :]
Why I believe the other direction (MIDI Clock -> Link) is not the best idea
I've gotten a few requests to implement the reverse of Link to MIDI — namely, MIDI to Link. And I want to explain in detail why I think this is counterproductive, and — most importantly — will not work well!
To understand why, you first need to know that Link's only input mechanism for changing the tempo of the Link-session, is a simple tempo value. This tempo value is only sent when the tempo changes. This is by design (an incredible design btw), and in contrast to how MIDI Clock works (which sends ticks at a very fast rate). One huge benefit of this is that apps that need to calculate sample data depending on tempo don't have to constantly recalculate their values (as they would in a MIDI Clock Sync implementation).
Ok, so by sending MIDI Clock to drive Link, you'd have to constantly calculate the tempo from MIDI Clock (which changes slightly every tick (24 times a quarter note!)), then update Link's tempo on each tick.
Side note: at this point we're changing Link's tempo at the MIDI Clock rate, and have essentially lost the benefit I mentioned before!
Anyway, as a result of updating Link's tempo 24 times a quarter note and the fact that Link was not designed to respond to tempo changes as if they were MIDI Clock ticks, the Link-enabled apps will eventually become out of phase with the MIDI Clock system. It may seem to work at times (for small changes in tempo perhaps), but larger tempo changes will certainly highlight this problem*. However, the most important takeaway from all of this is that... Link is simply not designed for this! And for good reason :]
Cool!
That went on longer than expected... But I hope it was helpful.
Also, a huge thank you to all the Beta testers. Some last minute changes and clarifications were made thanks to you all. So thank you thank you thank you :]
If you have any feature requests, questions, or anything else, please let me know. Also, if you wind up using Link to MIDI in a crazy setup, please share. I've got two instances right now controlling a Roland Tr8 and a Xoxbox, and... it's awesome :]
All the best,
Alexander
// end rant
*EDIT: I realized after posting this that there is a solution for keeping the two in phase. You could keep track of MIDI Clock's beat time, and constantly compare that to Link's beat time. Then continuously adjust Link's tempo value to compensate for the differences. Control Theory! Anyway, this solution will lead to Link session playing a noticeable catch-up between large changes. This plus the effects of changing tempo at MIDI Clock rate, I still don't think it's a great idea.
Comments
@Alexandernaut
Hm, I have some iOS software * connected to link 2 midi,
I'm controlling the tempo of the other app via link to midi,
If I switch back to the other app it says connected to zero apps,
Now the question
A) doesn't it show up in the other app because link to midi is in the background?
b ) no it's supposed to say connected to ..., something * is wrong
Oh and thx for the free goodie
@lala, I'm assuming you're connecting to the 'LINK to MIDI' MIDI Out port?
If so, go to the app, tap the MIDI button and select 'LINK to MIDI' MIDI Out.
I hope this is the issue. In any case, I should definitely hide that port when not being used though... thanks for the heads up.
Hi,
No midi involved, I'm just testing link on iOS
With your app and something else
So the other app is supposed to say zero apps connected?
But I was controlling the tempo a sec ago with it, this looks wrong to me
Just say it's not you, then I know what to do ...
@Alexandernaut,
You are the best! I will not use Link2Midi to synch apps.
The Fugue Machine has the best clock and tempo synch I got so far. Your words certainly confirmative.
I had one time informally ask you a question, that is 'Can you implement a Chromatic Scale for Fugue Machine? ' because I like the It to sequence drum apps. Weird, I know the feeling.
Thank you, cheers.
Ah, I think I understand now.
If Link to MIDI is not connected to a MIDI port and then goes to the background, Link to MIDI will be removed from the Link session since it's not connected to anything. However, if you were to connect to a destination, when you go to the background, it will stay active.
This is part of the Link implementation guidelines. The intent being not to have apps in the session when they aren't being used.
Does this clear it up at all?
Yes that helps. Thank you very much.
LINK to MIDI works great.
@lala @Alexandernaut as the documentation says, you would need to open up LINK to MIDI last or else the app does not see the MIDI connections established after that. It would be nice to have a refresh button in LINK to MIDI which scans the iOS MIDI ports so that you can make connections that way.
I agree with Alexander that LINK to MIDI should not be used as a substitute for developers adding LINK support to their apps. I see LINK to MIDI being used in a couple of scenarios, for MIDI hardware, for iOS devices that can not do LINK due to what iOS can run on them, and apps that are no longer supported. Using LINK to MIDI beyond these cases in my opinion would only needlessly re-introduce iOS MIDI sync problems which LINK has already resolved.
I appreciate the explanation about how LINK works and why MIDI to LINK will not work at all. The info about LINK not being active or connected when a connection isn't being used makes a lot of sense too.
@Kaikoo haha, thank you thank you :] And yes! Chromatic scales (and other sizes) in Fugue Machine are definitely going to happen. As I likely mentioned before, it's an interface challenge, but one I'm certainly planning to address.
In any case, I'm super excited to get back to Fugue Machine stuff. Monday! First up, finish up the per-playhead midi routing implementation :]
@lala awesome :]
Alexandernaut,
Wow, you know Fugue is my all time best machine. Meaningful to me than any other sequencers and arps. I just got that hard to drive Cream Mobile, without Fugue, it can not do a thing to Auria. Fugue always be my saver! So, don't be surprised I use it to drive drum machines.
Excellent news!
@Alexandernaut
Re: Midi to Link issues -
-- could midi to link be designed in such a way as to filter the midi ticks and only pass the relevant (tempo has actually changed) info when it happens?
@Alexandernaut, thank you for supporting IOS 7.0. and releasing great apps.
@paul, from my testing, if you add a MIDI device (in my case an iRig 1) while the MIDI To menu is open, it should add it to the list automatically. Does this not happen for you?
Also, regarding the virtual midi port dilemma, thanks so much for your convincing words on the other thread. I'm glad I allowed them after all :]
@Kaikoo thank you thank you :] And yes, controlling a rhythm with Fugue Machine is super fun... there are workarounds at the moment. For example, for me, when using Ableton Live, I just build a drum rack that has the drum tracks that respond to the available notes sent from Fugue Machine. Either way, chromatic scale, yes.
@asnor this is actually how I assume many developers implement MIDI Clock who can't just use the incoming clock ticks to drive their apps — there are a handful of reasons why certain apps have to do this. The problem is that, when there's a tempo change, that filter you suggested will slow down the tempo change. For example, if you go from 100 bpm to 120 bpm, the slaved device will slowly make its way to 120 instead of changing immediately. By the time you've gotten to 120, you'll likely have lost beat phase.
Ahh, ok; got it. Thanks!
@asnor actually, within the time I responded to you, I realized there is a solution to the out of phase problem using some fancy control theory (please see my edit in the first post).
/ I've actually never implemented this type of midi clock sync implementation — all of my apps are tick based — so never had to address this problem
However! The catchup will still be noticeable. So as I also mention in the edit above, this catchup plus the effects of changing Link's tempo at MIDI Clock rate are why I still wouldn't want to implement it.
Hope this helps and sorry for any confusion.
It would be interesting to see if any volca owners have anything to report in regards to link to midi. Has anyone tried this combo?
@supadom I've tested with a Volca Beats and Volca Keys and it worked great :] Also:
@Alexandernaut LINK to MIDI won't see an app if I open LINK to MIDI first and then open the app in IAA or Audiobus. If I open up an app in IAA or Audiobus and then open up LINK to MIDI, LINK to MIDI sees the app. The hardware MIDI doesn't matter, it will be added regardless. This is on an iPad Air 2 running iOS 9.2 and an iPad Mini 2 on iOS 8.4.
Furthermore if I add apps to IAA after starting LINK to MIDI it doesn't see them but can see an app added to IAA before starting LINK to MIDI. As an additional complication I can close out an app and it will still appear in LINK to MIDI and can be selected as a viable option. Of course the app will not produce any sound because it has been closed. If I hit the off button to bring up the slide to power off command and then hold the home button the closed app will no longer appear in LINK to MIDI. If you have an iRig attached while doing the IAA or Audiobus, LINK to MIDI sees the apps regardless, but if you attach the iRig after doing IAA or Audiobus LINK to MIDI sees the iRig but not the apps. If I attach the iRig while I'm in another app, it doesn't show up in LINK to MIDI. I can also replicate a situation where if I already have LINK to MIDI open and it has three apps in IAA that it sees and then go to the IAA host, plug in the iRig, switch back to LINK to MIDI and LINK to MIDI won't see the iRig and I can go to Midiflow and it will see the iRig. I can then close out all of the IAA apps and LINK to MIDI still won't see the iRig but I can open up Midiflow and it will see the iRig when I close out Midiflow and open up the IAA host with the three MIDI apps they along with the iRig are not seen by LINK to MIDI after which I open up Midiflow which can see all three MIDI apps and the iRig when I return to LINK to MIDI, LINK to MIDI sees the Midiflow ports but none of the other apps or iRig; however, if I close out LINK to MIDI and reopen it again, all of the apps and the iRig are seen by LINK to MIDI. This is why I'd recommend adding an option to refresh available active MIDI ports to LINK to MIDI. These shenanigans were done on an iPad Air 2 running iOS 9.2.
For everyone else, try adding LINK to MIDI last.
I appreciate your willingness to add virtual MIDI even though it is problematic and sometimes people will blame the developer of the app trying to improve the situation rather than the MIDI support provided by the receiving app with issues or iOS.
@Alexandernaut Thanks for the explanation. Reminds me of shipboard missile defense.
@Paul ok ok, I haven't experienced myself, but i'll add a refresh button regardless. It's easy enough :]
@asnor ha! yeah... pretty much :]
Cool thanx for this i will try this on my new Aira System-1
@Alexandernaut thank you again, a refresh MIDI ports button would be great.
Link to arpeggiators established successfully with xynthesizer, steppolyarp, thesys, cream, as well as fx wow (@Buska), turnado and effectrix (with fuguemachine as the source) ...
Working great with a Strymon Timeline!
hiya Alexandernaut
...with multiple external midi instruments - using linkTomidi can different external midi synths stop & start independently? Can one use one usb2midi hardware converter i.e. conectivitymidi4 (before i buy - at the moment I'm using a roland 1x midi i/out 2 usb cable)
thanks
rafs
p.s. thanks for an awe-some++ app!!