Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now


How the Leopard Got His Spots

In Rudyard Kipling's The Jungle Book, the Black Panther chides Mowgli, saying, How can his little head carry all thy long talk? Well, my TiBook's little

In Rudyard Kipling’s The Jungle Book, the Black Panther chides Mowgli, saying, “How can his little head carry all thy long talk?” Well, my TiBook’s little head is carrying around a bunch of long talk these days — namely, Mac OS 10.2, also known as Jaguar. Whether you call ’em panthers, leopards or jaguars, Apple’s point-two version of OS X has more than 100 improvements, and many of them translate into more joy for the audio practitioner.

Let’s start with an underlying philosophy of OS X: Apple’s historic, ongoing assumption of responsibility for “services” that, on other platforms, prove to be a burden to application developers. By services, I mean OS 10.2 has built-in support — via flexible, global APIs (Application Programming Interfaces) — for protocols like plug-ins, PCM processing, audio “rendering” and pass-through, stuff that can be a real bear for programmers to home-brew. Remember that APIs are documented “hooks” for programmers to communicate with someone’s hardware or software. Having a built-in framework makes for faster development of simpler and more stable software.

We all know that plug-ins are like other techy gear: you can never have enough. Along with support for VST and TDM in OS X, Apple debuts a new native plug-in architecture called Audio Units. Audio Units build in native support for hardware and software, which takes care of timing, buffering and real-time control.

Now, a word about real-time vs. not really real-time. Even though OS X is a multithreaded, multitasking OS, services for PCM are sample-accurate and gracefully handle their tasks with overall latency in the 3 to 5ms range. All modern operating systems are able to time-domain multiplex the tasks that they’re asked to perform. It’s a bit like being an octopus: One tentacle is working on an e-mail job, while another does a reverb convolution, while still another manages hard disk accesses. As I write this, my TiBook is juggling at least 49 separate processes, and I don’t need to care, because the computer’s time-management skills are transparent. But I would care if there were noticeable and unwanted delay in something my mixing desk was doing, or a recording had a gap in what are supposed to be contiguous samples. Ooops. So, prioritizing tasks is a major aspect of a well-tuned operating system.

In OS X, Apple has provided a new set of multitiered API services “so that applications and MIDI hardware can communicate in a single, unified way,” according to a representative at Apple. These services “range from low-level access to particular audio devices to sequencing and software synthesis.” Did they say MIDI? In the past, Apple has relied on dicey third-party solutions for MIDI due to a suit brought long ago by that other Apple, the one that owns a Brit record label. (If you’re too young to know about this, ask your local neighborhood geezer. Anyway, that’s all history.) So, if MIDI makes your day, then check this: OS X’s primary goal of MIDI services is “interoperability between applications and hardware so that everyone is working to the same MIDI System Services standard.” In other words, universal, predictable, industrial-strength MIDI support written by the architect of Opcode’s OMS and Vision. Other good stuff includes providing your MIDI I/O with highly accurate timing, which translates into latency under 1 ms and jitter or short-term timing variations under 200 microseconds. In addition, DLS (DownLoadable Sounds) and SF2 (SoundFont 2) files as sample data are supported for sample-based synthesis.

Another goal of the MIDI infrastructure is to provide a single systemwide MIDI configuration controlled via the Audio MIDI Setup utility. This allows the computer to “know” what devices are present, their manufacturers’ names and on what MIDI channels they’re operating. Of course, you can assign your own name to each device, and all of this universality works with either FireWire or USB connectivity. The Audio MIDI Setup utility also serves PCM devices, so you can assign channels and set gain and sample rate, as well. To keep things fresh, the MIDI services are designed to be extensible. “Toward that end, a device can have any number of properties attached to it,” and device manufacturers can publish the particular properties of their products so that other developers can interoperate or enhance the functionality. An obvious example is optional inclusion of icon properties so that visual appearance in software matches the actual widget.

Back to PCM, where OS X uses 32-bit floating-point (think scientific notation from high school days) as the generic data format. I know, there are those of you out there crying foul at the prospect of only floating-point arithmetic, but Apple’s got something for you guys. All conversions necessary for the actual physical hardware, such as 16-bit, fixed-point converters, are handled by the driver in order to preserve the headroom of the PCM device’s mix bus. Sample rates of up to 192 kHz are taken in stride with as many channels as the CPU(s) can handle. Integral sample-rate conversion is also built-in, so the OS can deal with goofy synchronization or mismatched rates from multiple sources.

For streams like AC-3, DTS, MLP or even good ol’ 24-bit fixed-point, Apple includes “native-format support” for any data type that falls outside the purview of 32-bit floats. Native-format support acts as a sealed conduit from data source to destination, which keeps the OS from messin’ with the numbers in transit. With native-format support, the application tells the OS that “these aren’t the ‘droids you’re looking for; you can be on your way.”

There are other technologies hiding in 10.2 that affect users, audio geek or not. One is newly optimized math libraries, which are key to zippy DSP and graphics performance. Improvements to the Mach kernel and libraries, along with smarter virtual memory, yield improved performance with host-based applications. B.J. Buchalter, CTO of Metric Halo, is responsible for cool stuff like SpectraFoo and Channel Strip. He says, “10.2 is a pretty major improvement. There has been a wide variety of modifications to the Mach [kernel process] Scheduler and to FireWire in 10.2, all of which contribute to the overall stability and functionality of the OS for audio applications. Apple has also added [the ability] to tell the system which streams of a device they are using, which has a major impact on the overall performance of the system for audio projects. In general, performance has been improved dramatically across the board, and, since audio is performance-limited, this is a great thing for audio apps.”

For those who live in a heterogenous world of Win and Mac, Jaguar has seamless Windows network compatibility. Version 10.1 had Server Message Block support thanks to Samba, a sort of NetBIOS for Unix, but, frankly, I could never get reliable results with it, and I resorted to OS X Server when I needed Windows networking services. With this version, you get simple, reliable SMB interoperability. Just define your User accounts, check the box in your Mac’s System Preferences, then pop into the beige beast’s My Network Places and, tah-dah, there’s your Mac client. As Michael Swaine, editor-at-large for Dr. Dobb’s Journal, put it: “Isn’t this in the category of ‘play nice with the class bully?’ No, it’s ‘have sympathy for the bully’s victims.’”

For the pocket-protector crowd, there’s also FTP and Web serving, along with a built-in VPN client and Active Directory support through Apple’s LDAP-based technology, dubbed Open Directory, to round out the connectivity suite. SMB is a native-network, file-sharing protocol from Microsoft, and if none of this makes sense, don’t worry. Just enjoy the irony next time someone starts up about the superiority of Windows.

A few more features worth mentioning that distinguish this revision to OS X: a systemwide address book, AIM-compliant instant messaging and autodiscovery of IP peripherals round out the Jaguar mix. Back in 1872, Charles Darwin wrote in The Expression of the Emotions in Man and Animals, “Cats use their voices much as a means of expression, and…the purr of satisfaction which is made during both inspiration and expiration is one of the most curious…It is said that the lion, jaguar and leopard do not purr.” Were Mr. Darwin alive today, I would assure him that, though I’m not of the feline persuasion, I am purring.

OMas works on relieving pain for content creators near and far and lives due south of Alcatraz, due west of the Pyramid. This column was created while under the influence of Yo La Tengo’s I Can Hear the Heart Beating as One and the classic fusion of Weather Report’s Mysterious Traveler.