Apple Notes
Technique : Apple Notes
With another major transition occurring in the Mac world this year, it's time to consider the real ramifications of moving from Power PC to Intel-based Macs for musicians and audio engineers.
Mark Wherry
This month's Apple Notes was going to be about the new Intel-based iMac, but, as I eagerly unpacked the machine, I soon realised that an evaluation from a musician and audio engineer's perspective might be a little premature. Don't get me wrong: it's a clearly a great machine, running cooler, quieter and faster than the G5-based iMacs. But as I started to hook up various peripherals and install software for testing, it became clear to me that there are going to be some big questions for users investigating new Intel-based Macs, concerning applications, drivers and plug-ins. In the following article we'll try to answer these questions and offer a guide to navigating this latest transition for Mac-based musicians.
What's The Problem?
When programmers write the code that becomes the music and audio software we use on a daily basis, it is eventually compiled into a form that the computer can actually execute, using instructions specific to the type of processor used by the computer. So the biggest problem with changing the processor family in a platform such as the Mac is that no existing software will run. Even though Apple engineered OS X from the beginning to be a cross-platform operating system that can easily be ported to different architectures (such as Intel's), an application compiled for a Power PC version of OS X won't run on an Intel machine running OS X.
This window reveals something 'About This Mac' that most Apple observers probably never expected to see.
This window reveals something 'About This Mac' that most Apple observers probably never expected to see.
This is obviously a pretty big problem, since it means that every developer must, at the very least, recompile their code to run on an Intel version of OS X. Furthermore, if a developer used instructions or techniques in their code that were specifically for Power PC processors, these parts of the programme must be rewritten (or ported) to an Intel-equivalent instruction for the application to be recompiled.
One of the most often-cited differences between the Power PC and Intel architectures is the Jonathan Swift-inspired issue of Big and Little Endian byte orders. In computer-speak, a bit (or binary digit) is an element that can be either 1 or 0. A byte stores eight bits, so a 16-bit number requires two bytes of memory to be stored. In a Little Endian architecture, the 16-bit number is stored with the first eight bits in memory first, followed by the last eight bits, while a Big Endian system stores the same number in the reverse order: the second byte followed by the first.
Since computers still deal with bytes, the order in which these bytes are stored in a program is obviously pretty crucial, so for code to work correctly on both Intel and Mac systems it must be 'Endian aware', or preferably 'Endian independent', so that it works on either system. This is just one simple example, and the good news is that most modern applications already deal with it, especially those that are cross-platform by design (ie. those that have a version for Mac OS X running on Power PC processors and one for Windows running on Intel processors or processors that use the Intel instruction set).
A larger problem is that of optimisation. General computer processors are so great for running DSP algorithms on audio these days largely because of technologies such as the Altivec instruction set (or Velocity Engine), originally introduced on the G4, which provides instructions designed to speed up mathematical operations used heavily in DSP. Although Intel chips offer an equivalent to the Altivec instruction set, known as the various SSE (Streaming SIMD Extensions) sets, converting Altivec code to SSE does require a little work. Again, though, with many applications already being cross-platform, it's likely that developers already have suitable SSE optimisations from the Windows version that can now be used in the Mac version as well.
The Finder's Get Info window now specifies what architecture a file (whether it's an application, a bundle or a plug-in) is built for, under the 'Kind' heading. 'Universal' indicates a Universal Binary, whereas 'Power PC' and 'Intel' refer specifically to those architectures.
The Finder's Get Info window now specifies what architecture a file (whether it's an application, a bundle or a plug-in) is built for, under the 'Kind' heading. 'Universal' indicates a Universal Binary, whereas 'Power PC' and 'Intel' refer specifically to those architectures.
From a programming perspective, Apple have another solution. Instead of converting Altivec instructions to SSE, there's an aptly named Accelerate framework that provides similar commands for high-speed maths operations. The idea is that the commands in the Accelerate framework are independent of the actual processor hardware, so you can write code with these commands that does the hard work of telling Altivec or SSE what to do without having to worry about writing specific instructions.
Intel have a similar programming library, known as Integrated Performance Primitives (IPP), for tasks such as signal processing (and more besides). Although IPP code won't run on Power PC chips, it does illustrate another advantage to Apple's new relationship with Intel: namely, Intel's highly-regarded development will be available to Mac developers as well. At the time of writing, IPP and development tools such as Intel's own C/C++ compiler are in beta.
As a footnote, it should be pointed out that Altivec is often used for optimisation, and much code has the provision to run with slower, alternative, non-Altivec code if necessary. This code should be more easily compiled for Intel chips, but won't offer the performance benefits of the same code optimised for SSE.
Rosetta To The Rescue
If all of this sounds like a bit of a nightmare, the good news is that Apple have created a large amount of infrastructure to help users and developers get through the transition as seamlessly as possible. To begin with, there's an emulation technology called Rosetta, which we first discussed in August 2005's Apple Notes (www.soundonsound.com/sos/aug05/articles/applenotes.htm). Rosetta is based on technology that basically gives applications compatibility with a different type of processor instruction set to the one for which they were originally developed. It does this by dynamically translating the code at run time. So with this technology included as part of OS X for Intel Macs, Power PC code is translated into instructions that the Intel processor can understand. The technology behind Rosetta was developed by Transitive (www.transitive.com), a company originally spun off from the University of Manchester in the UK.
This screenshot was taken on an Intel-based iMac. The Get Info windows on the right are for one application, Rax, and two Audio Units, Automat and Zoyd. Notice that Rax is a Power PC application, Zoyd is a Power PC Audio Unit and Automat is a Universal Binary Audio Unit. What this screen demonstrates is that an application running in Rosetta — in this case, Rax — can access Power PC Audio Units whether they're Power PC-only Audio Units (Zoyd), or Universal Binary Audio Units, which contain Power PC code accessible to Rax through Rosetta. Compare this with the Garage Band 3 screenshot (overleaf) taken on the same system.
This screenshot was taken on an Intel-based iMac. The Get Info windows on the right are for one application, Rax, and two Audio Units, Automat and Zoyd. Notice that Rax is a Power PC application, Zoyd is a Power PC Audio Unit and Automat is a Universal Binary Audio Unit. What this screen demonstrates is that an application running in Rosetta — in this case, Rax — can access Power PC Audio Units whether they're Power PC-only Audio Units (Zoyd), or Universal Binary Audio Units, which contain Power PC code accessible to Rax through Rosetta. Compare this with the Garage Band 3 screenshot (overleaf) taken on the same system.
Rosetta makes it possible for an Intel-based Mac to run Power PC applications in a way that's almost completely transparent to the end user: Apple refer to the technology as "the most amazing software you'll never see". However, because the translation process during run time obviously takes quite a bit of processing overhead itself, the performance of the translated application is lower than if it was running natively. For many applications, this dip in performance is not especially significant: Microsoft Word running on a new Core Duo iMac doesn't feel significantly slower than on a Power Mac G5, for example.
The early versions of Rosetta started off as G3 emulators, for the most part, meaning that there was no support for the Altivec instructions used heavily for DSP operations in music software. Rosetta as it ships today, though, offers G4 and Altivec support (along with Open GL support), which will increase compatibility significantly. However, it's important to note that although Altivec instructions can now be emulated via Rosetta, applications using Rosetta won't achieve the same performance increase when running Altivec instructions. This additional support is purely for compatibility, not for performance.
Although I haven't done any real testing yet myself, Propellerhead Software (www.propellerhead.se) tested their main applications with Apple's Developer Transition Kit (DTK), the system shipped to developers last June to give them a head start in preparing Intel-compatible code. According to Propellerhead, "Reason will continue to run in Rosetta, but the performance loss is similar to running Reason on a G3," while "Recycle runs fine in Rosetta, with no measurable performance issues," and "Rewire works, as long as all applications in the session are Power PC-based." It should be noted that the DTK was powered by a single-core 3.6GHz Pentium 4 chip, and Rosetta has presumably since been optimised for the new Core Duo processor used in the first Intel-based Macs.
Not every company in the music and audio space is quite so open to the use of Rosetta, however. Native Instruments, as one example, offer the following warning on their web site: "Native Instruments does not recommend, or offer technical support for, using its products within the Rosetta environment on Intel-based Macintosh computers.
While Rosetta will probably be helpful for mainstream applications, it will be less so for those requiring specialised performance — with music and audio applications, for example. G5-level performance won't be attainable and G5-specific applications won't run at all. Intel-based Macs will actually be the final nail in the coffin for OS 9 users (or, at least, those who want to upgrade to a new Mac but stay with OS 9), since Classic isn't supported or compatible with Rosetta on Intel Macs.
Universally Challenged
Given the general unsuitability of Rosetta for music and audio applications, the solution for all developers is to ship Intel-compatible code as quickly as possible. But it's worth remembering that since this is a transition, developers are going to have to support one operating system — OS X — on two different hardware platforms for quite some time. To help with this, Apple have presented a distribution method referred to as a Universal Binary, which is a package that contains code for both Intel and Power PC architectures. From a user's perspective, working with Universal Binaries won't be any different from working with Power PC applications today: when you run an application, OS X will automatically run the appropriate code, depending on whether your Mac is Intel or Power PC based.
For developers already working with Apple's latest Xcode development tool, creating Universal Binaries should be relatively painless. In some cases, setting a flag to create a Universal Binary and simply recompiling the program's code is all that's necessary, assuming that there's no Power PC-dependent code. For those working with older development systems (notably, Metroworks Codewarrior, which was used to create most Mac software in the OS 9 era), porting large projects to Xcode is going to take some time, even before they can start worrying about Intel vs. Power PC code.
While Apple are undoubtedly hoping that most developers create Universal Binaries, for the convenience of users, someone reminded me recently that Universal Binaries aren't the only way for companies to distribute Mac-Intel-compatible software. It's perfectly possible for a developer to create separate Power PC and Intel versions of the software if they wish, making it possible for these versions to be shipped (and priced) separately. I hope this isn't something the majority of developers will choose, though, as distributing applications, plug-ins and drivers as Universal Binaries will make life easy for those with a mixture of Power PC and Intel systems. Maybe you'll keep your Power Mac G5 for a while and add a Mac Book Pro for mobile work, as an example.
Important issues for users will be at what point developers decide to end support for Power PC Macs and how Universal Binary development costs are passed on. Extra testing and development time do cost money, so many companies — including Apple — will charge small fees for Intel-compatible Mac versions, although, fortunately, some companies will make this more bearable for users by incorporating this charge into the cost of the next major version in some way. Unfortunately, that means that some users will be unable to run Intel-native versions on new Macs before the end of the year.
Who's Gonna Drive Your Mac-Intel?
The abiility to connect external MIDI and audio hardware to their computer is essential for pretty much every Mac-based musician and audio engineer. As with applications and plug-ins, drivers also need to be made available with Intel-compatible code, either as Universal Binaries or stand-alone Intel-only drivers. Here's the driver status of a selection of hi-tech music companies:
Access: At the NAMM show, Access announced that they intend to "release a Universal Binary version of all Virus TI software components, to be compatible with the new Intel Macs" before April 2006.
Emagic: Apple supply a Universal Binary driver for Emagic's Unitor, AMT and MT4 MIDI interfaces, and Universal support files (firmware updater and Preference Panel) for the A26 and A62 audio interfaces, with the Logic 7.2 installer. A specific audio driver isn't required, as this is handled by the generic Core Audio driver. These files weren't available on Apple's web site at the time of writing.
M-Audio: The start of NAMM coincided with M-Audio's release of beta versions of Mac-Intel drivers for their range of Firewire products, such as the 410, 1814 and the new ProjectMix I/O, and the Fast Track USB and Fast Track Pro interfaces. M-Audio engineering staff are apparently hard at work on compatible drivers for all other USB devices.
MOTU: At Macworld in January, Mark Of The Unicorn announced Mac-Intel-compatible drivers for their range of Firewire and USB MIDI and audio interfaces. These drivers are now available for download from the MOTU web site.
RME: RME were one of the first companies (if not the first) to create an Intel-compatible driver, with the release last year of a driver for the company's Fireface 800 interface that was compatible with Apple's Developer Transition Kit. Since Apple haven't released (and are unlikely to release) an Intel machine with PCI-X slots to accommodate RME's other products, the company will presumably support both Intel and Power PC architectures with future PCI Express audio cards.
Roland: Roland have been testing USB drivers with Apple's DTK, and report that these have beeen stable in recent months of testing, without any problems. The drivers should be released once tests have been completed with the iMac and Mac Book Pro. However, not all Roland products require new drivers: the Firewire-based FA66 and FA101 are supported by Core Audio drivers, and USB mass-storage support for products such as the Fantom-X is also handled by the operating system.
No Performance Without Applications
As I was writing this article, the only major application available as a Universal Binary was Garage Band 3. While this app is based on the same audio engine as Logic, I'm not sure to what extent it has been optimised for the Intel Core Duo processor. Logic Pro and Express 7.2 will be available as Universal Binaries by the time you're reading this and, as mentioned in last month's Apple Notes, I was told at the NAMM show that a great deal of effort has gone into optimising Logic for the Core Duo.
Crossgrades can be ordered from www.apple.com/uk/ universal/crossgrade: Logic Pro users can simply pay the £35 fee on-line and order the upgrade CD, while Logic Express users have to pay the £19 fee and then send their original install DVD back to Apple in order to receive the new 7.2 installer. Final Cut Studio users will also need to send back their original DVDs when crossgrading, since only Logic Pro offers dongle-based copy protection.
Garage Band running natively on an Intel Mac with the Automat Audio Units plug-in, which is available as a Universal Binary. This is the same Mac system used for the Rax screenshot on the previous page. Note that Zoyd doesn't show up as an available plug-in in the pop-up menu, because Intel-native applications are unable to run Power PC plug-ins.
Garage Band running natively on an Intel Mac with the Automat Audio Units plug-in, which is available as a Universal Binary. This is the same Mac system used for the Rax screenshot on the previous page. Note that Zoyd doesn't show up as an available plug-in in the pop-up menu, because Intel-native applications are unable to run Power PC plug-ins.
The recent NAMM show turned out to be a big event for announcements concerning compatibility with Intel-based Macs. Ableton announced Live 5.2, an update that specifically brings Mac-Intel compatibility and will be available as a Universal Binary in February for $49. For bug-fixes and other small improvements, Live 5.2 will be a free update for those not requiring Mac-Intel-compatibility. The good news for people who take the plunge and run Live 5.2 as a Universal Binary is that the cost will be refunded later in the year against the cost of upgrading to Live 6. Additionally, the 5.2 Universal Binary update will be free for those new users who purchased Live after the Core Duo-based iMac and MacBook Pro announcements on January 10 at Macworld.
Celemony also announced imminent support for the new Mac-Intel systems, stating at NAMM that compatibility would be offered in the upcoming Melodyne Uno 1.5, which was to be available in February, and in the version 3.1 releases of Melodyne Cre8 and Studio due in the spring. All Mac-Intel updates of Melodyne will be free to registered users.
Many companies in the industry have indicated support for Mac-Intel, but have been more vague as to their intentions regarding releasing compatible software. Steinberg's Director of Product Management, Claus Menke, has stated that the company "will be offering full support in later versions of Cubase and Nuendo in 2006" and that there are already working test versions of both applications on the Mac-Intel platform. Similarly, with the release of suitable drivers for Mac-Intel systems (see 'Who's Gonna Drive Your Mac-Intel?' box), MOTU announced that they were "currently qualifying MOTU software products for use with the new Intel iMac and Mac Book Pro." Presumably, the recently announced Digital Performer 5 will support Mac-Intel in the same way that OS X support was added to the version 4 release.
In Apple's Xcode development system, developers can choose to build a project for either the Power PC or Intel architectures: if both are selected, Xcode builds a Universal Binary that contains the appropriate code for both systems in one package.
In Apple's Xcode development system, developers can choose to build a project for either the Power PC or Intel architectures: if both are selected, Xcode builds a Universal Binary that contains the appropriate code for both systems in one package.
A few companies have been even more vague about Mac-Intel intentions, such as Propellerhead, who stated: "No Universal Binary versions of our software are announced as of now. However, rest assured that Propellerhead Software is still fully committed to the Mac OS platform." On the plus side, as mentioned earlier, at least Reason and Recycle will run under Rosetta on the new Core Duo-powered Macs.
While Digidesign have made no official announcement regarding the company's position on Mac-Intel support, it's reasonable to expect this to be forthcoming at some point this year, hopefully starting with Pro Tools LE for mobile users wishing to use a Mac Book Pro. Digidesign and Apple obviously have a long history of working together and the recent release of Logic Pro 7.2 offers compatibility with the latest Pro Tools HD 7 audio engine. However, it's worth noting that while Logic Pro itself is a Universal Binary, this doesn't mean you can run Logic 7.2 on a Mac-Intel system with Digidesign hardware. Digidesign cautions users that "Although Logic Pro 7.2 is a universal version that runs natively on both Intel- and Power PC-based Mac systems, Digidesign hardware and Pro Tools software are not yet compatible with Intel-based Mac systems. Pro Tools HD hardware currently requires a Power PC-based Mac system or a Windows XP system." Not that there's any commercially available Mac hardware that supports HD hardware, but should Mac-Intel systems with PCI Express slots appear before a Mac-Intel-compatible version of Pro Tools HD — which seems likely, since Digidesign have no reason to release a product that can't be used by anyone — this warning will still be valid.
Although I haven't tried this yet, score-writing software such as Finale and Sibelius should be capable of running in Rosetta. The only incompatibilities should, in theory, stem from both programs' playback abilities, rather than the actual score-writing features. However, Make Music's Chief Marketing Officer, Ron Raup, recently commented that the company wants to "let all our Macintosh users know that we're committed to supporting this important and exciting development for Macintosh in Finale 2007, once it is released later this year."
On the non-commercial front, shareware and freeware developers have also begun to offer Mac-Intel support: v0.9.1 of Plogue's Bidule (www.plogue.com), for example, is available as a Universal Binary. But since these developers typically have fewer resources than larger software companies, it will presumably take time for them to purchase new machines or find suitable testers to verify compatibility.
A Smaller Nano
Moving away from Macs, Apple released a new 1GB iPod Nano this month that retails for just £109 and includes all the features available in the 2GB and 4GB models. (The latter are still available for £139 and £179.) For the same money last month you could have purchased a 1GB iPod Shuffle, but with the introduction of the smaller-capacity Nano, Apple have reduced the price of the 512MB and 1GB iPod Shuffle models to £49 and £69 respectively.
Plug It In, Plug It Out
In some respects, application support for Intel Macs isn't something to worry about: it's likely by the end of the year — once Apple's entire product line has 'transitioned' — that most major applications will be available as Universal Binaries. If they're not, you won't be able to buy a new Mac to run applications such as Pro Tools, Cubase and so on, making it a fair assumption that third-party companies will rise to the challenge. What actually might be a more serious issue, as in the journey from OS 9 to OS X, is that of plug-in instruments and effects. Like applications, plug-ins also need to be recompiled as Universal Binaries and optimised for Intel processors. Unlike applications, however, they won't really be helped by Rosetta.
Photos courtesy of Apple
Launched at the Macworld show back in January, the iMac and the Mac Book Pro (pictured overleaf) are the first Apple Mac products, both featuring a Core Duo chip, to use Intel processors.
Launched at the Macworld show back in January, the iMac and the Mac Book Pro (pictured overleaf) are the first Apple Mac products, both featuring a Core Duo chip, to use Intel processors.
Earlier in this article, I mentioned that Propellerhead had stated that Rewire in Rosetta only works if all the applications you want to run with Rewire are running with Rosetta — in other words, if all the applications are Power PC-based. Similarly, Power PC-based audio plug-ins will only run with Rosetta if they are being hosted by an application that is itself running with Rosetta. So if your host application is running with Intel-native code (either as a Universal Binary or stand-alone application), none of your existing Power PC plug-ins will be usable. And, of course, you absolutely want your host application to be running with Intel-native code (and not with Rosetta) in order to achieve maximum performance.
This is obviously bad news because, once again, as with the transition from OS 9 to OS X, we'll have to wait for plug-in developers to make their products compatible by transforming them into Universal Binaries — there's no way to create a 'wrapper' for Power PC plug-ins, like the method that lets you run VST plug-ins in Logic as Audio Units plug-ins, for example. But how difficult is it going to be for developers to port their plug-ins, and how long will it take?
The OS X-specific code, such as the user interface, shouldn't be an issue in most cases; but problems will arise if the plug-in's audio algorithm was written with the Power PC in mind and makes heavy use of Altivec instructions for performance. As with applications, in cases where the plug-in is already cross-platform it may be possible for SSE code written in the Windows version to be used instead. In the case of the Mac-only plug-ins out there (such as the many Audio Units ones), developers will have to work on porting their code to SSE or one of the higher-level frameworks.
Another factor to bear in mind is that the issue of creating a Universal Binary applies to all plug-in formats: Audio Units, RTAS, TDM, VST, MAS, and so on, must all be recompiled. Furthermore, the developers of these formats must provide Intel compatibility in the SDKs (Software Development Kits) for plug-in developers to be able to create Universal Binaries. The good news here, though, is that the Audio Units SDK is already ready to go and Audio Units plug-ins such as Alphakanal's Automat are available as Universal Binaries. Steinberg also announced Universal Binary compatibility with the VST 2.4 SDK update released at the NAMM show, and although Digidesign's and MOTU's plug-in SDKs aren't freely available, I'm sure these companies are working on upgrades.
Unfortunately, some plug-ins that need to be recompiled for use with Intel-based Mac music systems will get lost along the way because the product is unsupported or the developer is no longer active, or for a similar reason. I know someone who still makes use of the plug-ins that came with TC's legacy audio-editing application, Spark, for example, but obviously these will no longer work in Intel-native host applications, and as Spark is no longer under active development it's probably time to find some alternatives.
Plug-in manufacturers have been fairly quiet so far on the issue of porting their products for Intel-based Macs, probably waiting for host manufacturers to release Intel-native versions for testing. However, Native Instruments have announced a 'preliminary release schedule' for their products. Existing ones will be made Intel-compatible in various stages and will come in the form of either a dedicated Mac-Intel update for a small fee, or as part of a major product update for all platforms. Expect Guitar Rig, Guitar Rig Combos, Traktor DJ Studio, Kontakt, Absynth, FM7 and Reaktor to be available during the second quarter of this year, with Bandstand, Akoustik Piano and B4 to follow by the end of that quarter. Pro 53 will be available during the third quarter, with Battery at the end of the same quarter, while Vokator and Spektral Delay aren't expected until the end of the year. All new Native Instruments product releases, which will presumably include the forthcoming Kore, will be supplied as Universal Binaries out of the box.
Intel Inside
Unlike the previous transition from Mac OS 9 to Mac OS X, when Apple made it clear that OS 9 was dead and should no longer be considered in third-party developers' plans, the transition to Intel processors is going to require third-party support for Power PC-compatible code for much longer. The reason is fairly simple: while OS 9 users could, in most cases, easily install OS X on their Mac and carry on working once suitable software was available, there won't be such an easy upgrade for putting an Intel chip in your current Mac. In fact, there won't be an upgrade at all: you simply have to buy a new machine.
This means that there's going to be a fairly large number of Mac users running Power PC-based systems for quite some time, perhaps as long as three to five years. Bearing in mind that there are many people still running Pro Tools on the 'Quicksilver' G4s from 2002, it's reasonable to expect people to still be using Power Mac G5 systems four years from now, especially those machines that are still being purchased and installed at the moment. In addition, companies such as Native Instruments are already reassuring users of continued support, stating that "product releases and updates will continue to support Power PC-based G4 and G5 Macintosh computers until further notice."
Another transition is probably the last thing Mac-based musicians and audio engineers want. But while the last transition brought a modern operating system — I think it's fair to say that few Mac OS X users would ever want to see OS 9 again — the move to Intel promises to bring back the raw performance Macs (and especially mobile Macs) have been missing for the past couple of years. This performance is especially useful for music and audio applications, so coupled with an operating system that has arguably more under the bonnet for these applications than any others, the future of the Mac in this part of the world is looking pretty good.
No comments:
Post a Comment