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.
MIDI and/or Link to MIDI Time Code Generator
Anyone know of an app that will take link and/or midi clock from a host and output MIDI Time Code?
Looking to sync some external gear via MTC. I've found a couple generators, but nothing that takes the current clock source and syncs MTC out.
Thank you and stay awesome peoplez!
Comments
There is a LINKtoMIDI app
https://alexandernaut.com/linktomidi/
He is looking for MTC (Midi Time Code) not MIDI Clock...very different beasts. I’d love for such an app, too.
Only thing I can think of is Auria Pro. But that’s no answer since it would have to be the master, and then you’d still need Audiobus something to do the MIDI Clock to Link bridging.
This won't work without hacks.
LINK talks relative position, MTC talks absolute position.
Yes, it would have to be an app that acts as a master, sending both MTC and MIDI Clock and/or Link. Nothing like that seems to exist.
I kinda think Auria Pro as the master plus MIDI Clock out to Audiobus, with Audiobus bridging MIDI Clock to Link might work, but have no way to try it out and it might not be a great answer anyway.
Hmmm, when I think about it, translating MIDI clock into MTC starting from an adjustable offset could work.
You would need a Streambyter/Mozaic counter that advances with every clock pulse received and send a calculated MTC time.
But maybe there's a "better" solution to go back to the eighties' technology:
Reserve an audio track in your DAW, record a SMPTE audio track and use an old SMPTE to MTC converter 😂
Trouble is millisecond timing isn’t really accurate enough. I don’t know about StreamByter, but Mozaic doesn’t do better than 1ms timing. At 120 bpm clock ticks can be off enough to cause some real issues. I don’t think you could pull this off with a script.
MacOS has 1ms precision too, most likely that's an iOS limitation. If Mozaic can deliver at 1ms intervals, that should work!
I don’t think so. You’re welcome to try, but I don’t see how it can be successful.
MacOS and iOS real time clock precision isn’t related to audio and midi timing resolution. At 24 FPS one tick is approximately 0.0416666667 sec. DAWs run at many times that resolution, so I know they’re not limited to 1ms timing accuracy.
You can use Link to sync to ableton and use a M4L device to send MTC from Ableton.
That’s the only option I know of.
Add to this that a full 32 bit MTC frame is broken across 8 4-bit messages, so you really need to send out messages 96 - 120 times per second. Scripts just can’t run at those resolutions accurately.
[edit ... well, not while trying to calculate BPM accurately from incoming midi clock tick arrival times anyway.]
WOW! Wasn't expecting everyone to take a deep dive into it.
I had a feeling nothing really existed, so figured I'd ask here.
I am aware of this solution, but trying to avoid running a DAW just for this
I thought of this as a possibility as well, but kinda came to the same conclusion that it wouldn't be efficient enough
Sending clocks all over never really worked out well for me.
I have a feeling this is really the only way to go if there was no app in existence.... MIDI AU as a master clock similar to midibus but with MTC in it.
You went into detail about how often (96-120x/sec) it would have to send. How much of a tax on the CPU would this take on the iPad? I actually wouldn't mind running it standalone on a phone as a dedicated clock, or even a hardware DIY clock.
Really the only thing I found was this and it even says "not intended as a reference clock"
https://apps.apple.com/us/app/itimecode/id862496617
My use cases for this would be:
-- Slave Logic Audio to iOS/AUM
-- Clock to external lighting boards/DMXs
-- Combination of both
On a scale of 1-10, how difficult woudl it be to create a master clock app that outputs MTC + MIDI Clock and/or Link via USB (or network too if I'm dreaming of a wish list) for someone who sucks at coding but could bumble his way though it with some github libraries?
Thanks for the input everyone. Very helpful!
I don't think a dedicated app would be a burden on an iOS device. Audio is many times more taxing than the 24 or 30 fps that would be needed for MTC. However, I don't think it would be successful as an AU. It might work if the "clock source" was the host and all the AU did was send MTC out ... provided the host could keep up with that much midi traffic. But I doubt it.
It would not work well to try to pass MIDI Clock into an AU plugin, then spit out MTC. This is because of all the hosts I tried, only AUM even passes received clock messages through to plugins.
I can't answer that for you, but I'd put it way beyond entry-level.
On a side note, I've been experimenting with Arduino as a hardware midi clock. I thought I was able to get the Arduino to put out accurate clock, but was disappointed with the amount of jitter when I hooked it up to iOS. Somewhere in the next few months I plan to try with an external crystal clock breakout to see if that helps. If I ever do come up with a stable enough design, I would also plan to include MTC as an option.
This intrigued me for a while: http://circuithappy.com/products/themissinglink/
Would be nice if it just spit out MTC as well
Ive done a couple basic hardware ones myself for experimentation, but Ive had much more success with the teensy platform over Arduino for any sorts of midi. Im far better with a soldering iron than i am with xcode
Actually, I used "Arduino" in a generic sense. I've mostly been working with Itsy Bitsy and Feather. Teensy may be in my future, but we'll see.
Writing an Arduino sketch is orders of magnitude easier than writing an iOS app.
Con't From https://forum.audiob.us/discussion/41641/show-n-tell-raspberry-pi-ble-midi-bridge-thingy/p7
There are a couple iOS MTC generators, but none that will start stop when MIDI/Link start stop
Auria sends MTC, but doesn't receive midi clock/link, and I'd rather not run a whole DAW just for a clock
I’d suggest writing to @Michael to see if a future version of Audiobus could add MTC (and midi song pointer) to its input/output options. It would be mega useful.
So ... after a brief hop from another thread.
If I understand correctly, the last thing you mentioned in the other thread is the device would need to
I assume it needs tempo information from somewhere, otherwise there's nothing to base the MTC on. This means either:
Or ... am I still misunderstanding?
close
Midi Clock on iOS is master Midiclock
Start on Midi clock triggers start on MTC (stop/stop, contine/continue, etc)
MTC sent out whatever (usb to DIN interface, network midi to DIN interface) to MIDI DIN to gear that only accepts MTC
MTC doesn't send tempo so getting/converting tempo wont happen.
The app i'm picturing would be the master midi clock on iOS that just happens to output MTC as well.
Kinda like MiDiBus (https://apps.apple.com/us/app/midibus/id648856167) that also happens to send MTC at the same time (and sync with Ableton link).
You could also think of it as if AUM also sent MTC in addition to MidiClock and Link, and just remove those 3 things, and bundle it as its own app.
It would be nice if it calculated the PPQN of midi and placed the MTC playhead appropriately (according to tempo)
OK, I think I begin to understand now. MTC starts and stops based on messages received from iOS. Frame number is zero when Start is pressed. When pause is pressed MTC stops on resume frame count continues where it left off. When Stop is pressed MTC stops and frame count returns to zero. Is that how it would work from a host that returns to the beginning of a song when Stop is pressed?
That leaves playhead positioning. Let's say an app that has a timeline is started from an arbitrary position along the timeline. I assume the frame number would need to be calculated based on the BPM before starting MTC?
Anyway ... as mentioned before, this would require a standalone app. The 1ms granularity of Mozaic's system clock is inadequate. That's beyond my pay grade.
In this scenario (not having to convert midi clock sync to MTC), a Raspberry Pi might be able to manage, but I doubt it would be accurate given the non-realtime aspect of the OS and the relatively unstable system clock. An Arduino style device could probably do a pretty good job of it. Understanding the intricacies of MTC with its different frame rates, and its drop frame and non drop frame formats, etc, could be challenging, but it's all well documented.
I still think drift would be an issue. I don't have any solid basis for that other than just knowing that two devices running uncoupled timing streams are unlikely to maintain accurate sync.
Yeah I was aware that scripting it in mosaic wouldn't be accurate enough, and see now that overhead for anything other than a straight C+ language would affect timing as well.
Thanks for talking this through with me. I have a much better idea how to pursue this.
This seems more feasible now after last night I was reading the apple MIDI documentation and the libraries for the midibus.