We look at why MIDI interfaces aren't always to blame for your MIDI timing problems, and report on the latest news regarding Yamaha's Open Plug-in Technology.
This month I suffered from an annoying problem with one of my songs. The song in question had been running without problems on Cubase VST 5.1 under Windows 98SE, but after importing it into Cubase SX on my new 'XP Music' partition, I detected a few timing problems. In this situation, the temptation is always to blame the MIDI interface or its drivers, but there are many other things that can disturb the timing of computer-based MIDI and audio tracks, including CPU overload, slow or incorrectly set up hard drives, the interruption of background tasks, or an unsuitable application setting.
To begin with, I made sure I was running the latest versions of my music applications, since there's no point spending hours tracking down a problem that may have already been cured. And sure enough, I discovered updates for both Cubase SX and Gigastudio, although installing these had no effect in this case, and the relevant readme files didn't mention anything about known timing issues. The problem wasn't caused by my PC being on the brink of CPU overload either, since the song had no audio tracks or real-time plug-ins, only a selection of MIDI tracks routed either to my hardware synths or Gigastudio.
At first, the problem was so subtle that I couldn't quite decide what was happening, other than the timing not being quite solid; but after further work on the song, I eventually started to notice occasional timing glitches, almost as if some background task was periodically interrupting SX. My Roland JV1080 synth sometimes missed complete chords in certain parts of the song, which gave me something more substantial to focus on.
Zooming into SX's graphic display showed a bizarre phenomenom: just after the chords in question should have sounded, the Project Cursor would suddenly jump forward slightly, confirming my initial diagnosis of some short but temporary interruption. Also, despite the lack of any CPU-hungry software instruments or effects in Cubase itself, even though SX's performance meter was hovering near zero, the Over indicator would occasionally light up.
However, once I soloed the track with the problem, all the notes would sound normally, and by a process of elimination I narrowed down the culprit to one of the Gigastudio tracks. The problem occurred when this track was active, and disappeared when it was muted, which gave me the clue. A closer look inside Gigastudio proved that its CPU meter was giving occasional jumps beyond 90 percent, despite running the same song under Windows 98SE in Cubase VST 5.1 with a Gigastudio overhead of about 25 percent, and only using a maximum of 64 notes.
Playing 64 notes from an external keyboard directly into Gigastudio didn't cause the same problem, so I deduced it had to be some interaction between Cubase SX and Gigastudio, which pointed to the GSIF and ASIO drivers of my Echo Mia soundcard. However, running in isolation, SX could would happily use the lowest 256-sample ASIO setting, and Gigastudio its lowest 64-sample setting.
Changing my Mia's GSIF buffer size didn't make any difference, but increasing the ASIO buffer size inside Cubase SX from 512 samples to 1024 completely cured my timing and missing note problems, still giving me a workable 12ms latency, although the Giga CPU meter still occasionally displayed very high values. Increasing the ASIO buffer size to 2048 samples (23ms at 44.1kHz) let Gigastudio drop back to more normal peak values of about 25 percent, and my timing was subsequently rock solid.
The moral of this tale is never to assume that bad MIDI timing must be down to the MIDI interface. In this case, it was a complex interaction between two soundcard drivers running simultaneously on the same PC, even though the selected ASIO driver in Cubase wasn't doing very much. In fact, it's worth noting that Cubase always opens the selected soundcard driver, even when it's producing no sound.
If you've ever fancied being able to run third-party synth editors seamlessly within your choice of MIDI + Audio application without worrying about multi-client MIDI drivers, or being able to view and edit your MIDI events in many different ways besides those already on offer, Yamaha's OPT (Open Plug-In Technology) is potentially a dream come true. An OPT mailing list has been open to interested developers since last October, and a software development kit has been freely available from Yamaha for nearly a year.
It's a tribute to the usefulness of OPT that Cakewalk, the originators of what would initially seem to be the rival MFX (MIDI FX) technology, have embraced it wholeheartedly in Sonar 2.0, while Sonic Foundry have also implemented OPT support in Acid Pro 4.0. However, despite the extremely positive response to OPT's launch at last year's Frankfurt Musikmesse from many other software and hardware manufacturers, there's been little sign of OPT-related software releases, other than Yamaha's own range of synth editors. This is a shame, since without more host application support, third-party plug-in developers won't be so keen to spend their time on products.
I'm a great supporter of standards that help all musicians, and Yamaha seem ideally placed as primarily a hardware manufacturer without any axe to grind in the software world. The whole point of OPT is that any sequencer developer can incorporate it without paying a licence fee, encouraging hardware manufacturers to develop control panels that make editing their synths as easy as using a software synth.
Since OPT can go much further than most MIDI plug-ins in Sonar or Cubase SX/SL and interact with existing Sys Ex data in a track, it could solve a lot of the problems that musicians currently have by letting the manufacturer of the synth access and modify its own Sys Ex data directly, in real time from the same handy control panel. Just as important to many musicians is OPT's ability to build a modular sequencer based on a series of OPT modules — you could buy a basic sequencer and whatever combination of event list, score, piano roll, drum, and other editors you really need, adding to the line-up at any time.
This is possibly why various sequencer developers seem to be incorporating plug-in manipulation of MIDI data in a variety of proprietary ways into their applications, rather than use OPT. Steinberg have developed their own range of real-time MIDI effects for Cubase SX, although they've also released an MFX wrapper to enable PC users to use MFX plug-ins in Cubase. Emagic aren't likely to even consider OPT until its promised Mac support appears shortly — currently OPT only runs on Windows 98, ME, 2000 and XP, as it's based on Microsoft's COM (Component Object Model) technology.
We'll have to wait and see what happens, but in the meantime a Russian company called Geniesys have released an intriguing OPT MIDI editor called SF2 Library for working with Soundfonts inside an OPT-compatible application, plus a host of OPT-based plugins such as Swinger, Visual Quantizer, Waltzar (for transforming MIDI tracks from 4/4 to 3/4 and vice versa), Doldrums (to fine-tune your MIDI drum sounds), and Stolen Track to split and move existing tracks. Some of these are also available in MFX format.
Musiclab's Velomaster plug-in (www.musiclab.com) also supports OPT, in addition to MFX, making light work of enhancement, compression, limiting, expansion, and gating of MIDI data, using a similar graphic interface to those offered by audio plug-ins, and I mentioned CPS Software's OPT-based CS1x background edit utility in PC Notes August 2002. Aside from these, I really hope there's more activity going on behind the scenes that will surface shortly, so watch this space.