Developer Michael Tyson (Loopy, AudioBus) wants his upcoming Loopy Masterpiece app to have rock-solid MIDI sync, with hardware and other iOS apps. In working on this, though, he found that he’s fighting the fact that MIDI sync is not implemented consistently across iOS apps.
To address this, Tyson has announced The Spectacular Sync Engine – an open source, standards-compliant, solid MIDI sync engine for iOS.
The Spectacular Sync Engine is designed to easy to work with, and provides precise, jitter-free MIDI clock transmission and robust, error-tolerant MIDI clock reception for iOS apps.
According to Tyson, the Sync Engine is unit-tested, accompanied by extensive documentation and a complete sample app, The Spectacular Sync Engine is designed to let devellpers easily add sync support, without needing to worry about the details.
See the SSE site for details.
Nice Work – Looking forward to this!
Hopefully this will be super tight so that when I sync a drum machine app on my iPad with a daw like logic, it will follow SPP as well, when using devices like the iConnect MIDI+
Fully applaud this… excellent work!!
… but why oh why is this not part of iOS as standard?
With any luck this will be adopted widely by developers and eventually make it’s way seamlessly and painlessly into iOS.
This is code that goes in apps, not OS-level code.
Think about it like plumbing inside your house, that you or your builder is responsible for, versus the infrastructure needed to bring water to your house.
No no…. that’s a total misunderstanding of what’s going on here!
Think of the boundary of your house as being variable and the reality is that you are able to abstract the functionality at any level – it’s totally possible (and the right way to do it) for the sync part of it to be provided by the OS that apps tap into 🙂
There is already code in iOS that does the same job, it’s just got problems and doesn’t work that well sometimes.
The apps that perform better than others are essentially ‘fixing’ the problems with iOS midi sync.
That’s why this section of the code is being released as open source for developers to include in their apps.
The point is that this section of code could equally be part of the OS that developers use instead of a custom library they have to import.
Brilliant stuff! Excellent work Tyson, I really hope that this can help with diagnosing the sync issues I have been having with Lemur and external sync from HW/SW clocks. Sequencers are pretty much useless if they cannot keep stable time with the rest of your studio gear. Im so glad that a developer is taking this seriously.
Its very frustrating not being able to identifiy where sync issues stem from as you are left in the dark as to what your next move should be to improve things – should you believe the developers who say that it is your setup and invest money into a more stable masterclock or a more powerful iPad or should you abandon the problem app with its claims of “rock solid timing” to find a replacement app which implements sync more robustly. Finally it might be possible to know which move to make 😀
Thank you Tyson!
Great news! If this catches on I can finally ditch my Atari Mega STE 🙂
Interesting idea. I use midibus in my app midiSequencer and the clock is rock solid (tested on midi hardware not an iOS device)
i for one have signed up to it and will offer it as an option (like Kores own WIST)
The major problem for any dev (and this includes midibus) is the presentation layer : how sources and destinations are presented, connected and maintained (connections are already maintained by CoreMidi).
midiSequencer presents different options for inputs & outputs (sources/destinations) such as filters on note, cc or fx notes, along with enables on interface and clock.
Midibus only has one clock, so it would also be interesting to.see if the is enabled/clock divided to multiple destinations??
And of course there is the new midiFlow app…
But Michael is a top dev, I already use some of his code for midiSequencer, and integration into AB somehow seems right.
lastly don’t forget OSX, midibus works with the same API!!
Props for people that create standards like this for other app makers and musicians to use.
It’s been mentioned on other sites and still needs an answer. “What about MIDIBus SDK?”
MIDIbus SDK does not support MTC, Tasty Pixel’s will.
Wow seriously? MTC support? If so that is brilliant news.
But, will we as end users be able to adopt these features into our existing apps or will we need to rely on the developers to include this for us?
Im hoping the former. Lemur with MTC sync slaveability would be truly good news. Im more than happy to go without tempo changes so long as sync can just work and be stable.
Great news! Thanks for all the news about masterpiece 🙂