You are here

MIDI Config Problems In OS X • GarageBand Update

Apple Notes By Mark Wherry
Published July 2004

Garageband 1.1 enables audio previews for MIDI loops to be used as actual audio loops. Here you can see a MIDI loop dragged from the browser, and, below it, the audio version, created by Option-dragging the same MIDI loop from the browser.Garageband 1.1 enables audio previews for MIDI loops to be used as actual audio loops. Here you can see a MIDI loop dragged from the browser, and, below it, the audio version, created by Option-dragging the same MIDI loop from the browser.

The launch of Mac OS 10.4, codenamed Tiger, is just around the corner, but in the meantime there's the 1.1 update of Garageband to be going on with. We reveal the improvements, as well as investigate MIDI configuration problems in OS X.

As this year's Apple World Wide Developer's Conference (WWDC) draws closer, there is much anticipation surrounding the hardware and software developments that will be announced. It was widely expected that, at least on the software front, Apple would present something along the lines of Mac OS 10.4; and, indeed, perhaps as bait to draw more developers into the conference (tickets start at $1295 with early registration, by the way), the company announced on May 4th that Jobs' WWDC keynote would feature a preview of Mac OS 10.4 — codenamed Rusty-spotted Cat (http://members.aol.com/cattrust/rusty.htm). I'm joking, of course, but Apple really are sticking with the feline codenames and 10.4 will officially be referred to as Tiger. Roar.

Other than this crumb from Steve Jobs' table, there's currently no other information available about what the feature set of 10.4 will include, although, as usual, there are plenty of rumours. Aside from software, though, the most interesting aspect could be improvements to the Power Mac G5 series, and whether Jobs' promise of 3GHz G5 processors one year on from last year's conference will hold true.

Garageband 1.1

Apple released a version 1.1 update to Garageband this month, and to find out what's new and improved in the release I spoke with Apple's Product Line Manager for Audio Applications, Xander Soren. Apple had consumer-oriented intentions for Garageband, but Soren commented that they had been surprised at the positive reaction to the program in the pro audio community. While Apple have products such as Logic Express and Pro for customers who need more functionality than Garageband offers, there are apparently many professional customers using it because of the simplicity of the interface.

The purpose of the 1.1 release was really to "polish the corners" of the application; so, instead of any significant new features in Garageband, the update provides all-round improvements to the existing feature set. One notable area this applies to is support for Rewire, which is officially part of the 1.1 update, having first been introduced in 1.01, as mentioned in last month's Apple Notes. Apple have apparently worked with Ableton and Propellerhead, amongst other companies, to ensure smooth operation with Live and Reason, and are keen to point out that they have one of the simplest Rewire implementations for users to deal with, since it just works: no configuration required. Apple also worked with third-party Audio Unit developers to ensure that Garageband works well with the most popular Audio Units.

The user interface for track handling has been improved, and it's now possible to drag tracks in the Track List to change the order in which they are listed. Also, if you ever wanted to copy the settings of one track in a Project to a new track you've just created, you can now use the Duplicate Track command, which duplicates all the settings of the selected track into a new one, but without copying the actual content of the track you're copying.

Performance was an issue that was widely discussed concerning the original Garageband release, presumably because of the number of effects active by default when you create new tracks (many people have confirmed that Garageband is no more or less efficient than Logic). However, since the MIDI loops in Garageband always included an audio preview anyway, these audio 'loop previews' can now be added to the song instead of the MIDI version, by Option-dragging the MIDI loop. The advantage here is that the effects are already bounced into the audio, saving overhead, but the disadvantage is that the MIDI loop becomes just like any other audio loop in Garageband, meaning that you won't be able to perform any additional MIDI editing on it. Unfortunately, there's no way to switch between audio and MIDI versions of loops once they've been added to the song, but this is still a welcome new feature for those who use Garageband 's MIDI loops intensively.

iTunes 4.5

Just prior to the release of Garageband, Apple also updated iTunes to version 4.5 and added a handful of new features to the iTunes Music Store, which celebrated its first birthday on 28th April. The Music Store has definitely been a success for the company in terms of marketing and publicising the idea of legitimate music downloads on the Internet. With sales of over 70 million songs in the first year, it will be interesting to see if Apple's one-vendor solution continues to appeal to the market, with increasing competition from the likes of Microsoft and Sony.

The most recent incarnation of the iTunes Music Store now incorporates music videos and film trailers — and, in conjunction with the new iTunes 4.5, users can now share playlists (but not the content, mind) with other users. But perhaps the most intriguing addition to iTunes 4.5 for audiophiles is the new Apple Lossless encoder, which manages to store audio data in half the space normally required. The Apple Lossless encoder is featured in QuickTime 6.5.1, meaning that you can take advantage of this new codec even if you don't use iTunes. Staying with the subject of codecs for a moment, iTunes 4.5 can also now import unprotected WMA (Windows Media Audio) files, although rather than supporting WMA playback natively, iTunes transcodes the files into AAC.

Citing Apple's commitment to "discourage music theft while preserving fair personal use rights," the company have reduced the number of times you can burn a single playlist from 10 to seven, although you can still burn single songs an unlimited number of times (in different playlists) and copy them to an unlimited number of iPods. Still, if Apple taketh away with one hand, they giveth with another, since you can now play content purchased from the iTunes Music Store on five Macs, up from three. We'll be looking more closely at the FairPlay copy protection system, as well as the new lossless encoding, in a future Apple Notes column.

When MIDI Goes Bad

In an effort to win a prize for the largest Core MIDI configuration, for the past few months I've been trying to help tame a system comprising 12 MOTU MIDI Express XT USB MIDI interfaces. These devices were connected to a PowerMac G5 via three USB hubs: one hub connected to the actual computer, with two additional hubs branching from this to connect the MIDI interfaces. After plugging these devices in one by one, to establish the order in which they would be identified by Core MIDI, as shown in OS X's Audio MIDI Setup utility, I always wondered what would happen if the order somehow changed — and this month I found out.

Because Emagic's Unitor and AMT MIDI interfaces chain together with only a single USB connection to the computer, Core MIDI sees this setup as a single 64-port MIDI interface.Because Emagic's Unitor and AMT MIDI interfaces chain together with only a single USB connection to the computer, Core MIDI sees this setup as a single 64-port MIDI interface.

The system in question ran Nuendo 2 as the sequencer, and a side problem we'd been experiencing was that when Projects consisted of a fairly large number of MIDI tracks — 250, for example — the Project could take several minutes to load. While I initially suspected Nuendo to be at fault here, switching off the MIDI interfaces would cause the same Project to be loaded in a matter of seconds. And creating a smaller Project with fewer MIDI tracks also resulted in more bearable loading times. The hypothesis is fairly obvious: a larger number of connected MIDI tracks in a Project results in longer loading times — and Core MIDI itself probably isn't to blame since Logic doesn't have this issue.

Getting back to the first point, the system in question underwent a hiccup this month, such that the order of the MIDI interfaces mysteriously changed. But more than this, the interfaces were seen by Core MIDI as if they were different interfaces than those previously connected. Why would this be a problem, I hear you ask? Well, Core MIDI assigns a unique identifier to each MIDI interface in the system, which an application can make use of to identify specific interfaces. If these identifiers somehow change, an application, such as Nuendo, won't re-load your Projects correctly because as far as it can tell, the interfaces used by the Projects no longer exist!

This is the point at which the long Project loading times really became a problem, with loading times roughly doubling. This was probably because the Project first looked for all the interfaces that didn't exist any more, before trying to connect to the new interfaces. When the Project did eventually load, Nuendo 's Pending Connections window revealed that, indeed, it could no longer see the same MIDI interfaces; but because the interfaces were listed as a series of cryptic numbers, there was no way (other than the tried and tested method of poke-and-hope) to remap the Project to the new interfaces. And even if we could have discovered the best way to remap the interfaces, the average Project loading time would have been four minutes for the remapped Projects!

If It Bends, It's Funny. If It Breaks...

Fortunately, Core MIDI architect Doug Wyatt was kind enough to offer some advice about what could be causing these problems, and it definitely seemed to point to an issue with the drivers for the MIDI interfaces. In theory, if each USB device has a unique identifier (such as a serial number), the order of the interfaces should never change, no matter what their location on the USB interface. To confirm that the MOTU interfaces could indeed be uniquely identified, I switched off interfaces five through seven and then turned on interface six again. Audio MIDI Setup confirmed that interface six was active again, meaning that the system could identify the correct interface, rather than finding the next empty slot.

Since each MOTU MIDI interface has its own USB connection to the computer, CoreMIDI sees each individual interface separately.Since each MOTU MIDI interface has its own USB connection to the computer, CoreMIDI sees each individual interface separately.

While I've yet to find a solution with the MOTU interfaces, after swapping back to eight Emagic MIDI interfaces (one Unitor8 and seven AMT8s) and sacrificing the extra 32 ports of MIDI, there were two interesting points to note. Firstly, the Emagic driver makes Core MIDI see the multiple interface setup as one giant 64-port MIDI interface, since instead of connecting each interface via USB, you connect only the first via USB and then chain the other interfaces via the Unitor/AMT's serial connections. So far, this seems to have eliminated the chance of the interfaces changing order.

Secondly, loading times in Nuendo have gone down from two minutes to 20 seconds, which is obviously a big difference! However, the big question is whether this simply because the system now has fewer ports, or if it's something to do with the MOTU interfaces taking longer to initialise when Nuendo communicates through Core MIDI. I would certainly be interested in hearing of other users' experiences with multiple MIDI interfaces where the driver model sees each interface individually, especially those using sequencers other than Logic and Nuendo.

In the meantime, one workaround for worried users of Nuendo or Cubase is to use the application's MIDI Device Manager and always map your MIDI Tracks to these virtual devices within the sequencer. In this way, even if the state of your MIDI interfaces change so that Cubase or Nuendo no longer identifies them correctly, it's easy to remap the virtual devices to the correct physical devices in the MIDI Device Manager window.