]> Shamusworld >> Repos - ardour-manual/blob - include/the-right-computer-system-for-digital-audio.html
First shot at docs for bundled plugins
[ardour-manual] / include / the-right-computer-system-for-digital-audio.html
1
2 <p>
3   It is nice to think that one could just go and buy any computer, install a
4   bit of software on it and start using it to record and create music. This
5   idea isn't necessarily wrong, but there are some important details that it
6   misses. Any computer that can be bought today (since somewhere around
7   the end of 2012) is capable of recording and processing a lot of audio data.
8   It will come with a builtin audio interface that can accept inputs from
9   microphones and/or electrical instruments; it will have a disk with a huge
10   amount of space for storing audio files.
11 </p>
12
13 <p>
14   However, when recording, editing and mixing music, it is generally desirable
15   to have very little <dfn>latency</dfn> between the time a sound is generated
16   and when it can be heard. When the audio signal flows through a computer,
17   that means that the computer has to be able to receive the signal, process it
18   and send it back out again as quickly as possible. And this is where it
19   becomes very important <em>what</em> computer system is being used for this
20   task, because it is <strong>absolutely not</strong> the case that
21   <em>any</em> computer can do it well.
22 </p>
23
24 <p>
25   Routing audio through a computer will always cause some delay, but if it is
26   small, it will generally never be noticed. There are also ways to work in
27   which the delay does not matter at all (for example, not sending the output
28   from the computer to speakers).
29 </p>
30
31 <p>
32   The latency that is typically needed for working with digital audio is in the
33   1&ndash;5&nbsp;ms range. For comparison, if one is sitting 1&nbsp;m
34   (3&nbsp;ft) from a set of speakers, the time the sound takes to reach the
35   ears is about 3&nbsp;ms. Any modern computer can limit the delay to
36   100&nbsp;ms; most can keep it under 50&nbsp;ms. Many will be able to get down
37   to 10&nbsp;ms without too much effort. Attempting to reduce the latency on a
38   computer that cannot physically do it will cause clicks and glitches in the
39   audio, which is clearly undesirable.
40 </p>
41
42 <h2>Hardware-related Considerations</h2>
43
44 <table class="dl">
45   <tr><th>Video interface</th>
46   <td>Poorly engineered video interfaces (and/or their device drivers) can
47   "steal" computer resources for a long time, preventing the audio interface
48   from keeping up with the flow of data.</td></tr>
49   <tr><th>Wireless interface</th>
50   <td>Poorly engineered wireless networking interfaces (and/or their device
51   drivers) can also block the audio interface from keeping up with the flow of
52   data.</td></tr>
53   <tr><th><abbr title="Universal Serial Bus">USB</abbr> ports</th>
54   <td>When using an audio interface connected via USB, and sometimes even if
55   not, the precise configuration of the system's USB ports can make a big
56   difference. There are many cases where plugging the interface into one port
57   will work, but using different USB port results in much worse performance.
58   This has been seen even on Apple systems.</td></tr>
59   <tr><th>Internal USB Hubs</th>
60   <td>Ideally, all USB ports should connect directly to the main bus inside the
61   computer. Some laptops (and possibly some desktop systems) come wired with an
62   internal USB hub between the ports and the system bus, which can then cause
63   problems for various kinds of external USB devices, including some models of
64   audio interfaces. It is very difficult to discover whether this is true or
65   not, without simply trying it out.</td></tr>
66   <tr><th><abbr title="Central Processing Unit">CPU</abbr> speed control</th>
67   <td>Handling audio with low latency requires that the processor keeps running
68   at its highest speed at all times. Many portable systems try to regulate
69   processor speed in order to save power&mdash;for low latency audio, this
70   should be totally disabled, either in the BIOS or at the OS level.</td></tr>
71   <tr><th>Excessive Interrupt Sharing</th>
72   <td>If the audio interface is forced by the computer to share an interrupt
73   line (basically a way to tell the CPU that something needs its attention)
74   with too many other (or wrong) devices, this can also prevent the audio
75   interface from keeping up with the flow of data. In laptops it is generally
76   impossible to do anything about this. In many desktop systems, it is possible
77   at the BIOS level to reassign interrupts to work around the problem.</td></tr>
78   <tr><th><abbr title="System Management Interrupt">SMI</abbr>s</th>
79   <td>SMIs are interrupts sent by the motherboard to tell the computer about
80   the state of various hardware. They cannot safely be disabled, and they can
81   take a relatively long time to process. It is better to have a motherboard
82   which never sends SMIs at all&mdash;this is also a requirement for realtime
83   stock trading systems, which have similar issues with latency.</td></tr>
84   <tr><th>Hyperthreading</th>
85   <td>This technology is becoming less common as actual multi-core CPUs become
86   the norm, but it still exists and is generally not good for realtime
87   performance. Sometimes this can be disabled in the BIOS, sometimes it cannot.
88   A processor that uses hyperthreading will be less stable in very low latency
89   situations than one without.</td></tr>
90   <tr><th>Excessive vibration</th>
91   <td>This doesn't affect the flow of data to or from the audio interface, but
92   it can cause the flow of data to and from (spinning) disk storage to become
93   <em>much</em> slower. If a computer going to be used in an environment with
94   loud live sound (specifically, high bass volume), make sure it is placed so
95   that the disk is not subjected to noticeable vibration. The vibrations will
96   physically displace the read-write heads of disk, and the resulting errors
97   will force a retry of the reading from the disk. Retrying over and over
98   massively reduces the rate at which data can be read from the disk. Avoid
99   this.If you find this hard to believe, check
100   out <a href="https://www.youtube.com/watch?v=tDacjrSCeq4">this
101   video</a> which shows the effects of merely shouting at your drives. This
102   is likely not an issue with contemporary SSD drives, which have no
103   spinning/head mechanisms.</td></tr>
104 </table>
105
106 <p>
107   Richard Ames presents a long (28
108   minute) <a href="https://www.youtube.com/watch?v=GUsLLEkswzE">video</a>
109   that is very helpful if you want to understand these issues in more
110   depth. It is a little bit Windows-centric, but the explanations apply to
111   all types of computers and operating systems.
112 </p>
113