+++ /dev/null
----\r
-layout: default\r
-title: The Right Computer System for Digital Audio\r
-menu_title: The Right Computer System\r
---- \r
-\r
-<p>\r
- It would be nice to think that you could just go and buy any computer,\r
- install a bit of software on it and start using it to record and create\r
- music. This idea isn't wrong, but there some important details that it\r
- misses.\r
-</p>\r
-<p>\r
- Any computer that you can buy today (since somewhere around the end of\r
- 2012) is capable of recording and processing a lot of audio data. It \r
- will come with a builtin audio interface that can accept inputs from\r
- microphones or electrical instruments. It will have a disk with a huge\r
- amount of space for storing audio files.\r
-</p>\r
-<p>\r
- When you are recording, editing and mixing music, you generally want to\r
- work with very little <dfn>latency</dfn> between the time that\r
- a sound is generated and when you can hear it. When the audio signal\r
- flows through a computer, that means that the computer has to be able to\r
- receive the signal, process it and send it back out again as fast as\r
- possible.<br /> \r
- And that is where it becomes very important <em>what</em> computer system\r
- you have, because it is <strong>absolutely not</strong> the case that any\r
- computer can do this job well.\r
-</p>\r
-<p>\r
- Routing audio through a computer will always cause some delay, but if it\r
- is small, you will generally never notice it. There are also ways to work\r
- in which the delay does not matter at all (for example, not sending the\r
- output from the computer to speakers).\r
-</p>\r
-<p>\r
- The latency that you want for working with digital audio is typically in\r
- the 1–5 ms range. For comparison, if you are sitting 1 m \r
- (3 ft) from your speakers, the time the sound takes to reach your\r
- ears is about 3 ms. Any modern computer can limit the delay to \r
- 100 ms. Most can keep it under 50 ms. Many will be able to get\r
- down to 10 ms without too much effort. If you try to reduce the delay\r
- on a computer that cannot meet your goal, you will get clicks and\r
- glitches in the audio, which is clearly extremely undesirable.\r
-</p>\r
-\r
-<h2>Hardware-related Considerations</h2>\r
-<dl class="wide-table">\r
- <dt>Video interface</dt>\r
- <dd>Poorly engineered video interfaces (and/or their device drivers) can\r
- "steal" computer resources for a long time, preventing the audio interface\r
- from keeping up with the flow of data</dd>\r
- <dt>Wireless interface</dt>\r
- <dd>Poorly engineered wireless networking interfaces (and/or their device\r
- drivers) can also block the audio interface from keeping up with the flow\r
- of data</dd>\r
- <dt><abbr title="Universal Serial Bus">USB</abbr> ports</dt>\r
- <dd>If you are using an audio interface connected via USB, and sometimes\r
- even if you are not, the precise configuration of your system's USB ports\r
- can make a big difference. There are many cases where plugging the \r
- interface into one port will work, but using different USB port results\r
- in much worse performance. This has been seen even on Apple systems.\r
- </dd>\r
- <dt>Internal USB Hubs</dt>\r
- <dd>Ideally, you'd like your USB ports to all connect directly to the\r
- main bus inside the computer. Some laptops (and possibly some\r
- desktop systems) come wired with an internal USB hub between the\r
- ports and the system bus, which can then cause problems for various\r
- kinds of external USB devices, including some models of audio\r
- interfaces. It is very difficult to discover whether this is true or\r
- not, without simplying trying it out.</dd>\r
- <dt><abbr title="Central Processing Unit">CPU</abbr> speed control</dt>\r
- <dd>Handling audio with low latency requires that your processor keeps\r
- running at its highest speed at all times. Many portable systems try to\r
- regulate processor speed in order to save power — for low latency\r
- audio, you want this totally disabled, either in the BIOS or at the OS\r
- level.</dd>\r
- <dt>Excessive Interrupt Sharing</dt>\r
- <dd>If your audio interface is forced by your computer to share an\r
- interrupt line (basically a way to tell the CPU that something needs\r
- its attention) with too many, or the wrong, other devices, this can also\r
- prevent the audio interface from keeping up with the flow of data. In\r
- laptops it is generally impossible to do anything about this. In many\r
- desktop systems, it is possible at the BIOS level to reassign interrupts\r
- to work around the problem.</dd>\r
- <dt><abbr title="System Management Interrupt">SMI</abbr>s</dt>\r
- <dd>SMIs are interrupts sent by the motherboard to tell the computer\r
- about the state of various hardware. They cannot safely be disabled,\r
- but they can also take a relatively long time to process. It is better\r
- to have a motherboard which never sends SMIs at all — this is\r
- also a requirement for realtime stock trading systems, which have\r
- similar issues with latency.</dd>\r
- <dt>Hyperthreading</dt>\r
- <dd>This technology is becoming less common as actual multi-core CPUs\r
- become the norm, but it still exists and is generally not good for\r
- realtime performance. Sometimes you can disable this in the BIOS,\r
- sometimes you cannot. A processor that uses hyperthreading will be\r
- less stable in very low latency situations than one without.</dd>\r
- <dt>Excessive vibration</dt>\r
- <dd>This doesn't affect the flow of data to/from the audio interface,\r
- but it can cause the flow of data to/from your disk storage to become\r
- <em>much</em> slower. If you are going to use a computer in an\r
- environment with loud live sound (specifically, high bass volume),\r
- make sure to place it so that the disk is not subject to noticeable\r
- vibration. The vibrations will physically displace the head-write\r
- heads of disk, and the resulting errors will force a retry of the\r
- reading from the disk. Retrying over and over massively reduces the\r
- rate at which data can be read from the disk. Avoid this.</dd>\r
-</dl>\r