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.
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.
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 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.
|
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.
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.
|
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.
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.
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.
|
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.
|
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.
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
|
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.
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