Sie sind auf Seite 1von 46

The art of building Computer Transports

September 2007 version 0.3 by cics

Abstract
High-end audio is unashamedly expensive. Quality equipment from speakers,
amplifiers to cables costs thousands of dollars. Music lovers pay these amounts to
reproduce pure music without any form of distortion. This paper targets CD transports
with a view to dramatically reduce its cost whilst improve its performance. By using a
good quality PC costing ~$1,500 (including a good sound card), one can exceed
performances of traditional transports in excess of $20,000. This is achieved by
careful implementation of each PC component and the use of open source freeware
such as Foobar2000 and EAC.

Complete setup of such a PC is explained. The reader is expected to have basic


knowledge of PCs but expert knowledge is not needed. Building a computer transport
can be daunting and discourages many music lovers from its take-up. This paper is a
step by step guide to make the journey easier.

The efforts of some remarkably talented individuals the world over who so tirelessly
and unselfishly share their work has made this a reality. In particular, those that have
put many hours of intense labor in developing brilliant software components which
makes for such great outcomes; you are saluted!

Digital representation of Sound


Fundamentals Thomas Edison used in his sound recording invention still remains in use today. Edison
figured that sound can be recorded by emulating the human ear drum. Pressured air waves (called
compressions and rarefactions) cause the ear drum to oscillate. These oscillations or vibrations are
interpreted as sound by the human brain. Edison recorded these oscillations in 1877 onto a rotating metal
cylinder wrapped with tin foil with his voice ‘Mary had a little lamb’. These oscillations were played
back using a second diaphragm-and-needle unit. This was a mono system. Stereo emulates both left and
right ears.

Loud sound levels result in greater swings (or flexing) of the ear drum – this we call amplitude.
Frequency is given by the number of ear drum oscillations per second. Human hearing is impressive with
an incredible ~132db dynamic range and sensitivity between 20-20kHz! That’s being able to hear soft
sounds like light rubbing of fingers (@ ~3db or the threshold of hearing) to a jet engine.

With electricity these recorded oscillations changed to a varying voltage signal (typically -2v to 2v).
Stereo systems in turn translate these oscillating voltages to vibrating speaker diaphragms (driven by
current) to create pressured air waves…

Using 1s and 0s (as stored on CDs), this varying voltage signal (or waveform) is captured at discrete time
points (1/Fs) as determined by the constant sampling frequency (Fs or samples per second). Frequencies
up to (but not including) Fs/2 (Nyquist limit) can be recorded and played. For CDs, Fs is 44100 (or
44.1kHz) thus capable of all frequencies below 22.05kHz. When sampling an analogue voltage waveform
it must be bandlimited to this upper frequency to prevent aliasing distortion – this is called filtering (low
pass anti-alias filtering).
Conceptually, the Nyquist limit is not rocket science. As frequencies increase we have fewer and fewer
samples to describe its waveform. At a very minimum, slightly more than 2 samples per wave cycle is
needed. Thus frequencies equal and beyond Fs/2 cannot be recreated, instead should such frequencies be
sampled, we would record distortion (that manifest below Fs/2 as alias images of frequencies above Fs/2).
For example, at 44.1kHz sampling rate, a simple sine wave at 44.1Hz will have 1000 samples describing
its wave cycle, 441Hz has 100 samples, 4410Hz has 10 and 22050Hz has 2 - frequencies equal and
beyond 22.05KHz must be removed (filtered).

1 kHz wave cycle


40000

30000

20000
16 bit resolution

10000

0
0.000 0.100 0.200 0.300 0.400 0.500 0.600 0.700 0.800 0.900 1.000
-10000

-20000

-30000

-40000

time (ms) a t 44,100 sa mples pe r se cond

figure 1. A single sine wave cycle. At 1 kHz (the ubiquitous test tone) this would mean 1000 such cycles per second.
Alternatively, each cycle takes 1ms and would have ~44 samples to describe its waveform.

Each sample point records the voltage level. For CDs, this is a 16 bit integer number ranging from -32768
to 32768. This is called resolution. Each integer change would represent a different voltage level, e.g. 4v
output would range from -2v to 2v with 65536 possible voltage levels (-32768 = -2v, 0 = 0v, 32768 = 2v)
with anything in between mapped in a linear fashion. At 24 bit resolution, we get 16.8m voltage levels -
much better precision. It’s suggested that human hearing is sensitive to ~22 bits resolution.

Time information is implied by Fs, i.e. CDs only store varying voltage levels at discrete time intervals of
1/Fs. The waveform is recreated at this timing rate. DACs (Digital to Analogue Converters) combine
sound data with a clock signal to create a continuous analogue voltage waveform. Sound data is created by
ADCs (Analogue to Digital Converters) where very high Fs (with Fs/2 larger than any frequency component
in waveform) followed by desired level of downsampling using a digital filter yields best results.

Why PCs are better


A PC can output better digital audio signals than traditional transports based on spinning CDs. Music data
is ripped (extracted) from CDs (without error) to hard disk. This does away with spinning CDs in real-
time during music playback. Bit-perfect data is read from hard disk to memory then upsampled with
much better precision. This happens in a noisy environment but outside of any real-time clocking
mechanism and no bits are mangled/lost (the essence of computing). Hence no jitter (or timing errors)
occurs during data preparation stage.

Final stage transfers buffered data perfectly to sound output device (connected via USB, Ethernet or
internal bus). This device adds a clock and generates an SPDIF signal for the DAC. This task will create
jitter and needs to be optimal (clean power and a high quality clock if DAC does no input buffering or
reclocking). All traditional transports have the same challenge here.

The art of building Computer Transports v0.3.doc 2 of 46


PCs with adequate CPU power offer superior upsampling. The Secret Rabbit Code (SRC) upsampler
component for Foobar is based on sound mathematical principles as described in Julius O. Smith’s paper,
Digital Audio Resampling (http://www-ccrma.stanford.edu/~jos/resample/resample.pdf). To summarise,
bandlimited interpolation is used which allows for exact recreation of the analogue audio signal within
defined error margins. An extract:

“In digital audio, what matters is the audibility of interpolation error between samples. Since Shannon’s sampling
theorem says it is possible to restore an audio signal exactly from its samples, it makes sense that the best digital audio
interpolators would be based on that theory. Such “ideal” interpolation is called bandlimited interpolation.

…the problem is to correctly compute signal values at arbitrary continuous times from a set of discrete-time samples
of the signal amplitude. In other words, we must be able to interpolate the signal between samples. Since the original
signal is always assumed to be bandlimited to half the sampling rate, (otherwise aliasing distortion would occur upon
sampling), Shannon’s sampling theorem tells us the signal can be exactly and uniquely reconstructed for all time from
its samples by bandlimited interpolation.”

Of course, the above makes for another debate bringing into question the value of high definition audio
formats like SACD and DVD Audio.

Traditional transports suffer more jitter. In digital audio, jitter is the ‘mother of all evils’ leading to sound
impurities audible to the human ear. In these transports, the CD spins in real-time, data is upsampled
poorly and thereafter fed to a DAC – this all happens under a strict clocking regime. This clocking regime
raises another challenge where jitter-polluted data is further upsampled. Altmann’s website (What is
Jitter? http://www.jitter.de/english/engc_navfr.html) notes the following:
“A simple CD player has multiple motors or actuators and associated control loops, in order to perform disc reading:

There are f.e. the spindle motor that turns the CD, the sledge motor that performs axial tracking, and actuators for
focus and radial tracking.

Each of these motors / actuators will add a portion of noise to the power supply of the player and this noise will affect
accurate switch timing.

So, each of the motors /actuators adds jitter to the digital audio signal and each adds a different kind of jitter (different
in frequency, amplitude, waveform) and will affect audio reproduction in different ways.”

Put another way, jitter is compounded by spinning CDs which induce power supply jitter. Hence, PCs
offer the potential to eliminate such jitter, doesn’t suffer from upsampling jitter polluted data, and delivers
significantly superior upsampling. This is the basis for superior performance.

A closer look at Upsampling


Upsampling is fundamental to digital music playback. Whether this is done carefully by design or by
accident, it always happens in a digital audio system. DAC chips (whether of the shelf like Burr Brown’s
PCM 1792 or proprietary ones like dCS’ ring DAC) implement upsampling. DAC chips and dedicated
DSPs perform upsampling with varied degrees of success (from crude methods to more informed ones).

Whilst much is written and said about SNR, THD, resolution, sampling rates, filters, phase and so on,
ironically the signal itself is neglected. After all, the signal as derived from digital data is what systems
reproduce.

A program (cicsWave) is used to extract digital music data (from .wav files) to a form easily read by a
spreadsheet or viewed through simple editors like Notepad. cicsWave is able to unravel stereo 16 or 24
bit .wav files at any sample rate.

The art of building Computer Transports v0.3.doc 3 of 46


Here’s 1ms of real sound (16/44.1) in digital data (left channel):
1000
original 1644

500

0
0.000 0.100 0.200 0.300 0.400 0.500 0.600 0.700 0.800 0.900 1.000

-500

-1000

-1500
original 1644

-2000

figure 2. CD sound clip extracted using EAC (Exact Audio Copy’s .wav file processor). Clip has high frequency
content at low levels ~-75db. Time in ms with actual integer values on vertical axis. Left channel only.

This is not a natural analogue (voltage) waveform! A major assumption is being made here: CDs offer
actual sample points – how these are further joined (or upsampled) to create a continuous voltage signal is
left entirely open. Its important to understand that sound is a continuous signal and not a bunch of dots
hanging in space. The graph assumes simple straight lines to join sample points. This type of upsampling
is called linear interpolation (y = mx where m is the gradient). Whether we add a thousand more points
between adjacent samples (giving an astounding 44.1 MHz sampling rate) we would get the same result.
Some CD players and DACs including high-end ones use this approach.

Early ladder type DAC chips maintained constant voltage at the last sample point. As a new sample point
arrived, voltage is adjusted to this new level. Hence the term ‘ladder’ where voltages are either stepped up
or down. This ladder type interpolation is basic but nonetheless a form of upsampling. A few CD players
and DACs (including high-end ones) implement this method.

SRC’s Best Sinc interpolator at 24/96 gives:


1000

500

0
0.000 0.100 0.200 0.300 0.400 0.500 0.600 0.700 0.800 0.900 1.000

-500

-1000

-1500
original 1644
src 2496

-2000

figure 3. SRC’s samples superimposed on original 16/44.1 data. Sample points joined with straight lines.
Vertical axis in real numbers with SRC 24 bit values scaled to fit (i.e. divide by 256).

The art of building Computer Transports v0.3.doc 4 of 46


This is more analogue like but having difficulty at peaks and troughs. Note interpolation errors (red line
deviations) when using 44.1 - there are many along this 1ms waveform. Scaled to a full second, such errors
increase a thousand fold! The audibility of such interpolation errors is best described as ‘digital artefacts’.

What about artefacts added by the upsampler’s interpolation and filter? SRC’s SNR is 97db for ‘Best Sinc’.
Using RMAA (http://audio.rightmark.org/products/rmaa.shtml), a spectrum analysis of this sound clip (0.34
seconds) upsampled to SRC 24/96 and 1KHz tone tests (at 0 & -90dbFS) give:

figure 4. Upsampling adds ultrasonic noise above original Fs/2. Top Left: Sound clip at 24/96 (both channels). Low ultrasonic
noise (below -140db) and beyond any systems ability to reproduce - this noise would be buried within systems overall noise floor.
Top Right: 0dbFS 1KHz 16/44.1 upsampled to 24/96. Bottom Left & Right (low level test): original 16/44.1 1KHz at -90dbFS with
spikes at 5 & 7KHz (-110 & -115 dbFS). Upsampled to 24/96 - original frequency spectrum maintained and no added ultrasonics.

What about other upsamplers? Here’s the highly regarded R8Brain Pro from Voxengo at 24/96:
1000

500

0
0.000 0.100 0.200 0.300 0.400 0.500 0.600 0.700 0.800 0.900 1.000

-500

-1000

-1500 original 1644


src 2496
r8bp 2496
-2000

figure 5. R8Brain Pro superimposed on SRC 24/96 and original 16/44.1.


The art of building Computer Transports v0.3.doc 5 of 46
Apart from the first few samples where differences are visible, remaining samples are closely aligned.
Differences in values are however seen at each sample point:

Sample Time (ms) SRC R8BP


21 0.219 84.3359 91.8438
22 0.229 -35.6406 -44.8789
23 0.240 -222.3750 -220.8359
24 0.250 -445.5195 -443.8164
25 0.260 -623.1211 -628.3945
26 0.271 -726.5781 -716.3789
27 0.281 -799.5820 -803.4063
28 0.292 -874.4727 -880.4570
figure 6. Actual 24 bit samples divided by 256 of respective left channels.

SRC remains the preferred upsampler as it’s based on bandlimited interpolation. For a given set of
bandlimited samples this solid mathematical foundation most accurately calculates the analogue waveform
(within well defined error margins). However, SRC’s SNR of 97db is not ideal for downsampling (e.g.
24/96 to 16/44.1) as noise below -97db would occur in the audible range (aliases of frequencies above
22.05KHz). SRC (or other sampler based on bandlimited interpolation) at ~130db SNR without any
compromise on signal quality is better for downsampling. When upsampling (e.g. from 16/44.1 to 24/96),
SRC and others add noise above original Fs/2 at specified SNR levels. These are acceptably low (for SRC)
and outside the audible range (see figure 4). Hence, SRC is preferred for upsampling.

Rarely do DACs or upsampler providers share details on interpolation techniques employed (of which
there are many). As a general guide, avoid DACs or upsamplers that:
1. Function as an integer multiple of original Fs (e.g. 44.1 to 88.2). Correct upsampling provides
data at any timing point thus giving a continuous waveform.
2. Implement in integer – real numbers (either float or double precision) gives more accurate
signal amplitudes with 24 bit resolution.

What is the ideal level of upsampling? SRC at 24/96 with further linear interpolation (straight lines
between samples) gives:

1000
src 2496

500

0
0.000 0.100 0.200 0.300 0.400 0.500 0.600 0.700 0.800 0.900 1.000

-500

-1000

-1500
src 2496

-2000

figure 7. Same as figure 3 without original 16/44.1.

The art of building Computer Transports v0.3.doc 6 of 46


Upsampling to SRC 24/192 gives:
1000

500

0
0.000 0.100 0.200 0.300 0.400 0.500 0.600 0.700 0.800 0.900 1.000

-500

-1000

-1500
original 1644
src 24192

-2000

figure 8. Reaching levels of analogue perfection with correct upsampling.

Clearly at 24/192 we get more detail at peaks and troughs bringing us closer to the original analogue
waveform. This is preferred as subsequent methods of how these samples are joined (either linear or other
but not ladder) has less impact. Of course, 24/192 is not a standard SPDIF digital interface so we
unfortunately make do with 24/96.

The future holds much promise if DACs offered USB, Firewire or Ethernet computer interfaces that
would handle such rates and higher bit perfectly. This way, an ideal setup would extract 16/44.1 data
from CDs and batch convert to SRC 24/192. Files will be much larger (as a 600MB CD would grow to
3.9GB) but storage costs are acceptable and getting cheaper. Another major benefit is not using SPDIF as
an interface thus eliminating an expensive soundcard (and such savings would make up for additional hard
drives). SPDIF (and other proprietary variants) is a lossy unintelligent legacy interface.

Method used for above music data analysis is as follows:


1. Using EAC select a small clip of ~0.5 seconds (see section 1.6).

2. Download cicsWave utility from http://sourceforge.net/projects/cicswave. Run against clip (from


file explorer, select ‘Open with’ …) and view resulting .csv file (comma separated values). Source
code is available in 7-zip format.

3. Use a spreadsheet to graph samples. Best result is with samples computed to actual time (divide
sample counter by Fs). Plot sample values against time (XY graph). When overlaying waveforms
of different rates and resolutions, a once-off time offset may be required for correct alignment.

4. Use Foobar2000’s foo_convert.dll component (this is part of Foobar’s normal installation). In


foobar, right-click on clip and select ‘Convert > Covert to’.

5. Check ‘DSP Processing’. Select ‘…’ button to choose and setup upsampler to new sample rate.

6. Select ‘More Settings’ and Goto ‘Tools > Converter’. Set ‘Preferred bit depth’ to 24.

7. Convert. A new upsampled .wav file is created which you can unravel using cicsWave.
The reader is encouraged to experiment further.

The art of building Computer Transports v0.3.doc 7 of 46


Build Summary
The process starts with getting results early and thereafter applying various optimizations. Only
recommended components are used.

Windows XP SP 2 is needed to get started. Steps 1 & 2 can be done on all PCs and is an excellent starting
point. Music playback is tested using the PC motherboard’s integrated sound hardware.

The following broad steps apply:

1. CD ripping or extraction using EAC software. EAC installation and setup is covered together
with a suggested method for organizing your music library.

2. Playback using Foobar2000. Foobar installation and components such as Kernal Streaming,
ASIO and SRC upsampler is addressed. Various optimizations are suggested including the
user interface.

3. Hardware optimization covering power supply to PC components and important BIOS settings.
Efforts undertaken here aims to drastically reduce electrical noise, minimize non-audio
motherboard traffic and reduce mechanical vibrations. A PC is considered to be a noisy &
dirty environment but much can be done to eliminate this.

4. Windows XP and soundcard software optimizations that aims to drastically reduce its bloat,
overheads and maximize music delivery to your soundcard.

Section 5 applies to Home Theatre PCs and must be ignored for a pure Computer Transport. In a HTPC
video processing cannot be minimized for best audio performance, instead some tradeoffs are made where
audio performance degrades in favor of high quality video playback. Optimizations that must be reversed
from sections 3 & 4 are listed here together with other suggestions.

All optimizations especially in sections 3 & 4 are reversible and safe. Reversing optimizations don’t
involve either Windows reinstallation or use of Recovery / Installation CD. Just simply undo the change.
Stability has been maintained with complete availability on a 7x24 basis. It’s highly recommended to
keep transport permanently on. With optimizations applied less power is consumed which consequently
generates less heat.

Time taken to do all of this will range over several days and depends on availability of PC parts. A
conservative estimate would be between 2-4 weeks. Having some PC hardware experience helps.

The art of building Computer Transports v0.3.doc 8 of 46


1.0 CD Ripping
1. Download EAC (Exact Audio Copy) from http://www.exactaudiocopy.de/ - choose a download
site and select the .exe version.

You also have the option to download the CDRDAO-Burning version which is used for writing
CDs. Select this version if you intend burning CDs using a CD writer.

What about Accurate Rip? Use this if you have many scratched CDs. Accurate Rip works by
comparing your ripped version with other users elsewhere through a checksum process. EAC for
ripping clean CDs works great and rarely does one find data errors. Refer to EAC website if you
want to use Accurate Rip.

2. Run downloaded .exe file. EAC software is extracted to a folder. Locate & run EAC.exe
application. EAC will check your CD drive for features and if your drive has C2 error checking,
don’t use it. Rather let EAC perform this. Follow installation steps.

3. Run EAC application. Press F10, Drive Options window is displayed. Select ‘Extraction Method’
Tab and set to secure mode (checked items are determined by EAC).

figure 9

4. Press F9, EAC options and select ‘Directories’ Tab. Enter the location where you want to store all
your ripped CDs. Note a CD can take up to 800MB.

The art of building Computer Transports v0.3.doc 9 of 46


5. That’s it. Place a CD you want to rip in the drive. EAC will display tracks available, etc..
Populate fields and track titles as shown below.

figure 10. Make sure CD Title, CD Artist and Genre are populated. Also enter each track title.

Push button and the ‘Save Waveform’ window appears. Note filename is pre-populated – in
this case it would be ‘Il Divo – Siempre’. Press Save button and ripping begins. Depending on
your drive it takes between 5-20 minutes to rip a clean CD. On completion, two files (‘Il Divo -
Siempre.cue’ and ‘Il Divo - Siempre.wav’) are stored in your music directory.

Take a look at the .cue file using Notepad. All populated fields are stored here together with other
details. Foobar uses this ‘meta data’ to organize your music library.

6. EAC offers a useful WAV file utility. Access this by selecting ‘Tools > Process WAV…’. Select
a .wav file from your directory. Sound clips can be selected and saved separately.

figure 11. EAC’s .wav file utility showing a 3 second sound clip. Only 16/44.1 files can be accessed.

The art of building Computer Transports v0.3.doc 10 of 46


2.0 CD Playback
1. Download Foobar from http://www.foobar2000.org/ - current version is 0.9.4.4. Note some
figures in this section reflect version 0.9.4.2 or 0.9.4.3 - these are fully applicable to 0.9.4.4.

2. Run downloaded .exe file and select minimum install for ‘type of install’. Choosing minimum
install option is important as much unneeded clutter (equalizers, etc.) is removed. Set installation
preferences as per figure below – note installation type changes to ‘Custom’.

figure 12. Expand ‘Shortcut icons’ and check all items.

3. Download Kernal Streaming (KS) and ASIO components. These are .dll files that Foobar loads on
startup. Goto http://www.foobar2000.org/components/index.html and click on respective links
which download zipped files. You must extract corresponding .dll files to Foobar’s components
directory (C:\Program Files\foobar2000\components).
KS or ASIO are essential to achieving quality playback. Windows audio processing which often
degrades digital audio quality is bypassed. ASIO also covers recording functions with very low
latencies (as recording demands near real-time sound delivery). Use latest ASIO component
version 1.2.5 (dated June 2007 or later).

4. Download SRC from http://www.mega-nerd.com/SRC/fb2k.html - goto bottom of page and select


the foo_dsp_src9.zip file. Extract .dll file to Foobar’s components directory.

5. Foobar offers a basic user interface (UI) but allows for other UIs. Columns UI is most popular.
Goto http://yuo.be/columns.php to download:
- Version 0.2.0 [foo_ui_columns.dll]
- Album List Panel (version 0.2.3) [foo_uie_albumlist.dll]
Note version numbers may differ. Files are in 7-Zip format (open version of .zip files). Goto
http://www.7-zip.org/ for 7-Zip utility. Extract corresponding .dll files to Foobar’s component
directory. Your Foobar Components directory should contain 7 .dll files:
1. foo_dsp_src9
2. foo_input_std
3. foo_out_asio
4. foo_out_ks
5. foo_ui_columns
6. foo_ui_std
7. foo_uie_albumlist
The art of building Computer Transports v0.3.doc 11 of 46
6. Run Foobar. On startup, Foobar will prompt you on which UI to use, select Columns UI. If this
doesn’t occur, then select UI under Preferences. Press Crtl-P to bring up Preferences Window.
Click on ‘Display’ and select Columns UI under User Interface Module.

figure 13. Suggestion: Set ‘VBR bitrate…’ to 0 and uncheck ‘Show keyboard…’.

7. Set your music library. Click ‘Media Library’ in Preferences Window and push Add button to
enter your music directory (this should be the same location as that for EAC Ripping where CDs
are stored). You can add many directories here so that Foobar accesses multiple storage locations.
Enter *.CUE under ‘File Types / Restrict to:’.

figure 14. Make sure you restrict file types to *.CUE.

8. Setup Columns UI. Click on ‘Columns UI’ in Preferences Window and add splitters and panels in
the Layout TAB as shown on next page. Right-click on horizontal splitter to add necessary panels.
Remove other panels. Perform Apply after each change to ensure UI accepts changes.

The art of building Computer Transports v0.3.doc 12 of 46


Under Playlist switcher, Playlist view and Album list, fonts, colors, sizes and columns can be
personalized.

figure 15. After each change in splitter layout press Apply button.

9. Make sure Foobar doesn’t interact with Windows Explorer UI, e.g. the task bar. This is needed for
Windows optimizations done later. Select ‘Status bar/Systray’ TAB and set as below.

figure 16. Uncheck all items under ‘System notification area’. Suggestion: uncheck all items under ‘Status bar’.

10. Delete Foobar’s standard UI component foo_ui_std.dll as this will never be used. When Foobar
restarts, answer ‘No’ when prompted to save settings for this component.

11. Foobar must be prompted to rebuild the music library each time new CDs are ripped. Do this by
selecting ‘Rescan Media Library’ under Library menu. When Foobar restarts, new CDs will be
accessible.

Right-clicking in album list area and selecting View > by Genre gives easy access to your music
(figure 17).

The art of building Computer Transports v0.3.doc 13 of 46


12. During playback, minimize dynamic video content, e.g. spectrum analyzer and seekbar. Uncheck
these items and implement suggestions noted in figures 13 & 16. Explanation: Foobar is a multi-
threaded application with all threads running at same priority. Display thread competes for vital
resources which are best reserved for music playback (upsampling, etc.).

figure 17. Right-click on menu bar, select Visualizations > uncheck ‘Spectrum analyzer’; & Toolbars > uncheck ‘Seekbar’.
Note seekbar is shown.

13. Playback setup. From Preferences Window select ‘Playback’ and setup as below.

figure 18. None is set for Replaygain and Volume is Max.

Select DSP Manager and setup as below.

figure 19. Under minimal install, only SRC upsampler is available for selection (push ‘<=’) to ensure SRC is active
in Foobar’s DSP stack.
The art of building Computer Transports v0.3.doc 14 of 46
Select SRC upsampler and push ‘Configure selected’ (figure 19) button. Setup as below.

figure 20. Most onboard sound hardware can only handle 48k sample rates. Make sure your Converter
is set to ‘Best Sinc Interpolator’.

Select Output from Preferences Window and setup as figure 21. Note 100ms for buffer length
which is outside recommended range. Larger buffers cater for many active DSPs to ensure
processing of the entire DSP stack – SRC Upsampler is not dependent on this.

figure 21. For onboard sound, Kernal Streaming works. The sound device is prefixed with ‘KS :’. Set buffer length to
100ms. Output data field is dependant on your sound hardware. Don’t ever dither.

14. Disable Network playback. Preferences > Networking and set ‘Buffer size’ to minimum (16KB)
and uncheck 'Enable dynamic track titles (may cause problems with some proxies)'. Goto
Preferences > Advanced > Networking and uncheck ‘Allow seeking over HTTP’.

15. Connect headphones or powered speakers to sound output connector (green color coded) and start
play. First play attempt using KS results in a warning screen which must be closed. Restart
playback. Although this setup doesn’t play loud it should be good through headphones. If you
encounter problems (such as crackles or dropouts) try using Direct Sound (‘DS :’ prefix in figure
21) instead of KS. Make sure Windows volume is enabled.

Simply double-click on any CD or Genre or Track to get playback going. Enjoy.

The art of building Computer Transports v0.3.doc 15 of 46


3.0 Power Supply, PC Hardware, Soundcard & BIOS Setup
Each step is significant. Test system after each change, e.g. music playback via Foobar.

1. Power supply is critical in high-end systems. For best results, use a dedicated AC circuit for
equipment that converts electrical energy to sound. At a very minimum, this primary circuit would
have a DAC (with high quality volume control) and 2 mono amplifiers. The DAC would have a
dedicated high quality line filter.

A secondary circuit is needed for supporting equipment to prevent polluting the critical energy
conversion from electricity to sound. Connect PC (with dedicated basic line filter for computer
and LCD screen) to secondary circuit.

2. A dedicated PC is needed. The following key components should be installed (on an existing PC
or have it custom built). A clean install of Windows XP SP2 Professional is best.

Do not use any graphics cards!

PC Item Recommended Comments


PSU Enermax • Provides excellent filtered power, low ripple voltage and
(Power Noisetaker II 485 active PFC (Power Factor Correction). Based on reviews,
Supply watts some Seasonic PSUs are also a good choice
Unit) $110 • Set fan speed to minimum for low noise & vibrations
• Second rear exhaust fan can be disconnected – remove
cover, follow fan lead to connector and unplug
OR • 485 watts peak will never be used. Aim is to operate PC
with lowest power utilization (~50 watts1)

MGE XG • Fan operates under load only thus giving ideal performance
Magnum 500 without fan interference
watts • Useful rear display showing temperature and power use
$100 • Shielded power cables
Mother- Biostar P4M890- • Micro ATX form factor with basic functions. Important
board M7 PCI-E that small form factor motherboard is used
$55 • Make sure you install (VIA based) motherboard drivers
onto Windows (installation CD is supplied)
• May need to remove old motherboard drivers in Windows
(if upgrading existing PC)
• BIOS setup based on this motherboard
• Most tricky installation step is power & reset switches and
hard disk led connector all else is straight forward
• Hardware RAID is supported using SATA drives. See
Hard Disk PC item
• Allows for excellent fine tuning of memory, clock speeds
and usage of devices. Covered later
• Runs cooler using VIA chipset (North and South bridge)
thus needing less cooling

1
Estimate at AC outlet (for computer only) with moderate load of music playback.
The art of building Computer Transports v0.3.doc 16 of 46
PC Item Recommended Comments
CPU Intel Pentium • Lower specification version of Intel’s Core 2 Duo models
Dual Core with Pentium label
processor 1.6GHz • Advanced CPU offering great processing ability with very
model E2140 low power consumption when underclocked to 1.2GHz
$90 • Do not use faster CPUs (higher clock speeds) as more RF
radiation occurs
• A new CPU or motherboard on an existing PC will require
Windows reactivation – follow on screen messages to
activate
• On Biostar motherboard, ensure latest BIOS is used:
 Although this processor works on Core 2 Duo motherboards, its
best to get latest BIOS update. For Biostar, download latest BIOS:
http://www.biostar.com.tw/app/en-us/mb/bios.php?S_ID=158.
BIOS is updated from Windows using supplied WinFlash utlity
that comes with motherboard (refer to CD). WinFlash allows for
BIOS backups – it’s a good idea to save original BIOS
 After updating BIOS, reboot and access BIOS menu. Perform
'Load optimized defaults' and only thereafter reapply all BIOS
optimizations
CPU Thermaltake • Low vibrations, noise & power
Fan Golden Orb II • Do not use Intel’s fan as supplied with E2140 processor due
(1.56 watts) to higher power use at 3 watts (0.6A)
$38
Memory Single 256MB • That’s correct, only 256MB – 128MB would also work
Memory Module • Install into slot 1 (closest to CPU)
(major brand, • Critical that only one module is used. This does away with
latest generation dual-channel memory access (which is not available on
DDR2 533/667/ Biostar motherboard anyway). Memory is underclocked
675 supporting and tuned for optimal throughput in BIOS
low latencies) • With all optimizations done, available RAM is ~170MB.
$30 This is good for ‘Track Buffering’ up to 16 minutes – this
feature is not yet supported by Foobar nor is file buffering
for .cue. Any RAM above 256MB is not necessary
• Note: for RAMDISK users, 1GB RAM is needed
• Multiple modules often cause blue screen crashes
• ~28% less power consumed over DDR modules
• Latest generation DDR2 RAM must be used to ensure
minimum of 4 Bank Interleaving (covered later)
• Support for low latencies is good as this demands better
RAM build quality. RAM impacts sound quality and
system performance. Many options available: Kingston’s
ValueRAM & HyperX ranges, Corsair, Mushkin… - do not
go overboard
• 1 GB RAM consumes 10-12 watts power thus changing to
256MB saves 7-9 watts. Better results are gained with
256MB ValueRAM vs 512MB HyperX
• If you plan to install Windows with this low RAM, in BIOS
setup, make sure you set Video RAM to 16MB and disable
all BIOS and Video caches. This frees memory allowing for
a clean Windows installation

The art of building Computer Transports v0.3.doc 17 of 46


PC Item Recommended Comments
Hard 2.5” Laptop • Disk noise and its vibrations are dominant
disk SATA (any major • Drives with low power, vibrations, noise and moderate rpm
brand), 100GB+ are best. Laptop SATA drives are ideal (Seagate’s 5400.3
8MB+ cache uses 2 watts for reading vs 12 watts on normal drives – a 6
$100-$300 fold gain!). IDE drives are bad as IDE interface is prone to
electrical interference
• USB drives are not good as disk traffic clutters PCI bus.
All soundcards (USB, PCI or Ethernet) operate of
motherboard’s generic PCI bus hence avoid bus sharing
• Use 1 or 2 drives depending on CDs (100 GB stores ~150
CDs). 250GB drives are being readied
• A 2.5" to 3.5" drive bay adapter is needed for fitting
• Use standard PC SATA connections
• Examples: Toshiba’s $250 MK2035GSS 200GB drive and
Seagate’s Momentus 5400.3 range up to 160GB
• Format to NTFS (Administrative Tools under Control Panel
> Computer Management > Storage > Disk Management >
select your new disk drive, create 1 partition and format)
• [optional2] Setup hardware RAID using 2 identical SATA
drives. Sequential I/O improves and IDE is done away (i.e.
generic Windows IDE drivers are not used). Use RAID 0
(as laptop drives reduces data loss risk). See
http://www.viaarena.com/ and download drivers for
VT8237 Integrated SATA Raid Controllers. A clean
Windows installation is required from CD3

Each component has installation instructions. See http://www.tomshardware.com/ for information


and guides on building PCs. Alternatively, source these parts at a local store and have them
installed. Custom built PCs offer best quality without manufacturer software with possible
unwanted low-level Windows modifications. PC gaming stores have better skills.

For best results, don’t play music from USB / Firewire hard drives or a Network (LAN / WiFi).
This also applies to Windows on USB flash drives. Rationale:
 All soundcards (USB, Ethernet or PCI) operate of PCI bus.
 Best design is when soundcard has lions share of PCI bus use.
 USB and Network drives (which also connect to PCI bus) go against this design principle as
data traffic now competes for PCI bus use.

Technical background: PCI read or write transactions take place between master and slave devices
(soundcard, CPU…). All devices connected to PCI bus can act as master or slave. During a read
or write transaction, master takes control of bus and STOPS all other devices from transacting.
This is where a conflict arises – soundcard wants more data for output but PCI bus is busy with a
data transaction (from USB drive or Ethernet) thus forcing soundcard to wait. This all happens at
frantic speeds but for ultra low latency playback, this conflict will have impacts. Hence, internal
SATA drives are best where motherboard maintains dedicated bandwidth.

2
Hardware RAID setup can be challenging but is highly recommended. Improvements are audible as IDE overheads are eliminated.
3
Website instructions are poor. Using supplied motherboard cable connect floppy drive to mother board (on floppy drive, align arrows on drive & connector) and
test. Copy folder contents of ‘drvdisk’ to floppy. Setup BIOS: Integrated Peripherals > VIA OnChip IDE Device > Change SATA Mode to RAID. Continue to
boot PC, after initial power up screen, press TAB key to access RAID setup menu. Default is Secure mode (RAID 1), change to Performance mode (RAID 0).
Create RAID array. During Windows installation, it will prompt you for a Disk Driver, press F6, then press ‘S’ to load RAID driver from floppy.
The art of building Computer Transports v0.3.doc 18 of 46
3. Computer case is a key part of ensuring solid performance. Avoid more fans as they create more
vibrations and consume power. Biostar motherboard runs cooler than most. Also, many functions
are disabled (thus less power and heat). If you have high temperatures and need more cooling, use
PSU fan first. Enermax has dual fans with variable speed control. Dial this to a higher fan speed.
Case air is pulled through PSU and expelled at rear. Variable speed control also works when rear
exhaust fan is disconnected.

Standard computer cases are not ideal (poor drainage & damping of vibrations, dependence on
multiple fans, PSU EMI radiates within case, etc.). Home Theatre computers (HTPCs) are rapidly
growing. Manufacturers like Thermaltake and Zalman offer HTPC cases that address these issues.

Zalman’s TNN-300 is highly recommended (fanless design using heat pipe technology, rubber
mounts for drives, fanless PSU with active PFC mounted externally, solid aluminium chassis). It’s
a 2nd generation design (see http://www.zalman.co.kr/eng/product/view.asp?idx=175&code=020) that costs
~$700, a net increase of $350 after adjusting for Enermax PSU, CPU Fan and a standard computer
case). Installing everything is a full day’s effort.

This chassis is well designed, well built, compact and looks nothing like a PC. Its high-tech look
fits the part of a supremely talented computer transport.

Zalman TNN-300 installation notes:

a. All components install perfectly with exception of Intel’s socket 775 fanless CPU cooler –
manual is unclear. It seems Zalman purposely did this as many Intel 775 CPUs have high
temperatures beyond specifications of this chassis. This is not the case with Core 2 Duo CPUs
especially E2140. (Solution: install 775 brackets, then Copper block with smooth end fits
flush on CPU layered with thermal grease. Thereafter fit heat pipes…).

b. Do not install USB hub and Zalman’s supplied Multifunctional Multimedia Center. Zalman’s
remote control and built-in IR receiver is not needed.

c. Clumsy rear-mount thermal blocks (underneath motherboard) are NOT necessary as Biostar
runs cooler (even more so when BIOS optimizations are done).

d. Downside is for soundcards with IO modules fitting into 5.25” bay. Front panel has a silly lip
that covers part of bay – cut holes to allow IO module to fit. (Remove front panel for this).

e. On first power up, Biostar motherboard picks up different CPU voltage and for safety reasons
may reset BIOS to defaults. Bypass this problem by resetting BIOS as suggested and also set
CPU and Memory voltage to ‘Startup’ under ‘Performance Booster Zone’ – although this is the
default, setting it again does away with warning message on power up.

f. On RAID 0, make sure BIOS SATA mode is set to RAID, otherwise system will not boot as
no valid boot area is found.

g. BIOS boot priority may need to be changed as well. Once BIOS is corrected, system starts up.
It’s a good idea to check all optimizations.

This case has a great deal of weight on its side which is a good thing as added inertia prevents
mechanical vibrations from impacting sound. No fans whatsoever (on PSU and CPU), no
vibrations and its almost noiseless (laptop SATA drives can just be heard). Biostar motherboard
complements this chassis beautifully. Zalman’s stand does a good job of dampening vibrations
(but spikes would’ve been better).
The art of building Computer Transports v0.3.doc 19 of 46
4. Install 24/96 capable soundcard. Use soundcards with non-metallic digital output interface.
Toslink is available whilst ST Glass is not easily found. For 24/96 output, Toslink excels when
used with quality glass fibre cables such as Audioquest’s Optilink 5 or Van Den Hul’s
Optocoupler. Galvanic isolation is achieved which is impossible with BNC, Coax or AES/EBU.
Many computer interfaces can be used: USB/Firewire, PCI (installs in PC) and Ethernet.
a. Choose a soundcard that comes with quality software drivers. For some EMU and Creative
cards use the excellent kX software driver, http://kxproject.lugosoft.com/. If you want to use
ASIO make sure software driver supports this.

b. If external DAC does no re-clocking or input buffering (i.e. no internal jitter management),
make sure soundcard delivers a high quality clock as part of the digital output.

c. For DACs with a clock setup, refer to Lynx or RME soundcards that allow for clock slaving.

d. Make sure latest software drivers are installed for soundcard. Check supplier’s website for any
updates. Only install the software driver as other tools are not required.

e. For PCI based cards, make sure soundcard has a dedicated interrupt. (Check this via: Control Panel
> Administrative Tools > Computer Management > Device Manager > ‘Resources by connection’
under View MENU > Interrupt request (IRQ)). Place it away from cpu and hard drives.

Changing PCI slot (which changes IRQ assignment) will require software driver reinstallation.
On recommended Biostar motherboard use PCI slot 2 (i.e. last slot near motherboard edge).

f. Set Foobar to use installed soundcard. Under Preferences select Playback > Output. For
ASIO, goto Output > ASIO Virtual Devices and push Add New – select ASIO channels and test
(left & right channels). Under Output, setup ‘Output Device’ (see figure 21). Foobar lists
soundcard options, choose either Kernal Streaming (KS) or ASIO.

Set ‘Output data format’ to 24 or 32 bits – this depends on soundcard driver (see
documentation). Note 32 bits is padded with 8 extra bits of no music information.

g. Set SRC Upsampler to 96,000 (see figure 20).

h. Test your soundcard including digital output to an external DAC.

5. Remove all unnecessary cables within PC - no external USB connectivity hubs, firewire and
unnecessary sound cables. Such cables add RF interference as they are unshielded thus acting as
antennas. Keyboard and things like USB hubs consume power (albeit little, every reduction helps).

Soundcards with IO modules come with many connectivity options – often only module bus cable
is needed. Route cable carefully making sure it’s away from power cables, hard disks and
motherboard (as a few centimeters make a big difference).

6. Use a good quality AC power cord to your PC.

7. Minimise connected components during playback. Remove keyboard. Only connections to PC should
be a shielded VGA cable, mouse (either system or USB) and digital output. Use a TDK Ferrite Core
(http://www.tdk.de/productsearch/e9a15_zcat.pdf) for mouse connection. Select cores that increase
impedance with frequency. For example, figure 2 on page 3 of link provided reflects correct
impedance curve whilst figure 5 will not work with computers as frequencies extend beyond
1000MHz.
The art of building Computer Transports v0.3.doc 20 of 46
8. Disconnect Power LED, HDD LED and Reset Switch connections from motherboard. Only
connection needed is Power Switch. Others are completely unnecessary and when connected
cause audible interference. Power and disk access LEDs will no longer work.

9. Remove CD ROM Drive. Apart from high EMI, it uses IDE connectors. For CD ripping, use
home computer and copy files via USB (stick or drive). For CD based software installations,
connect CD Drive temporarily (and enable IDE Channels as described in BIOS setup).

10. Setup BIOS. Access main menu by pressing Delete key when power-up screen is shown.

Use keyboard arrow keys to navigate, Enter to select or accept, and Esc for previous. Once
changes have been done, perform Save & Exit Setup and answer ‘Yes’ on exit prompt.

NOTE: Screens show BIOS defaults. Listed below each are new values to be entered.
Screens may not be identical but items to be changed can be located in the menu options.

• Goto Advanced BIOS Features

1. Select Shadow Setup, disable Video BIOS Shadow


2. Select Cache Setup, disable:
 CPU L3 Cache (this is not available on E2140 processor)
 CPU L2 Cache ECC Checking (if for some insane reason you're
overclocking, this setting must remain enabled)
3. Select CPU Feature, disable Execute Disable Bit.
Together with a change in Windows covered in section 4, all Data Execution
Protection (DEP) is disabled.

The art of building Computer Transports v0.3.doc 21 of 46


• Goto Advanced Chipset Features

1. Disable System BIOS Cacheable


2. Make sure Top Performance and Memory Hole are Disabled
3. Set VGA Share Memory Size to 16MB, AGP speed to 4x (or lowest available) and
AGP aperture to 32MB
4. Keep Direct Frame Buffer Enabled
5. Under CPU & PCI Bus Control, disable
 PCI Delay Transaction (deviates from PCI standards but reduces latency)
 VIA PWR Management

• Goto Integrated Peripherals

1. Under VIA OnChip IDE Device, disable:


 OnChip IDE Channel0
 OnChip IDE Channel1
This is where IDE hard disk drives are connected to. Don’t use this interface. Also
internal CD Drives are connected here which must be removed. When these
options are disabled, a number of related options become inaccessabile.

For Hardware RAID, SATA Mode is set to RAID. See 3.2 (Hard Disk item) as
setting this option requires Windows reinstallation. This option is set before all
other BIOS settings are done

2. Under VIA OnChip PCI Device, disable:


 VIA AC 97 Audio (your motherboard sound hardware)
 VIA MC97 Modem
 VIA OnChip LAN (if not using Ethernet based soundcard)
 OnChip EHCI Controller or USB 2.0 (keep Enabled for USB 2.0 based
soundcards only)
 Set USB Emulation to OFF

The art of building Computer Transports v0.3.doc 22 of 46


3. Under Super IO Device, disable:
 Onboard FDC Controller (floppy disk controller)
 Onboard Serial Port 1
 Onboard Serial Port 2 (if shown)
 Onboard Parallel Port

• Goto PnP/PCI Configurations

1. Make sure PCI/VGA Palette Snoop is Disabled


2. Make sure PNP OS Installed is set to No
Further optimization in section 4 depends on this BIOS setting.

• Goto PC Health Status

1. Set CPU FAN Control by to Smart (other options become available)


2. Set Start PWM Value to 24
3. Set Slope PWM to 1 or 0 (if available)

• Goto Performance Booster Zone

The art of building Computer Transports v0.3.doc 23 of 46


1. Disable Spread Spectrum
Clock jitter is added to reduce peak RF radiation to wide-band RF radiation. More
overall RF radiation is created but this helps pass FCC regulations. Diagram shows
RF levels, see http://www.maxim-ic.com/appnotes.cfm/appnote_number/1995.

Baseline BIOS setup is now complete. Perform Save & Exit Setup.

Notes:
• To regain all system functions, perform Load Optimized Defaults in main menu. Reapply
BIOS settings for dedicated transport function.

11. Optimize RAM performance. CPU-Z utility is required and can be downloaded from
http://www.cpuid.com/cpuz.php (version 1.40 or higher).

In BIOS, select Performance Booster Zone.


• Set DDR Voltage to +0.07V instead of StartUp or 1.80V (default) – although higher
voltages increase power this small increase gives better stability at lower latencies. Note
some RAM modules would require a higher voltage setting (refer to specifications).
• Select DRAM Clock/Drive Control. Next 5 steps make changes to these settings. Other
motherboards may not offer such settings.

The art of building Computer Transports v0.3.doc 24 of 46


Step 1. Underclock RAM by setting DRAM Clock to 200MHz instead of By SPD. This reduces
RF radiation and allows for lower latencies. Boot system and confirm with CPU-Z under Memory
TAB as in figure 22 (see Frequency under Timings section). At 200MHz clock rate is 5ns.

figure 22. Frequency at 200MHz giving FSB:DRAM of 1:1. Memory setup with Command Rate of 1T (step 2). Latencies &
4-way Bank Interleave are set in step 3. Adjacent SPD TAB shows default latencies (note Trc = RAS#Precharge + Tras).

Step 2. Set 1T CMD Support to Auto. This determines how soon memory controller sends commands
to memory - Auto sets command delay of one clock cycle or 1T (default is 2T). Run CPU-Z, select
Memory TAB and confirm command rate of 1T.
Poor quality RAM modules (of which there are many) conflict with 1T setting causing random
Windows crashes (BSOD errors). Testing should be done at length (2+ hours) – if BSOD error occurs
then revert to Disable setting or change RAM.

Step 3. Set latencies to optimal levels. In figure 22, optimal latencies (in clocks) are set to 3-2-2-10
(CAS Latency 2/ 3, Trcd 2T, Trp 2T, Tras 10T). Tras is determined from RAM specifications – these
are available on manufacturers’ website (brand and part number is on RAM module).
Tras must be above specified minimum value. Specifications are given in times (e.g. Trc 60ns & Tras
minimum 45ns) – these times must be divided by 5ns (200MHz) to get BIOS clock setting. Set Tras
to minimum Trc (Row Cycle Time = Trp + Tras). For example, Kingston’s ValueRAM or HyperX
256MB DDR2 533 specifies Trc at 60ns or 12T (60ns/5ns) and since Trp is 2T this gives Tras of 10T
(as Trc = Trp + Tras). Also, Tras minimum is given at 45ns or 9T making 10T the optimal setting.
Set DRAM Timing to Manual and apply optimal settings of 3-2-2-?. Lowest setting of 2-2-2-5 is
NOT recommended as Trc timing violates minimum specifications causing interference or failure.
Also, a low Tras setting negatively impacts system performance.
Bank interleave of 4 works on latest DDR2 modules. Set BIOS latencies and interleave (figure 23).

If unsure about these settings then steps 3-5 can be left to BIOS by keeping DRAM Timing to
‘Auto By SPD’. This is less optimal but safer.

The art of building Computer Transports v0.3.doc 25 of 46


Incorrect settings (or other factors in which case higher latencies are needed) may cause BIOS to
hang as BIOS cannot initialize RAM. Fix this by restoring BIOS from CMOS (refer to motherboard
documentation). For Biostar: remove AC cord, set motherboard CMOS Jumper to Close (pins 2-3) for
5 seconds and set back to Normal Operation (pins 1-2). This requires resetting ALL BIOS settings: on
startup, make sure all settings are reapplied AFTER performing Load Optimized Defaults and
BEFORE Windows reboot.

figure 23. DRAM Clock/Drive Control giving 3-2-2-10 latencies. Setup: DRAM Timing to Manual, Bank Interleave to 4
Bank, SDRAM CAS Latency to 2/ 3, Trcd to 2T, Trp to 2T & Tras to 10T, and DDR2 Performance by Best. Leave Trfc and
TRRD at BIOS defaults (see steps 4 & 5). Bank Interleave of 4 works for latest generation DDR2 RAMs.

Step 4. Keep ACT(0) to ACT(1) (TRRD) at 3T. This determines delay of successive activate
commands. Although 2T improves performance, more current surges occur.

Step 5. Set REF to ACT/REF (Trfc) to RAM specification. For example, Kingston specifies Trfc
(refresh … time) at 105ns. Dividing by clock rate of 5ns gives 21T (105ns/5ns). Hence Trfc is set to
20T/21T (DDR/DDR2) in figure 23. Incorrect setting (too low) could require BIOS reset from CMOS
(see how 2 in step 3). An incorrect setting may not cause BIOS to hang but instead cause a Windows
crash. In this case, a higher value is needed.

Test playback via external DAC. There should be significant improvements!

The art of building Computer Transports v0.3.doc 26 of 46


4.0 Windows XP & Soundcard Software Optimization
As in section 3, each step is significant. Test system after each change.

Some settings have a significant impact on sound quality therefore make sure each step is done.

Collectively, these optimizations make for a stunning transport.

1. Remove all unused programs and virus protection. Some program installations such as virus
checkers have low-level hooks that could impact sound quality. Launch Add or Remove Programs
under Control Panel. To remove a program, highlight it and Windows expands the item together
with a Change and/or Remove button. Push Remove or Change if Remove is not available.
Follow installation program prompts to uninstall program.

2. Remove Windows software components. Some Windows nasties have to be dealt with first.
Using File Explorer, locate ‘sysoc.inf’ file in C:\WINDOWS\inf. Make sure you set ‘Show hidden
files and folders’ (Folder Options under Tools MENU > View TAB > set ‘Show hidden files and
folders’ under ‘Hidden files and folders’). Open sysoc file and delete all ‘HIDE’ or ‘hide’ (use
find & replace and leave ‘Replace with’ blank). Save file.

Launch Windows Component Wizard by pushing on left side of Add or Remove Programs
under Control Panel. A list of Windows components is given and deselect:

a. Fax Services
b. Indexing Service
c. Internet and Information Service
d. Message Queuing
e. MSN Explorer
f. Outlook Express
g. Terminal Server
h. Windows Media Player
i. Windows Messenger (this checkbox is ‘sticky’)

Select Accessories and Utilities > Details button. Only check first 2 items:

figure 24. Details button allows for sub-components to be removed.

The art of building Computer Transports v0.3.doc 27 of 46


Uncheck all items under Network Services > Details button. This can also be done for LAN or
WiFi based systems.

figure 25. Networking services removed.

Push ‘Next’ button and complete wizard. After restarting Windows, you shouldn’t have
Messenger icon in your task bar.

3. Reduce video interference and traffic

Excessive video traffic and a separate video processor (either onboard or graphics card) impacts
negatively on audio quality.

The rationale applied here is twofold: reduce motherboard traffic (between video chipset and
system memory) and lower power consumption (video chipsets are power hungry). It's correct that
reducing video hardware acceleration will add CPU load, Intel's Pentium Dual Core processor
does this with less power consumption and effortlessly (due to its processing ability and switching
to 8 bit color).

Perform following steps exactly, otherwise different results are obtained.

a. No hardware acceleration & Disable write combining. Right-click on Desktop >


Properties > Settings TAB > Advanced button > Troubleshooting TAB set as figure 26.
Push Apply button and OK. Restart Windows.

figure 26. Reduce hardware acceleration to ‘none’ and uncheck ‘Enable write combining’

You should notice a 'slow down' on video performance (e.g. doing rapid scrolling) as video
chipset is now disabled. Basic video functions are done by CPU so avoid busy visuals
during Foobar playback, e.g. disable spectrum analyzer and seekbar.

The art of building Computer Transports v0.3.doc 28 of 46


b. Disable video processor. Previous step moves all video processing to CPU. This allows
for video processor to be disabled. Make sure step 3.a is done correctly.

Control Panel > System > Advanced > Hardware TAB > Device Manager button. In
Device Manager, Expand Display adapters > right-click VIA/S3G Unichrome Pro IGP >
select Disable. Answer Yes to Prompt. Restart Windows.

figure 27. Video processor disabled. Other motherboards may have different processor descriptions.

c. Redo step 3.a, i.e. no hardware acceleration and uncheck ‘enable write combining’.
Windows default video monitor settings are in effect and must be changed.

d. Reduce visual effects for best performance. Control Panel > System > Advanced >
‘Settings’ button in Performance > Visual Effects TAB. Set as below and Apply.

figure 28. Pushing ‘Adjust for best performance’ leaves all items unchecked.

e. Confirm monitor operates at default refresh rate. Right-click on Desktop > Properties >
Settings TAB > Advanced button >Monitor TAB. Confirm refresh rate as below, otherwise
set refresh rate to ‘60 Hertz’ and apply (this indicates video processor is still active – refer
to 3.a & 3.b).

figure 29. Video refresh rate reflects as ‘Use hardware default setting’.

The art of building Computer Transports v0.3.doc 29 of 46


f. Switch to 8 bit color and match video output resolution to Plasma / LCD native resolution.
Refer to Plasma / LCD manufacturer for native resolution. Right-click on Desktop >
Properties > Settings TAB > Advanced button > Adapter TAB > List All Modes button.
All possible resolutions are displayed; only select 256 color (8 bit) version of your
monitor’s native resolution. Press OK button.

figure 30. Set video resolution to exactly match native resolution of Plasma or LCD. Above setting for 20” LCD.

All LCDs & plasmas have a native resolution. Latest LCDs are often 1280x1024. Plasmas
and widescreen LCDs will differ. Windows Screen Resolution must match this native
resolution. This optimization is also done for best video quality. Recyle power on
computer (reboot is not enough) for change to effect LCD/Plasma.

Why? Both LCDs and Plasmas put back noise into your AC circuit which can be audible in
a high resolution system. The most offending piece inside these monitors is the Display
Processor. It detects input resolution and scales to internal native resolution. This is a
video DSP chip. Display Processor is bypassed by setting output to native resolution.

Settings should reflect something like this:

figure 31. Settings TAB of Display Properties. Only limited colors are available in 8-bit mode
but this yields best audio performance.

g. Remove Video Processor driver software using Control Panel > Add or Remove Programs.
This removes processes that automatically start with Windows (but will never be used).

h. Minimize monitor power consumption. Noise through VGA cable to computer is reduced.
Adjust monitor for lowest usable brightness. For LCDs, set background color in Foobar
and desktop to white. For Plasmas, color should be black. Color and brightness setting
lowers power consumption. LCDs use least power for whites while Plasmas equivalent is
blacks. Maximum power is used for opposing colors (e.g. LCD requires max power to
display black color).
The art of building Computer Transports v0.3.doc 30 of 46
4. Set CPU for permanent underclocking. Control Panel > Power Options. Set as below.

figure 32. Power Schemes TAB: Set scheme to ‘Max Battery’, set all else to ‘Never’; Hibernate TAB: Uncheck
‘Enable hibernation’.

This setting keeps CPU V-core (voltage core) to lowest level of 1.16v for Intel E2140 processor.
A constant low clock speed of 1.2GHz means less RF radiation (& its harmonics) and significantly
less power consumption. Confirm these changes using CPU-Z Utility:

figure 33. Core voltage at 1.168v and CPU clock speed at 1200MHz. These values must remain fixed
while playing music.

With RAM underclocked to 200MHz (section 3.11), CPU underclocked to 1200MHz and FSB at
800MHz, RF radiation is reduced. Inter-Modulation Distortion (IMD) is also reduced. These
clock speeds are critical for best performance.

Of course even lower clock settings would be preferred at lower power consumption but without
performance penalties (such as the inability to upsample timely for clean playback)… This
equation is improving all the time.

The art of building Computer Transports v0.3.doc 31 of 46


5. Registry settings:

For all registry settings, you need to run a program called Regedit. Start > Run. Enter
‘regedit’ and click OK. After completing items a-d, reboot your PC.

a. Reduce delay / speedup menus. Select HKEY_CURRENT_USER > Control Panel >
Desktop. Double-click ‘MenuShowDelay’ and set Value data to 1.

figure 34. Menu ShowDelay.

b. Disable Windows Prefetcher. Select HKEY_LOCAL_MACHINE > SYSTEM >


CurrentControlSet > Control > Session Manager > Memory Management >
PrefetchParameters. Double-click ‘EnablePrefetcher’ and set Value data to 0
(hexadecimal).

From File Explorer, delete all contents of ‘C:\WINDOWS\Prefetch’ directory.

figure 35. EnablePrefetcher. Make sure all contents of C:\WINDOWS\Prefetch is deleted

The art of building Computer Transports v0.3.doc 32 of 46


c. Disable Notification Area Balloon Tips. Select HKEY_CURRENT_USER > Software >
Microsoft > Windows > CurrentVersion > Explorer > Advanced. Right-click the right
window pane and select New > DWORD Value. Rename it to ‘EnableBalloonTips’.
Double-click and set Value data of 0 (hexadecimal).

figure 36. EnableBalloonTips.

d. NTFS Disable Last Acccess Update. Select HKEY_LOCAL_MACHINE > SYSTEM >
CurrentControlSet > Control > FileSystem. Double-click NtfsDisableLastAccessUpdate
and set value to 1 (hexadecimal). This keyword may not exist. If so, right-click in right
window pane select New > DWORD Value. Rename to ‘NtfsDisableLastAccessUpdate’.
Double-click and set value to 1 (hexadecimal).

figure 37. NtfsDisableLastAccessUpdate.

The art of building Computer Transports v0.3.doc 33 of 46


6. Performance Settings – sourced from http://www.musicxp.net/tuning_tips.php which shows other
tuning tips as well. Important settings are listed here with some having different values than on
website.

a. Switch to System Cache memory usage & Priotise to background services


Control Panel > System > Advanced > ‘Settings’ button in Performance > Advanced Tab
> select Background Services and select System cache. Restart Windows.

b. Set Virtual Memory to 0MB


Control Panel > System > Advanced TAB > ‘Settings’ button in Performance > Advanced
TAB > ‘Change’ button in Virtual Memory > set ‘No paging file’. Push Set and OK
buttons to set virtual memory to 0MB. Restart Windows.

figure 38

c. Disable error reporting


Control Panel > System > Advanced TAB > Error Reporting > Click the Disable Error
Reporting box (Tick the ‘But Notify Me When Critical Errors Occur’ if you prefer)

d. Disable Screen Saver


Right-click Desktop > Properties > Screen Saver > None

e. Disable system restore


Control Panel > System > System Restore TAB. Tick ‘Turn off System Restore on all…’

f. Disable remote assistance


Control Panel > System > Remote > Untick ‘Allow Remote Assistance Invitations to be
sent from this computer’

g. Disable automatic updates


Control Panel > System > Automatic Updates and tick ‘Turn off automatic updating. I
want to update my computer manually’.

h. Disable fast user switching


Control Panel > User Accounts > Change the way users log on or off > Untick Use Fast
User Switching

i. Disable Internet Synchronise Time


Control Panel > Date and Time > Internet Time > Untick ‘Automatically synchronize with
an internet time server’

The art of building Computer Transports v0.3.doc 34 of 46


j. Disable offline files
Control Panel > Folder Options > Offline Files > Untick ‘Enable Offline Files’

k. Disable automatic restart, uncheck startup times and disable debugger information
Control Panel > System > Advanced TAB > ‘Settings’ button in Start Up & Recovery. Set
as below and restart Windows.

figure 39. System startup timings unchecked, System failure items unchecked and
‘(none)’ set for debugging information.

l. Disable Automatic Desktop Cleanup Wizard


Control Panel > Display > Desktop > Customise Desktop > Untick ‘Run Desktop Cleanup
Wizard every 60 days’

7. Optimize soundcard driver

a. No mapping by Windows. Control Panel > Sounds & Audio Devices > Hardware TAB >
highlight soundcard > Properties button > Properties TAB > Audio Devices > highlight
soundcard > Properties button. Check ‘Do not map through this device’.

figure 40

b. Disable system sounds. Control Panel > Sounds & Audio Devices > Sounds TAB. Set
Sound scheme to ‘No Sounds’. Set Volume to max in Volume TAB.

figure 41
The art of building Computer Transports v0.3.doc 35 of 46
c. Use latest software driver for your soundcard. This has large impacts on sound quality.
Visit your supplier’s website and locate driver downloads.

d. Ensure soundcard doesn’t share Interrupt (IRQ) with other devices. See section 3.4.e.

e. Disable soundcard’s non-audio hardware such as game ports (see documentation – these
are non audio hardware interfaces visible on the card). Control Panel > Administrative
Tools > Computer Management > Device Manager > ‘Devices by connection’ under View
MENU > ACPI Multiprocessor PC > Microsoft ACPI-Compliant System > PCI Bus.
Right-click on soundcard feature and select ‘Disable’.

figure 42. Example (Audigy 2 ZS Platinum) with game port and firewire 1394 disabled.

f. Disable unused soundcard audio functions (see documentation). Access soundcard settings
and disable all DSPs, DACs, Soundfonts, etc. with only pure 24/96 output remaining.
Other features like on screen display, balloon tips and infrared remote should be disabled.

g. Optimize soundcard buffers (see documentation). Review playback output buffer settings
and set playback buffer for lower latencies (i.e. smaller buffer size) without affecting
stability (no crackling, dropouts and crashes). A ~2ms latency delivers performance of an
equivalent $10,000 traditional CD transport. However, much lower latencies can be
attained and thereby achieve far superior results. Lowest latency offers best results
(~0.25ms playback latency is possible using KS)!

Which is better, KS or ASIO? Both methods deliver excellent results but when using KS,
its important that a low latency is set. Should soundcard driver not offer an option to
reduce latencies (or reduce playback buffer size) then choose ASIO over KS. Often, ASIO
is preferred since it's designed for low latencies. When KS is setup for low latencies to that
of ASIO there is minimal performance difference. KS has advantage of even lower
playback latencies (0.25ms) over ASIO (which are ~0.7-2ms at best) and is less complex.
Try experimenting after all optimizations are done.

Why the relationship of lower is better is not understood but nonetheless audible in a high-
end system. A potential explanation is latency jitter (minor variations in latency) which
could correlate to digital audio transmission jitter.

Remove unused Foobar component for playback output. This is either foo_out_ks (KS) or
foo_out_asio (ASIO) from Foobar's component directory (see 2.5). If you selected KS for
output then remove ASIO (foo_out_asio). Only 5 components should remain in directory.

h. Set soundcard volume to maximum.


The art of building Computer Transports v0.3.doc 36 of 46
8. Install NO overclocking or overvoltage utilities!

9. Defragment disk. All Program > Accessories > System Tools > Disk Defragmenter.

10. Prevent programs from starting automatically. Empty startup menu by removing shortcuts (e.g.
Acrobat Reader). Start > All Programs > Startup has a list of shortcuts that tells Windows to start
these programs. Right-click on Startup and select ‘Explore’. Delete shortcuts. Note startup
shortcuts can also be found under ‘All users’ – select ‘Explore All Users’ and/or ‘Open All Users’.

11. Disable unnecessary devices. These consume resources and cause unwanted motherboard traffic.
Control Panel > System > Hardware TAB > Device Manager button > View MENU > Check
‘Show hidden devices’. With ‘Show hidden devices’ checked, much can be disabled. Right-click
device item and select Disable. Answer Yes when prompted. Most devices require a reboot.
a. Disable System Devices as shown below. Both PCI to PCI Bridge controllers are disabled
– don’t do this if using PCI-E graphics card, as one of these must remain enabled.

figure 43. System Devices.

b. Disable Network Adaptors if NOT using Windows network functionality. It’s highly
recommended not to use any Windows networking (either LAN or WiFi).

figure 44. Network adapters.


The art of building Computer Transports v0.3.doc 37 of 46
c. Disable Non-Plug and Play Drivers (check ‘Show hidden devices’ under View menu)
These are safe items to disable:
• Beep
• Parport (if shown)
• RDPCDD (Terminal Services)
• Remote Access Auto Connection Driver
• Remote Access IP ARP Driver
• Remote Access NDIS TAPI Driver

NDIS System Driver can only disabled if NOT using a Graphics card or any network
functions. Should this fail (i.e. get BSOD error on reboot), Windows must be started in
Safe Mode (on reboot, press F8 continuously until Windows boot menu appears & select
Safe Mode). In Device Manager, Enable Device item that caused BSOD error – it’s a good
idea to Disable each individually and reboot.
If NOT using any network functions, then disable:
• AFD (Sockets)
• Fips (Encryption)
• Generic Packet Classifier
• HTTP
• IP Network Address Translator
• IPSEC Driver
• NDIS Usermode I/O Protocol
• NDProxy
• NetBios over Tcpip
• TCP/IP Protocol Driver

These can be disabled only when using SATA RAID:


• ViaIde (or IntelIde for Intel based motherboards)
• Standard IDE/ESDI Hard Disk Controller.

figure 45. Non-Plug and Play Drivers showing most aggressive setup when NOT using a graphics card,
NO networking and disk interface is SATA RAID. Do NOT disable other drivers!
The art of building Computer Transports v0.3.doc 38 of 46
12. Limit Windows services. Only 2 are needed (or 3 where some soundcard drivers require Windows
Audio). Control Panel > Administrative Tools > Computer Management > Services. Double-
click service to be stopped. Push Stop button and set ‘Startup type’ to Manual. Figure below lists
needed services (status shows ‘Started’). For networking: Network Connections, Workstation and
DHCP Client must remain started. Some services will only stop after rebooting.

figure 46. Set ‘Startup Type’ to ‘Disable’ only if service persists, e.g. this is the only way to stop Terminal Services

This is an aggressive setting and will stop many Windows functions. Restart services if needed,
e.g. doing a software install or network access (note LAN port is disabled in BIOS). Windows
Services for most other functions are Event Log, WMI, COM+ Event System, COM+ System
Application and DCOM Server Process Launcher (these are not needed for sound).

To update soundcard software driver set Event Log, Cryptographic Services, Windows Audio and
WMI to Automatic and Start them. Once installed and stable, Stop services and set to Manual.

Task manager under Windows XP SP2 Professional should show ~12 processes. RME soundcard
uses 2 processes whilst others may need 1 thus giving 11 processes.

figure 47. Although 13 processes are shown, process ‘FSCapture’ runs to take screen shots. Under Performance,
note limit and available memory. System Cache grows substantially when playing entire CDs.

The art of building Computer Transports v0.3.doc 39 of 46


13. Use Autoruns utility for further Windows reduction. Download and Install Autoruns from
http://www.microsoft.com/technet/sysinternals/utilities/Autoruns.mspx – copy .zip file contents to
a directory and double-click autoruns.exe extraction application. This extracts Autoruns
application to a directory specified. Double-click autoruns.exe to start application.

Weblink provides more details on this application. Autoruns is very useful and very dangerous.
After some testing and a few system rebuilds the following changes work. Take care.

a. Print Monitors TAB.

figure 48. Select Print Monitors TAB. Uncheck all items.

b. Network Providers TAB

figure 49. Make sure 'LanmanWorkstation' remains checked. When unchecked, system crashes on
reboot and can only be fixed by starting Windows in Safe Mode.

c. Explorer TAB

figure 50. Under ‘Installed Components’ of Explorer TAB uncheck all items.

14. Windows Kernel changes. These are low level Windows changes. Sonic improvements are
significant giving improved dynamics, transients and harmonics.

Goto Control Panel > System > Advanced TAB > Settings button for ‘Startup and Recovery’. See
figure 39. Press ‘Edit’ button. Notepad is used to edit boot.ini file (hidden system file in root
directory). Make a backup of c:\boot.ini file. TAKE GREAT CARE IN MAKING THESE
CHANGES! Reboot and test system after each change – do not apply all changes at once!

a. /noexecute. Edit entry ‘/noexecute=optin’ OR in rare cases, ‘/noexecute=optout’ to


‘/noexecute=alwaysoff’. Save file. If you get an error, uncheck read only flag in
c:\boot.ini file properties (make sure you set file explorer to show hidden files and uncheck
‘hide system files’). Reboot & test. This change works best when BIOS CPU Feature
settings for Execute Disable Bit is disabled. See section 3.10. DEP (Data Execution
Protection) feature of Windows is now disabled and low level overheads are removed for
both CPU and Windows.

The art of building Computer Transports v0.3.doc 40 of 46


b. /timeres=9800. Add this parameter (‘/timeres=9800’) to command line. Windows has 4
timing resolutions ranging from 0.98ms to 7.8ms (default). Lowest timing resolution of
0.98ms for ‘waitable timers’ is set. This setting can is used in multiprocessor systems, i.e.
multiple CPUs (E2140 has 2).

c. /nodebug. Kernel debugger is not initialized.

d. /pcilock. This disables Windows IRQ assignments to PCI devices and forces Windows to
use BIOS settings. This change is NOT recommended for Dell PCs where both
keyboard and mouse functions are lost. In this event, you must remove ‘/pcilock’
command. This is done by installing your boot hard drive in a working computer as a
secondary drive. Alternatively boot from CD or USB. Access boot.ini file using Explorer
and remove entry.

Make sure in BIOS, under PnP/PCI Configurations item PNP OS Installed is set to No.
Otherwise, Windows becomes unpredictable. Should your BIOS not offer this, don’t
add /pcilock.

With all changes, your Windows command line in boot.ini file should look like this:
...
...WINDOWS="Microsoft Windows XP Professional" /noexecute=alwaysoff /fastdetect /timeres=9800 /nodebug /pcilock

15. Run Foobar with real-time priority. Using Explorer, locate foobar2000.exe file (in directory
C:\Program Files\Foobar2000). Create new shortcut by right-clicking file and selecting ‘Create
Shortcut’. Right-click shortcut and select ‘Properties’. On Shortcut TAB, set ‘Target:’ as
‘C:\WINDOWS\system32\cmd.exe /c start /REALTIME c:\progra~1\foobar2000\foobar2000.exe’.

figure 51

16. A better way to run Foobar.


Changing settings in Folder options or Task bar properties affects sound quality. Windows
Explorer (desktop user interface) must not be confused with Internet Explorer. This is a nasty
piece of work which consumes memory (10MB+). It interferes with running programs and files
being accessed. Hence it affects sound quality.

Solution is to exit Explorer and only run Foobar. Some Windows system processes are suspended
& resumed. Windows Priorities and CPU allocations (called Affinities) are changed. By exiting
Explorer, memory is freed. Setting Affinities allows for reduction in unwanted system context
switches. Context Switches and more can be viewed using Process Explorer from
http://www.microsoft.com/technet/sysinternals/ProcessesAndThreads/ProcessExplorer.mspx
(unzip to c:\Program Files\Process Explorer).

The art of building Computer Transports v0.3.doc 41 of 46


Solution provided requires double-clicking a program (.bat file) on your desktop. This program
performs all tasks required and after exiting Foobar, Windows including Explorer is reinstated.
Two .bat files are needed: one called foobar.bat (stored in c:\) & other ?.bat (e.g. playMusic.bat) is
saved on your desktop.
Steps:
a. Detune Windows Explorer UI.
Control Panel > Folder Options > View TAB > Uncheck as many items (leave 'Use simple
file sharing' checked). Right-click on Start > Properties > Start Menu TAB > Customize >
Advanced TAB > Uncheck and Disable as many 'Start menu items' (key things needed are
Control Panel, Run and My Computer).
b. Download Process Utility from http://www.beyondlogic.org/consulting/processutil/processutil.htm
(freeware). Zip file contains a small (25k) program called process.exe which you must
extract to c:\ (root directory). This utility allows stopping, suspending… windows
processes. Double-click this application to remove any agreement prompts.
c. Create a ?.bat file and save to Desktop using Notepad. Copy following commands:
@echo off
rem #1 Kill UI
start /b /wait c:\process.exe -k explorer.exe

rem #2 Suspend Windows


start /b /wait c:\process.exe -p smss.exe Low
start /b /wait c:\process.exe -p winlogon.exe Low
start /b /wait c:\process.exe -a smss.exe 01
start /b /wait c:\process.exe -a winlogon.exe 01
start /b /wait c:\process.exe -s smss.exe
start /b /wait c:\process.exe -s winlogon.exe
rem start /b /wait c:\process.exe -s hdsp32.exe

rem #3 Start Foobar2000


start /b /wait c:\process.exe -a cmd.exe 01
start /Low /min c:\foobar.bat

rem #4 Adjust priorities, eg. High, RealTime, AboveNormal, BelowNormal, Low;


rem # and Set Affinities
start /b /wait c:\process.exe -p system Normal
start /b /wait c:\process.exe -p csrss.exe Low
start /b /wait c:\process.exe -p services.exe Low
start /b /wait c:\process.exe -p svchost.exe Low
start /b /wait c:\process.exe -p lsass.exe Low

start /b /wait c:\process.exe -a system 10


start /b /wait c:\process.exe -a csrss.exe 11
start /b /wait c:\process.exe -a services.exe 10
start /b /wait c:\process.exe -a svchost.exe 01
start /b /wait c:\process.exe -a lsass.exe 01
start /b /wait c:\process.exe -a foobar2000.exe 11

rem #5 Start Task Manager (remove ‘rem ’ prefix of next 2 lines) or Process Explorer
rem start /b C:\WINDOWS\system32\taskmgr.exe
rem start /b /wait c:\process.exe -p taskmgr.exe Normal
rem start /b c:\progra~1\proces~1\procexp.exe /p:n
exit

The art of building Computer Transports v0.3.doc 42 of 46


d. Create foobar.bat file in c:\ (root directory). Copy following commands:

@echo off
rem #1 Start Foobar2000 in RealTime
start /wait /RealTime c:\progra~1\foobar2000\foobar2000.exe

rem #2 Resume Windows, Restore affinities & priorities, and Start UI


start /b /wait c:\process.exe -r winlogon.exe
start /b /wait c:\process.exe -r smss.exe
rem start /b /wait c:\process.exe -r hdsp32.exe

start /b /wait c:\process.exe -p smss.exe AboveNormal


start /b /wait c:\process.exe -p winlogon.exe High
start /b /wait c:\process.exe -p system Normal
start /b /wait c:\process.exe -p csrss.exe High
start /b /wait c:\process.exe -p services.exe Normal
start /b /wait c:\process.exe -p svchost.exe Normal
start /b /wait c:\process.exe -p lsass.exe Normal

start /b /wait c:\process.exe -a smss.exe 11


start /b /wait c:\process.exe -a winlogon.exe 11
start /b /wait c:\process.exe -a system 11
start /b /wait c:\process.exe -a csrss.exe 11
start /b /wait c:\process.exe -a services.exe 11
start /b /wait c:\process.exe -a svchost.exe 11
start /b /wait c:\process.exe -a lsass.exe 11
start /b /wait c:\process.exe -a cmd.exe 11

start /b c:\windows\explorer.exe
exit

e. Double-click ?.bat on Desktop to run Foobar.


Note no other Windows tasks can be performed during music playback. In ?.bat, two
options are given under rem #5 to view system: either Task Manager or Process Explorer
(just remove appropriate 'rem ' prefix under rem #5 of ?.bat). Task Manager or Process
Explorer is set for normal priority and runs on CPU 0.

f. Optimize soundcard process.

Above .bat files contain settings for RME soundcards. RME’s setup (hdsp32.exe) process
is suspended as its not needed for playback. To use these settings, remove ‘rem ’ prefix
under ‘rem #2’ (lines containing hdsp32.exe) from both .bat files. Other soundcard drivers
would have different process names (for configuration or setup) which can be substituted.
Of course, these .bat files would work without any such changes.

This concludes all optimizations.

The art of building Computer Transports v0.3.doc 43 of 46


5.0 Considerations for HTPC
Reference to optimizations in sections 3 & 4 are made. For best results it’s assumed Zoomplayer 5.5
is used where video decoding is done by FFDShow, audio decoding by DScaler (DD or DTS digital
output) and video rendered in VMR9 using RGB32 color space. DVDs are ripped with DVD
Decryptor and stored as .iso files. Daemon is used for DVD ROM drive emulation.

Section 3 – Hardware & BIOS


2. FFDShow demands CPU utilization (especially when upsampling video content before other filters
are applied - see http://www.htpcdigest.com/miscellaneous/ffdshow-tutorial.html), its better to use higher
specification E6300 Intel Core 2 Duo Processor at 1.86GHz. Faster speeds create more RF
radiation. DDR2 533/667 RAM at 256MB is ideal (anything lower would not work).
For graphics card, use NVIDIA based PCI-E card (256MB) that outputs DVI-D/I. Make sure
passive cooling is used, i.e. no fans!
9. It may be inconvenient to remove DVD ROM drive. In this case connect using a shielded IDE
cable preferably without daisy chained leg.
10. BIOS:
a. If using a DVD drive, enable connected IDE channel under VIA OnChip IDE Device.
b. Under Advanced ChipSet Features, Set VGA Share Memory Size to Disable, AGP speed to
lowest and AGP aperture to 32MB. Motherboard VGA is disabled.
11. RAM:
Step 1 underclocks RAM to 200MHz, instead set DRAM Clock to 266MHz. At 266MHz
clock rate is 3.75ns. This ensures 1:1 FSB:DRAM ratio as E6300 FSB operates at 1067MHz
Step 3: optimal latencies at 266MHz RAM speed is 3-3-3-13 (default is 4-4-4-12). This
assumes Kinston HyperX DDR2 533 RAM specification of Trc at 60ns or 16T giving Tras of
13T if Trp is 3T. Ensure RAM specifications are used for correct timings of Trc and Tras min.

Step 5: Calculate REF to ACT/REF (Trfc) from RAM specification of Trfc timing. In example
used, Trfc is 105ns giving BIOS setting for Trfc of 28T (105ns/3.75ns).

Section 4 - Software
3 Do not perform this optimization. Ensure video resolution matches native monitor resolution.
4 Do not underclock CPU but don’t overclock! Leave power scheme to default ‘Home/Office Desk’
with all else set to ‘Never’.
12 More Windows services are needed. This depends on your video graphics driver and other tasks.
16 Running at most optimal state requires different .bat files. A new ?.bat (e.g. playMovie.bat) file is
needed which is stored in c:\ (root drive). This ?.bat file is run from File Explorer: right-click
DVD (.iso file) and select ‘Open With’. Choose ?.bat program.
Windows priorities are changed for better video performance. Once Zoomplayer starts, movie
plays immediately or alternatively, press Play and / or change setting (e.g. switch to DVD mode).

The art of building Computer Transports v0.3.doc 44 of 46


a. Create a ?.bat file and save to c:\ (root directory) using Notepad. Copy following
commands:
@echo off
rem #1 Mount disk using Daemon & Kill Explorer
start /b /wait C:\Progra~1\DAEMON~1\daemon.exe -unmount 0
start /b /wait C:\Progra~1\DAEMON~1\daemon.exe -mount 0, %1
start /b /wait c:\process.exe -k explorer.exe

rem #2 Suspend Windows


start /b /wait c:\process.exe -p smss.exe Low
start /b /wait c:\process.exe -p winlogon.exe Low
start /b /wait c:\process.exe -a smss.exe 01
start /b /wait c:\process.exe -a winlogon.exe 01
start /b /wait c:\process.exe -s smss.exe
start /b /wait c:\process.exe -s winlogon.exe

rem #3 Start Zoom Player


start /b /wait c:\process.exe -a cmd.exe 01
start /Low /Min c:\zplayer.bat

rem #4 Adjust priorities, eg. High, RealTime, BelowNormal, Low;


rem # and Set Affinities
start /b /wait c:\process.exe -p system Normal
start /b /wait c:\process.exe -p csrss.exe RealTime
start /b /wait c:\process.exe -p services.exe Low
start /b /wait c:\process.exe -p svchost.exe Low
start /b /wait c:\process.exe -p lsass.exe Low
start /b /wait c:\process.exe -p daemon.exe Low
start /b /wait c:\process.exe -a system 11
start /b /wait c:\process.exe -a csrss.exe 11
start /b /wait c:\process.exe -a services.exe 11
start /b /wait c:\process.exe -a svchost.exe 01
start /b /wait c:\process.exe -a lsass.exe 01
start /b /wait c:\process.exe -a daemon.exe 01
start /b /wait c:\process.exe -a zplayer.exe 11

rem #5 Start Task Manager (remove ‘rem ’ prefix of next 2 lines) or Process Explorer
rem start /b C:\WINDOWS\system32\taskmgr.exe
rem start /b /wait c:\process.exe -p taskmgr.exe Normal
rem start /b c:\progra~1\proces~1\procexp.exe /p:n
exit

b. Create zplayer.bat file in c:\ (root directory). Copy following commands:


@echo off
rem #1 Start Zoom Player
start /wait /RealTime C:\Progra~1\ZoomPl~1\zplayer.exe

rem #2 Resume Windows, Restore affinities & priorities, and Start Explorer
start /b /wait c:\process.exe -r winlogon.exe
start /b /wait c:\process.exe -r smss.exe
start /b /wait c:\process.exe -p smss.exe AboveNormal
start /b /wait c:\process.exe -p winlogon.exe High
start /b /wait c:\process.exe -p system Normal
start /b /wait c:\process.exe -p csrss.exe High
start /b /wait c:\process.exe -p services.exe Normal
start /b /wait c:\process.exe -p svchost.exe Normal
start /b /wait c:\process.exe -p lsass.exe Normal
start /b /wait c:\process.exe -p daemon.exe Normal
start /b /wait c:\process.exe -a smss.exe 11
start /b /wait c:\process.exe -a winlogon.exe 11
start /b /wait c:\process.exe -a system 11
start /b /wait c:\process.exe -a csrss.exe 11
start /b /wait c:\process.exe -a services.exe 11
start /b /wait c:\process.exe -a svchost.exe 11
start /b /wait c:\process.exe -a lsass.exe 11
start /b /wait c:\process.exe -a daemon.exe 11
start /b /wait c:\process.exe -a cmd.exe 11
start /b c:\windows\explorer.exe
exit

With all other optimizations applied, results should be impressive with exceptional video and audio
detail. Don’t use sharpen filters (including unsharp mask), instead start with luma sharpen (~0.75) and
add chroma if needed. For how 2, see FFDShow Tutorial link provided above. For audio use 4.1
format (i.e. no centre channel) with Left & Right creating phantom centre.
The art of building Computer Transports v0.3.doc 45 of 46
Conclusion
This paper has explained the building of a computer transport delivering high-end performance. PCs also
offer other benefits such as immediate ordered access to ones entire music library. Compare this to
searching for a CD in a random stack of several hundreds then having to unload and load the transport!

Having auditioned expensive reference transports (MBL, Esoteric, Wadia, DCS) and reference turntables,
the Computer Transport has truly come of age. As PC and laptop technologies improve, more
performance and convenience benefits can be expected. Innovations are endless, e.g. laptop SATA drives
reaching 500GB, low power CPUs with greater abilities, fanless PSUs & CPUs, non mechanical hard
drives, etc.. This platform will readily exploit these innovations cost effectively.

1000
src 24192

500

0
0.000 0.100 0.200 0.300 0.400 0.500 0.600 0.700 0.800 0.900 1.000

-500

-1000

-1500
src 24192

-2000

figure 52. SRC at 24/192 – same as figure 8 without original 16/44.1 waveform.

DACs with direct computer interfaces are the challenge going forward. The ideal DAC should cater for
USB 2.0, Firewire or Ethernet input (together with software drivers). This would allow PCs to deliver
24/192 or higher (bit perfectly) without any soundcard. The DAC internally should refrain from complex
upsampling but instead cater for noise suppression from PC’s USB, Firewire or Ethernet outputs and
ensure best possible re-clocking to reduce jitter. Inclusion of a high quality volume control (thereby doing
away with a pre-amp) is a further step forward.

The art of building Computer Transports v0.3.doc 46 of 46

Das könnte Ihnen auch gefallen