|
XO Wave: Optimizing Mac OS X Performance for Audio and Video Users
Most users of XO Wave find it suits their needs out of the box, and never
have to tweak system or XO Wave settings to get things to
perform well. However, there are some things you can do
to make XO Wave work even better -- especially if you have special
needs such as low-latency recording, or you just want to tune the
program to work better. The tips here are mostly in
the former category, but we'll also cover some other settings
as well. Most of these are applicable to other software
that runs on OS X, as well.
Note: This tutorial is intended for users of Mac OS
X.
Latency
Latency simply means delay. In digital audio, latency usually refers more
specifically to two things: 1) the delay between doing something,
such as pressing a button or moving a slider, and hearing the
result; and 2) the time between when a sound goes into your sound
hardware, and when it comes back out. Most modern computers that aren't
loaded down with other tasks can handle the first of these tasks,
but reducing the delay between input and output is still a problem
in many situations.
When computers record, process, save, or playback audio, they do so in
fixed-sized chunks. These chunks are called buffers, and
they can be of any size. In order to minimize latency, the
buffers should be as small as possible, so there is less delay between
the various steps. In practice, using too small a buffer can
cause high CPU usage as well as playback and recording problems, such
as clicking sounds and dropouts.
The key to latency is finding the best balance, but
before we do that, you should take a moment to consider your needs.
Low latency can help if you are recording over-dubs, but often
you don't need the absolute lowest latency. If you are doing live
recordings, mixing, or mastering, you will generally be more concerned
about playback reliability than latency. If you have hardware that
supports so-called "zero latency" monitoring, you may not need
to worry about latency at all, even if you are doing over-dubs. By
using an external mixer, you can achieve the same results as
zero-latency hardware even if your hardware doesn't support it
directly.
Tips for Reducing Latency
Here are some tips for minimizing latency in XO Wave, assuming that's your goal:
- If it ain't broke... First and foremost, the
XO Wave defaults give a latency of roughly 50ms, depending
on your hardware. The defaults have been found, especially on
the Mac,
to be quite reliable across a wide range of hardware. 50ms is
about half the time it takes to blink, which is fine for
most audio post-production, mastering, mixing, and even live recording.
Furthermore, aggressively minimizing your latency can have negative or
even disastrous side-effects such as increasing CPU load and causing audio
dropouts and crackles.
- Match your hardware: If you know the buffer size of
your hardware, you can use that buffer size in XO Wave
for the most reliable playback. To do so, go to the
Latency Settings section of the Hardware Settings
window and set the Sample per Buffer setting
to match your hardware. If you want to try varying the
latency, and your hardware has a fixed known buffer size,
try changing the value of the # Playback
Buffers field.
- Watch out for RAM, too: Setting extremely high
latency can cause XO Wave to use more RAM and fill up your memory
cache which can cause playback problems. XO Wave allows you to control how many buffers are
prepared in advance of playback. Setting this higher generally
improves playback and recording reliability, but setting it
too high will use up your RAM. See the Hardware Settings
window documentation for more details.
- Change the hardware: If your hardware allows you
to change its buffer size, you are in a good position to
reduce latency to very low levels. Depending on your
hardware, you may be able to achieve 10ms or lower latency,
which is often low enough for over-dubs, even without
"zero latency" hardware monitoring. To do so, select a
latency value for your hardware using the utility that
came with it, and then match that value in XO Wave. We have
found that values as low as 64 work well. Some experimentation
may be needed to achieve the best results.
Tips for Improving Reliability
Because XO Wave is designed with both post-production and live recording in mind,
the default settings are well optimized for reliable playback on most
hardware. However, there are times when you'll need to tweak this, such as
when running on unusual or untested hardware, if you hear crackles
in your playback or in recording, or if you experience dropouts
or buffer underruns. In these cases, something may need to be changed.
- Match your hardware: As with optimizing for minimum
latency, if you know the buffer size of
your hardware, you can to use the same value in XO Wave
for the most reliable playback. To do so, go to the
Latency Settings section of the Hardware Settings
window. If you want to be as conservative as possible,
try a larger value in the # Playback
Buffers field.
- Work ahead: XO Wave allows you to
control how many buffers are prepared in advance of playback.
Generally speaking, you should set this higher to prevent
dropouts if your system or your hard drive hiccups, but
setting it too high can cause other problems: it uses
up extra RAM, and may overwork your hard drive when playback
starts. Generally speaking, you'll want to stick to the defaults
unless there's a problem, and if there is, try a variety of
settings and see what works. See the Hardware Settings
window documentation for more details.
Tips for Improving Video Performance and Video Sync Accuracy
Generally speaking, you won't need to change anything in XO Wave to get good
video performance, but if you notice a lag between your image and your
sound, you may want to tweak the latency settings as described above.
You may also want to try different hardware if there is a serious delay,
as some hardware introduces delays of varying amounts, though nowadays
most pro and even semi-pro hardware is up to the task.
The most important factor when doing an audio for video project is the
video format. Because XO Wave uses the QuickTime video engine, any format
that works well in QuickTime should work well in XO Wave; however,
some formats require more overhead than others for certain tasks. Here
are some comments based on our experience:
- MPEG 4 is great for finished products. It produces
high quality video that can be read by a variety of players
and on the web, but it's not great for editing. We have found
that the QuickTime engine can cause hiccups when jumping from
location to location. This may vary depending on key frame rate,
image quality and so on, and it won't stop you from working on something,
but can be annoying when editing.
- MPEG-2 is a high quality codec used in DVD authoring.
It is also used in post-production. However, it requires a
little extra work because the audio and video must be "demuxed",
and it can occasionally cause QuickTime to hiccup for a few seconds
-- or even up to a minute when opening the file or opening a new movie window.
For more details, see our Technical
on MPEG-2.
- H.246 is a high-quality, high-performance codec that works
well at a variety of compression levels. We've had good luck using it
for a variety of purposes.
- Cinepak has been around a while and it's not the best
compression out there, but it does work well -- especially for playback
and editing.
If you have trouble with a particular file, you can always convert to another format,
or work with a reduced-size copy of the video, and then return to
the high-res video for the final export.
For more info on working with video in XO Wave, see our tutorial
on the subject.
Other Performance Tips
Here are some other tips for getting the best performance out of
XO Wave.
- Separate Users: Many people use a separate Mac OS X account for
audio and other work. This may help organize your work and keep
you from accidentally deleting your carefully crafted mixes,
but it probably won't win you any performance. It may be
a better investment of your time to set up a good backup
system, unless you prefer to spend most of your time in
a heavily customized environment, which isn't suitable
for time-sensitive production work.
- Mac OS: Some versions of Mac OS X 10.4 have
lower latencies than others. As of this writing, Mac OS
X 10.4.7 has shown very good latency. Some earlier
versions were not as good.
- Hard Drive: Using a good fast hard drive
with a large cache can really improve your ability to record
multiple tracks. Look for cache sizes of 8mb or more.
- System Drive: If you are trying to record a lot of
audio (either a long recording or one with many tracks)
you'll want to use a drive other than your system drive.
Extra free space on the drive helps to prevent fragmentation
that can slow the system down.
- Don't share your device: If another application is
using the same hardware as XO Wave, it can cause XO Wave to
stutter or choke. If you can, use one device, such as your
built-in audio device, as the system default, and another device
for XO Wave.
- Activity Monitor: OS X has a handy utility
called Activity Monitor. You can find it in your
Applications folder under Utilities.
This program lets you monitor the CPU and hard drive use of your
applications, and it's useful if some rogue application is
using a lot of your system's resources. It's also handy for
just seeing what's going on.
- Energy Efficiency vs. Performance: Unfortunately,
high performance does not mean energy efficiency. If you
are on a laptop, be sure to work plugged in if possible and
make sure your Energy Saver settings (which can be set in
System Preferences) are optimized for
performance. You'll also want to turn off
sleep options to keep your computer from going to sleep
while recording. You may also want to turn off "Put
the hard disk(s) to sleep when possible", just to be safe.
- Don't share your bus: If you are using USB or FireWire,
be sure to dedicate the bus to either your drive or your audio
interface. Also, be sure to avoid hubs, keeping in mind that some hubs
are internal. If you are unsure where the hubs are located or which
devices share a bus, you can often get a clue by looking
in System Profiler, located in
the
Applications folder under Utilities. Current
Apple laptops have multiple accessible USB ports, but one might be on a shared bus -- perhaps with an internal Bluetooth adapter.
|