12 Sept 2010

Latest HTPC Sep 2010

AT3IONT-I Deluxe
  • Power Supply Include
  • Unplug Wireless module
  • Disable on-board Audio
  • Minimum Video Setting
  • Disable Hyper Threading
WD Server Grade 500G w/ double shielded SATA cable
2G Kingston RAM
Lynx AES-16E

15 Dec 2009

What is digital Sampling?

A very good document on introduction of digital sampling:


Introduction to Digital Filtering with Audio Application

https://ccrma.stanford.edu/~jos/filters/filters.htm

1 Jul 2009

Should I replace my HDD with SSD?

I have been thinking about replacing my HTPC's HDD with SSD. However, after reading an article from Tom's Hardware, the advantage of SSD's power consumption advantage over HDD is not apparent.

http://www.tomshardware.com/reviews/ssd-hdd-battery,1955.html

Latest HTPC

I have decided to build a pure audio-only PC. Component as below:

Silverstone GD-02MT case with touch screen and remote
PC Power & Computing Silencer 750
Intel E7200
Kingston HyperX DDR2-800 2G RAM
Asus P5QPL-CM motherboard, Underclock to 800MHz, RAM 3-3-3-5
Sine Louis Power Cord
Sine 2000W isolation transformer for the PC
Lynx AES 16-E PCI-E sound card

Some notes here:
  • Don't buy this case if you want good sound quality. The touch screen is great but it drags power from mainboard and so affects sound quality.
  • The case is packed and I can't find any space for HDD. So I have to use thumbtek to stick the HDD on the PSU. This is crazy.
  • The PSU is very quiet and cool, and thus I am confident to put the HDD on the PSU. In fact, the HDD is much hotter than the PSU.
  • It's pathetic that E7200, Asus and Kingston HyperX DDR2-800 RAM are extremely difficult to find now
  • CPU running at room temperature, I don't feel any heat when I touch the heat sink
  • I pulled out all "玄人志向" cards out, because it seems that the cards have TRADE OFFs on this new PC which is quite interesting. Sound seems to be more lively without these cards, but the sound stage moved forward. It didn't happen before with my old PC. I will test further and provide more findings.

6 Feb 2009

Lynx ASIO settings

When IRQ is setup correctly, ASIO buffer size should be able to go down to 32 samples without any problem. (For ASIO buffer size, the lower the better).

3 Feb 2009

Lynx AES 16e PCI-E SOund Card Settings

At the moment I use dual wire and word clock output from Mytek 8x192. Channel 1+2 are used for WDM (Youtube, DirectSound, etc) and Channel 3+4 are used for ASIO (cplay or Foobar)

Asus P5Q Deluxe UNDERCLOCK Setting

Follow the settings as shown on the screen shots below can set Asus P5Q + E7200+ HyperX 2x1G RAM to 1.2 Ghz in order to minimize the motherboard electric noise and achieve maximum sound quality. The difference is clearly audible on my PC:










































































































































18 Jan 2009

MY PC Feb 2, 2009

Corsair HX620
Intel E7200 under-clocked to 1.2Ghz
Asus P5Q Deluxe (BIOS modded, see below)
Kingston HyperX 2x1G DDR2 800
5x 玄人志向 NO-PCI card
Lynx AES16e
Asus E4650
Lian Li aluminum case










10 Jan 2009

Dedicate IRQ for your Sound Card and Prioritize IRQ

IRQ Sharing between Sound card and SATA/Graphic/LAN/USB IRQ is a major cause of pops and clicks. You may swap the sound card to the right slot in order to achieve "dedicate IRQ". If it doesn't work, you either buy another motherboard, or buy a MAC (this is not a joke)

Afterwards, Set IRQ priority for sound card:
1. Find out your sound card's IRQ,( Run msinfo32.exe and view hardware info)
2. In Regedit, HKEY_LOCAL_MACHINE\SYSTEM CurrentControlSet\Control\PriorityControl.
3. Add a new DWORD, "IRQ#Priority" , and the "#" in between is the sound card's IRQ. E.g. If your sound card's IRQ is 21, then the DWORD is "IRQ21Priority".
4. Set Value to 1, then Reboot

ASUS P5Q Series BIOS MODD

For those of you who have strong experience in upgrading BIOS, there are several BIOS modifications available for your P5Q Series Motherboard.

I am using the "m" BIOS for P5Q Deluxe and I find it very stable. BOOT UP time is much faster than original BIOS.

The link is as below:

Link:
http://www.xtremesystems.org/forums/showthread.php?t=200109

Modded BIOS download link:
http://www.megaupload.com/?d=5UQRVLTK

26 Dec 2008

Factors that will impact PC sound quality

I assume Desktop PC, no game, very little HD video playback, but Web, BT and NAS can be used marginally.

Hardware tuning:
  • Get the best power supply you can afford. PC- Computing 860, Corsair HX1000 makes clear sonic difference.
  • E7200 or E7300 for lowest power consumption
  • Underclock as much as possible. Using E7200, the difference between 2.53Ghz and 1.2Ghz is clearly audible.
  • Use fastest possible RAM at 3-3-3-9. RAM clock at 3-3-3-9 and 5-5-5-15 is audible difference. Prefer to get Kingston HyperX top model 4G RAM.
  • More RAM will help reduce pop/click.
  • Use as many 玄人志向 as possible
  • Use lowest clock and power consumption graphic card, e.g. ATI 4350/4550/4650 sound card only.
  • Best motherboard you can afford. I feel Asus P5Q Deluxe sounds better than Gigabyte GA-G31M-S2L
  • Overvoltage South Bridge and North Bridge for about 5%

Sound Card
  • Interface PCI-E better than PCI better than Firewire better than USB
  • Digital Output Interface: AES dual wire > AES > coaxial > Firewire > USB
  • Use computer as digital output only and use external DAC for analogue.
  • Use of Sound Card Analogue output interface is not recommended
  • Uses external Word clock > Sound Card internal clock

Software configuration and playback
  • Smallest sound card latency (32 samples)
  • Deploy "Art of building computer transport" to clean up XP. Ie. take away all unnecessary services
  • For playback software, Cplay > Foobar.
  • Offline upsampler > online upsampler
  • Native 24/192 material > Native 24/96 material upsample 24/192 > Native 24/96 > 16/44 Upsample 24/192
  • Turn off Anti-Virus and firewall (at your own risk…) to prevent pops and clicks

Optimizing XP for Music Playback with LAN and Remote Desktop (4)

Prioritize Playback Settings

1. Download “THG Task Assignment Manager v1.0” from Tomshardware.com, set cplay to CPU 1, all the rest of all services (Firefox, BT, etc) on CPU 0

2. Build a batch file to run Firefox at low priority mode “start /b /low k:\Progra~1\Mozill~1\firefox.exe" (no quote)

3. Run cplay in realtime mode, create a batch file and run the following::
@echo off
start /wait g:\process.exe -k cicsPlay.exe
start /b /realtime G:\Progra~1\cicspl~1\cicsPlay.exe %1
exit

Optimizing XP for Music Playback with LAN and Remote Desktop (3)

Optimize XP Run-Time, by (1) Optimize Control Panel and (2) Optimize Registry

Note that these settings allow optimal Sound Quality while allows web browsing and other "light weight" jobs like word processing, etc. No games and No HD Video.

(1) Control Panel Setting Optimization.

Turn Off Page File:
Advanced -> Performance -> Advanced -> Processor scheduling set to “Programs”, Memory Usage set to “Programs”, Virtual Memory set to 0

Optimize Boot Up Command:
Advanced -> Performance -> Advanced -> Startup and Recovery -> Settings, Change Windows startup command to : multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect /NoExecute=alwaysoff /timeres=9800 /nodebug /pcilock

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

Disable automatic restart, uncheck startup times and disable debugger information:
Control Panel > System > Advanced TAB > ‘Settings’ button in Start Up & Recovery

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

No mapping by Windows (Note that will turn off playback from MME e.g. youtube) :
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’.

Disable system sounds (If you don't need to hear music in IE or Firefox):
Control Panel > Sounds & Audio Devices > Sounds TAB. Set Sound scheme to ‘No Sounds’. Set Volume to max in Volume TAB.

Disable system restore:
Control Panel > System > System Restore TAB. Tick ‘Turn off System Restore on all…’

Disable remote invitations to other computer :
Control Panel > System > Remote > Untick ‘Allow Remote Assistance Invitations to be sent from this computer’

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

Disable fast user switching:
Control Panel > User Accounts > Change the way users log on or off > Untick Use Fast User Switching

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

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)

(2) Registry Optimization.


Fine Tune Boot Up Registry

Reduce boot RAM load (but will DECREASE boot up speed) by setting “0” memory pre-fetch (read ahead) thus reduce memory loading.

HKEY_local_machine/System/Currentcontrolset/control/sessionmanager/memoryManagement/PrefetchParameters -> EnablePrefetcher

Set to "0" to turn off pre-read. (Set to "5" to maximize pre-read cache during boot up to make boot up faster, but takes more memory load).

Fine Tune Memory Management Registries :

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\

\DisablePagingExecutive

- Disable HDD as cache: Set dword to 00000001

\LargeSystemCache

- Disable large system cache (4MB RAM) as cache by setting dword to 00000000

\SecondLevelDataCache

- Set L2 Cache size e.g. 3072 decimal (3MB L2 Cache) to match your CPU’s L2 cache size. “0” value to auto detect.


Fine Tune NTFS Access Registries :

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem\ntfsDisableLastAccessUpdate

Double-click 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)

This change will disable NTFS Last Access Update, to prevent the NTFS log buffer in physical memory from becoming filled with timestamp update records (prevent memory from being filed with garbage data)

Optimizing Windows XP for music playback with LAN and Remote Desktop (2)

Improve Boot Up Speed

  1. Run "msconfig" to turn off unused programs, services.
  2. Run Auslogics Registry Defrag: Download and run “Auslogics Registry Defrag”, in order to improve boot up speed. ( http://www.auslogics.com/en/)
  3. Defrag using OO Defrag or other de-frag tool for comprehensive defragmentation.

Optimizing Windows XP for music playback with LAN and Remote Desktop (1)

Disable the following services (LAN and Remote Desktop function retained)

Alerter
Clipbook
Computer browser
Cryptographic services
DNS client
TCPIP NetBIOS Helper
IPSEC
Messenger
NetTCP Port sharing Service
Network DDE
NEtwrok DDE DSDM
Print Spooler
Protected Storage
Routing and Remote acess
Secondary Logon
SQL Server Active Directory Helper
SQL Server Browser
Task Scheduler
TCP/IP NetBIOS Helper
Telephony
Telnet
Themes
Windows Firewall
Application Layer Gateway Service
Application management
ASP .NET state Service
Automatic Updates
Background Intelligent Transfer Services
COM+ System App
Distributed Transaction
Error Reporting
Extensible Authentication
Fast User Switching
Health Key and Certificate Management
Help and Support
IMAPI CD-Burning COM
Indexing
InstallDriver Table Manager
Logical Disk Table Manager
Messenger Sharing Folder USN Journal
MS SOtware Shadow Copy Provider
NB Service
Net Logon
Netmeeting Remtoe Desktop Sharing
Network Access Protection Agent
Network Provisioning Service
NMIndexingService
NT LM Security
Office Source Engine
Performance Log and Alerts
Portable Media Serial Number Service
QoS RSVP
Remote Access Auto Connection Manager
Remote Access Connection Manager
Remote Desktop Help session Manager
RPC Locator
Remote Registry
Removeable Storage
Security Center
Smart Card
UPS
Universal Plug and Play Device Host
Volume Shadow copy
Window Cardspace
Window Driver foundation
Window Firewall…
Window Installer
Window Live Setup Service
Window Management Instrumentation…
Window Media Player Network sharing
Window Presentation Foundation..
Wired Auto config
Wireless zero config
WMI performance adapter

24 Dec 2008

Questions and Answer about Clocking

The following questions are answered by DWS (Kent Poon), sound recording engineer who helped design Weiss products.

AD = Analogue to Digital Converter
DA = Digital to Analogue Converter

appleteapot Q: "If DA can do re-clocking and does not require any external clock source, why do we need word clock during AD (recording) stage? "

DWS A: We simply NOT necessary to use word clock. Most mastering engineering uses their ADC internal clock as the master clock, the DAW (digital audio workstation), DAC monitor, recorder are all slaved to the ADC.

appleteapot Q: "Therefore, if the AD clock can in sync with DA clock, AD clock error in theory can sync with DA clock error, then output will be even more accurate? "

DWS A : Okay, the practical way is usually use ADC as mastering clock during capture stage, and DAC as mastering clock during monitor stage. There is hardly a decision on what is more accurate. But you are right if you have a mastering clock that is accurate, then slave both ADC and DAC to the master clock will be a good solution.

appleteapot Q: "offlie upsampling like Izotope or Saracon, is sound card (clock) required?"

DWS A: No, they are offline SRC calculation, clock timing signal only affects real time transfer (AES, SPDIF) etc.

ackcheng Q: "For the best results, the clock at DA should always be the master with everything else slave to it. This is my current setup :) But still, in DAW environment, word clock sync is needed. The question is why Weiss do not allow wordclock in its digital chain?"

DWS A: Right Right Right. DA should be the master with everything else salve to. This is correct. But not many DAC allows to work in this mode because it needs to set a correct sample rate to output. All DACs lock to the incoming clock but not verse vice.

Why DAW needs a word clock snyc? If the Weiss is a AD+DA, then it maybe more reasonable because it is usual case to use ADC as mastering. Weiss ADC2 has wordclock output.

ackcheng Q: "Before I used the master clock, I do can pops and clicks and I thought that was due to sync problem. No more clicks now."

DWS A: Let say you have 2 digital audio card (RME + Lynx) you hook them together with digital AES. Now you playback a file with RME and capture the loop file with lynx, you will have to set the Lynx clock signal as "external AES". You cannot have 2 cards which are both set to "internal" under clocking.

There is always only 1 source (timing) in a system.

25 Nov 2008

"Novice Guide" about building an HTPC

Last week I come across a net-friend and he asked some questions regarding building of HTPC. I try to recap here:

  • Underclocking CPU is a must and cannot be bypassed or avoided in order to achieve good sound.
  • Lowest acceptable CPU is E7200 and highest acceptable CPU is E7300. Lower grade CPU is not powerful enough to upsample; more powerful CPU generates more noise, heat and requires more power.
  • Use the best RAM (e.g. Kingston HyperX) and PSU (PC Power, OCZ or Corsair HX1000)
  • Use a good motherboard (e.g. Asus P5Q Deluxe)
  • CMP can be skipped, as I don't want to turn my computer into a simple wave file player. ( http://imageevent.com/cics/cmp )
  • But AOBCT is un-avoidable. One has to perform OS optimization. The difference with and without AOBCT is clearly audible ( http://imageevent.com/cics/v03theartofbuildingcomputertrnsp )
  • CICS player is our default wave file player
  • The latest ATI graphic cards (E4350, E4550, E4650) has very good noise control and low power consumption, very good for HTPC.

Mytek 8x192 Picture

Mytek 8x192 - My new DAC











http://www.mytekdigital.com/products/8x192adda.htm


After a few months' consideration, I purchased the Mytek 8x192 to replace the Benchmark DAC-1. Benchmark has been my closest hi-fi comrade for 3 years. Mytek is not cheap and buying Mytek is not an easy process; I ordered it via online but it was out of stock, and I waited for more than a month. One of the Mytek's staff, Michal emailed me to ask for billing details and invoices, I then remitted US$ to their account and waited for another week before getting my new DAC.

Well, at least I get the DAC eventually! After running in for a week, I think it should be a good time and I am excited to give it an initial comment:

  • Very accurate sound from bass all the way to treble, wide and deep sound stage. A good DAC for symphonic music. However, female vocal is not as sweet as Benchmark.
  • Therefore, I still firmly convinced that Benchmark DAC-1 (non-USB version) has probably the hard to beat price-performance ratio in the DAC market.
  • CX797 clock further enhances the accuracy. Currently I am using Lynx AES16e sound card -> Mytek 8x192, but I also connect the clock source is from Mytek to Lynx and let Lynx to use Mytek's word clock. The result is even more accurate sound I cannot listen to music without it.
  • The dual AES wire option of Mytek further enhances the accuracy.
  • The headphone amp is excellent and it drives my Beyer DT990 very well. In contrast, Benchmark does not have enough power to drive DT990. Turning 24-step attenuator (volume knob) back and forth feels so good and sounds very good :)
  • Power is switchable between 110/220 makes it easy to take away to other countries.
  • 8x192 has 2 option slots, makes it very easy to add options and future proof. I purchased the optional 1934 firewire module to maximizes its portability but I still haven't a chance to listen to it yet.
  • I opened the case and took a look inside, the Mytek has a beautiful layout. The workmanship however, it not the top grade. Oh well, who cares when the sound comes out is just excellent.
  • I am surprised to see a small fan inside which generates a small hum when the unit is hot (believe the fan is auto switched). The brand of the fan is Sunon, a reputed brand for its reliability, but it is a bit noisy. In general, the unit is not hot at all, so I believe the fan is added "just in case" for Hong Kong's weather.
  • I also purchased the 3x cable (AES, XLR IN, XLR OUT) for another $549, so I have one less worry about which (expensive) AES/XLR cable to buy. However, only AES cable is essential. There are two XLR analogue output ports.
In summary, Mytek sounds excellent, I believe I am buying a very good sound DAC for that price. Mytek 8x192 is a AD-DA so as a normal home user, I am using 1/8 of it's capability only.
After audited dCS, Weiss, Esoteric, Chord, Benchmark, Stello DACs, I firmly believe Mytek worths every penny :)

Dither - Definition

http://www.weiss-highend.ch/medea/documents/medea_manual_000.pdf

"Suppose a digital recording has been made with a 24 bit A/D converter and a 24
bit recorder. Now this recording should be transferred to a CD which has just 16 bits per sample,
as you know. What to do with those 8 bits which are too many?

The simplest way is to cut them off, truncate them. This, unfortunately, generates harmonic distortions at low levels, but which nonethless cause the audio to sound harsh and unpleasant. The harmonic distortion is generated because the eight bits which are cut off from the 24 bits are correlated with the audio signal, hence the resulting error is also correlated and thus there are distortions and not just noise (noise would be uncorrelated). The dithering technique now is used to de-correlate the error from the signal.

This can be achieved by adding a very low level noise to the original 24 bit signal before
truncation. After truncation the signal does not show any distortion components but a slightly
increased noise floor. This works like magic..... the distortion is replaced by a small noise – much
more pleasant."

5 Sept 2008

Digital Domain FAQ

A very good forum with many information on professional digital audio knowledge:

http://www.digido.com/faq.html

Which cable should I use for 24/96 transfer?

http://www.digido.com/index.php?option=com_kb&page=articles&articleid=51&Itemid=67

Clocking Courses

Proper word clock implementation - Dan Larvy's forum on Clocking

http://recforums.prosoundweb.com/index.php/t/14324/0/

Word Clock and Digital Interfaces

http://www.digido.com/index.php?option=com_kb&page=articles&articleid=105&Itemid=67

1 Jul 2008

Underclocking your PC... for AMD

It has been repeatedly tested that underclocking CPU can improve focus and sound stage. It is believed that underclocking reduces noise level and thus achieves better sound quality. In addition, underclocking is environmental friendly and quieter. However, disadvantages are also obvious: programs run slower and hi-def movies are not playable.

Underclocking AMD CPUs with Cool "n" Quiet technology, without messing with BIOS settings:

http://www.amd.com/us-en/Processors/ProductInformation/0,,30_118_9485_9487%5e10272,00.html

CICS player

For those who are familiar with computer settings, computer expert and audiophile "cics" offers 3 free tools for us audiophiles who further enhances our playback sound quality. These tools are:

(1) The Art of Building Computer Transport:
  • XP SP2 optimization at system level. Disable all unnecessary computer components in order to achieve highest playback performance
  • http://www.audioasylum.com/cgi/t.mpl?f=pcaudio&m=19242

(2) cMP mini OS :
  • Turns XP into a simple player, and only the default music player (foobar, wimamp) is usable
  • http://www.audioasylum.com/cgi/vt.mpl?f=pcaudio&m=27041

(3) cplay Minimalist Player
  • A Minimalist music player created purely to achieve best sound quality. Now at version b19. Not all versions sound the same but b19 offers highest resolution up till now. You may choose other version which have different sound charcteristics:
  • Download: http://sourceforge.net/project/showfiles.php?group_id=226826&package_id=274544
  • Main Page: http://www.audioasylum.com/cgi/vt.mpl?f=pcaudio&m=31286



24 Jun 2008

Impact to sound quality from different PC component

A summary of impact of each HTPC Hardware configuration component to the sound quality:

Motherboard Under-Clocking: Since PC is very noisy, lowering clock speed (e.g. 600Mhz) will reduce noise (RFI, electronic, etc) and thus results in quieter backgound, deeper sound stage and better resolution. Underclock is difficult and one needs to master the overclock settings in order to achieve good result, but it is critical in the computer audiophile PC.

玄人志向: Improves Punch and rhythm, reduces background quietness

High Power PSU: Improves punch

LAN or USB (without): ultra-high frequency noise level, airy feel, finest minor details, 弱音.

Sound Card hardware Latency: Reduces the latency setting ( e.g. 32 samples on RME 9632) improves focus and sound stage

South Bridge voltage: slightly increase voltage will get better punch.

1 Jun 2008

PCI-E vs PCI

PCI - E




















  • The switch replaces the multi-drop bus and is used to provide fan-out for the I/O bus.
  • A switch may provide peer-to-peer communication between different endpoints and this traffic, if it does not involve cache-coherent memory transfers, need not be forwarded to the host bridge. S. Bridge is not a must.
  • Compatibility with the PCI addressing model (a load-store architecture with a flat address space) is maintained to ensure that all existing applications and drivers operate unchanged.
  • The software layers will generate read and write requests that are transported by the transaction layer to the I/O devices using a packet-based, split-transaction protocol. The link layer adds sequence numbers and CRC to these packets to create a highly reliable data transfer mechanism. The basic physical layer consists of a dual-simplex channel that is implemented as a transmit pair and a receive pair.
  • Point to point - Each device has dedicated connection to switch (bridge).
  • PCI-E device may create "virtual direct connection", talk to other PCI-E via North/South bridge without passing through CPU
  • Serial - less interference compare to parallel
  • More suitable for Time Critical apps like sound/video transfer, as QoS is now available
  • Higher speed - 2.5Gbps at each direction, simultaneously.
  • When selecting PCI-E sound cards, beware of "PCIe Bridge" sound cards which essentially is just a PCI sound card with PCI-E adaptor.
PCI

http://www.techfest.com/hardware/bus/pci.htm

  • High Speed,
  • Synchronous bus architecture
  • I.e. clock based operation and time sensitive.
  • Allow a bus data transfer every 30 ns.
  • Includes includes strict specifications to ensure the signal quality required for operation at 33 and 66 MHz.

In PCI terminology, data is transferred between an initiator which is the bus master, and a target which is the bus slave. The initiator drives the C/BE[3:0]# signals during the address phase to signal the type of transfer (memory read, memory write, I/O read, I/O write, etc.). During data phases the C/BE[3:0]# signals serve as byte enable to indicate which data bytes are valid. Both the initiator and target may insert wait states into the data transfer by deasserting the IRDY# and TRDY# signals. Valid data transfers occur on each clock edge in which both IRDY# and TRDY# are asserted.

A PCI bus transfer consists of one address phase and any number of data phases. I/O operations that access registers within PCI targets typically have only a single data phase. Memory transfers that move blocks of data consist of multiple data phases that read or write multiple consecutive memory locations. Both the initiator and target may terminate a bus transfer sequence at any time. The initiator signals completion of the bus transfer by deasserting the FRAME# signal during the last data phase. A target may terminate a bus transfer by asserting the STOP# signal. When the initiator detects an active STOP# signal, it must terminate the current bus transfer and re-arbitrate for the bus before continuing. If STOP# is asserted without any data phases completing, the target has issued a retry. If STOP# is asserted after one or more data phases have successfully completed, the target has issued a disconnect.

Initiators arbitrate for ownership of the bus by asserting a REQ# signal to a central arbiter. The arbiter grants ownership of the bus by asserting the GNT# signal. REQ# and GNT# are unique on a per slot basis allowing the arbiter to implement a bus fairness algorithm. Arbitration in PCI is "hidden" in the sense that it does not consume clock cycles. The current initiator's bus transfers are overlapped with the arbitration process that determines the next owner of the bus.

PCI supports a rigorous auto configuration mechanism. Each PCI device includes a set of configuration registers that allow identification of the type of device (SCSI, video, Ethernet, etc.) and the company that produced it. Other registers allow configuration of the device's I/O addresses, memory addresses, interrupt levels, etc.

Although it is not widely implemented, PCI supports 64-bit addressing. Unlike the 64-bit data bus option which requires a longer connector with an additional 32-bits of data signals, 64-bit addressing can be supported through the base 32-bit connector. Dual Address Cycles are issued in which the low order 32-bits of the address are driven onto the AD[31:0] signals during the first address phase, and the high order 32-bits of the address (if non-zero) are driven onto the AD[31:0] signals during a second address phase. The remainder of the transfer continues like a normal bus transfer.

PCI defines support for both 5 Volt and 3.3 Volt signaling levels. The PCI connector defines pin locations for both the 5 Volt and 3.3 Volt levels. However, most early PCI systems were 5 Volt only, and did not provide active power on the 3.3 Volt connector pins. Over time more use of the 3.3 Volt interface is expected, but add-in boards which must work in older legacy systems are restricted to using only the 5 Volt supply. A "keying" scheme is implemented in the PCI connectors to prevent inserting an add-in board into a system with incompatible supply voltage.

Although used most extensively in PC compatible systems, the PCI bus architecture is processor independent. PCI signal definitions are generic allowing the bus to be used in systems based on other processor families.

PCI includes strict specifications to ensure the signal quality required for operation at 33 and 66 MHz. Components and add-in boards must include unique bus drivers that are specifically designed for use in a PCI bus environment. Typical TTL devices used in previous bus implementations such as ISA and EISA are not compliant with the requirements of PCI. This restriction along with the high bus speed dictates that most PCI devices are implemented as custom ASICs.

The higher speed of PCI limits the number of expansion slots on a single bus to no more than 3 or 4, as compared to 6 or 7 for earlier bus architectures. To permit expansion buses with more than 3 or 4 slots, the PCI SIG has defined a PCI-to-PCI Bridge mechanism. PCI-to-PCI Bridges are ASICs that electrically isolate two PCI buses while allowing bus transfers to be forwarded from one bus to another. Each bridge device has a "primary" PCI bus and a "secondary" PCI bus. Multiple bridge devices may be cascaded to create a system with many PCI buses.

1394 vs USB

IEEE 1394 Firewire vs USB

USB was originally seen as a complement to FireWire (IEEE 1394), which was designed as a high-speed serial bus which could efficiently interconnect peripherals such as hard disks, audio interfaces, and video equipment.

USB originally operated at a far lower data rate and used much simpler hardware, and was suitable for small peripherals such as keyboards and mice.

The most significant technical differences between FireWire and USB include the following:

  • USB networks use a tiered-star topology, while FireWire networks use a repeater-based topology.
  • USB uses a "speak-when-spoken-to" protocol; peripherals cannot communicate with the host unless the host specifically requests communication. A FireWire device can communicate with any other node at any time, subject to network conditions.
  • A USB network relies on a single host at the top of the tree to control the network. In a FireWire network, any capable node can control the network.
  • USB runs with a 5v power line, whereas Firewire can supply up to 30v.

These and other differences reflect the differing design goals of the two buses: USB was designed for simplicity and low cost, while FireWire was designed for high performance, particularly in time-sensitive applications such as audio and video.

Although similar in theoretical maximum transfer rate, in real-world use, especially for high-bandwidth use such as external hard-drives, FireWire 400 generally, but not always, has a significantly higher throughput than USB 2.0 Hi-Speed.

The newer FireWire 800 standard is twice as fast as FireWire 400 and outperforms USB 2.0 Hi-Speed both theoretically and practically.

The chipset and drivers used to implement USB and Firewire have a crucial impact on how much of bandwidth prescribed by the specification is achieved in the real world, along with compatibility with peripherals. Audio peripherals in particular are affected by the USB driver implementation.

One reason USB supplanted FireWire, and became far more widespread, is cost; FireWire is more expensive to implement, producing more expensive hardware.


IEEE 1394/Firewire/iLink Protocol:


http://www.skipstone.com/compcon.html
http://www.xilinx.com/esp/consumer/home_networking/pdf_files/1394_firewire/complete.pdf



















  • Transmition is multicast-based,
  • A special SBM (Serial Bus Management) layer monitors overall physical layer to application layer timing, power, error correction
  • IEEE 1394 involves the low three ISO protocol layers: the Physical Layer, the Link Layer, and the Transaction Layer, plus the Serial Bus Management process that connects to all three layers.
  • The Physical Layer connects to the 1394 connector and the other layers connect to the application.

  • The Physical Layer provides the electrical and mechanical connection between the 1394 device and the 1394 cable. Besides the actual data transmission and reception tasks, the Physical Layer provides arbitration to insure all devices have fair access to the bus.
  • The Link Layer provides data packet delivery service for the two types of packet delivery: asynchronous and isochronous. As mentioned before, asynchronous is the conventional transmit-acknowledgment protocol and isochronous is a real-time guaranteed-bandwidth protocol for just-in-time delivery of information.
  • The Transaction Layer supports the asynchronous protocol write, read, and lock commands. A write sends data from the originator to the receiver and a read returns the data to the originator. Lock combines the function of the write and read commands by producing a round trip routing of data between sender and receiver including processing by the receiver.
  • Serial Bus Management provides overall configuration control of the serial bus in the form of optimizing arbitration timing, guarantee of adequate electrical power for all devices on the bus, assignment of which 1394 device is the cycle master, assignment of isochronous channel ID, and basic notification of errors. Bus management is built upon IEEE 1212 standard register architecture.

Universal Serial Bus USB

http://www2.rad.com/networks/2000/usb/indx.htm
http://en.wikipedia.org/wiki/Universal_Serial_Bus




















USB is intended to help retire all legacy varieties of serial and parallel ports. USB can connect computer peripherals such as mice, keyboards, PDAs, gamepads and joysticks, scanners, digital cameras, printers, personal media players, and flash drives.


The USB host (Computer) handles most of the complexity of the USB protocol, which makes the peripherals design simple and low cost. Data flow can be from host to device and from device to host.

USB transactions are done through packets. Each transaction is composed usually from three phases:
  • Token phase - the host initiates token indicating the future transaction type.
  • Data phase - the actual data is transmitted through packet. The data direction matches the direction indicated by the token that was transmitted previously.
  • Handshake phase - (optional) - handshake packet is sent, indicating the success or failure of the transaction.

There are four main USB transfer types:

  • Isochronous transfer: is used for multimedia devices such as audio, video, etc. Important characteristic of the transfer is that bandwidth is guaranteed - the required bandwidth is reserved for the devices uses this transfer type. In isochronous transfers there is less attention to the success of the transfer (whether or not the whole data arrived on time) since the traffic included in this transfer type has a high tolerance for errors.
  • Bulk transfer: Bulk transfer is consisted of massive amount of data and is used by devices requires it such as printers, scanners, etc. The bandwidth allocated in each transaction of the transfer varies according to the bus resources at the time. Bulk transfers are done in reliable mode - there is great deal of awareness to errors.
  • Interrupt transfer: Interrupt transfer is a limited-latency transfer and used for devices such as mouse, joystick that needs to report short event notification, characters or coordinates. A USB device that works in an interrupt transfer mode defines, as part of its configuration, the time interval it wants to send or receive information. The host is responsible to turn to device at that specific rate, and then the device is allowed to send or receive the necessary data.
  • Control transfer: Control transfers are used to configure a device. The configuration is done at the enumeration process but can be done also at any state of the communication process. When a device enters the system the host needs to learn about it and configure it at the appropriate configuration, all this communication is done using the control transfers. Control transfer can also includes special messages defined by the vendor.

Cics Player

Cicsplay is an excellent player with very high fidelity. I have used it to replace Foobar.

However, due to the RAM playback characteristics, it can only playback one song. I have written some very primitive Visual Basic (2008) code to playback a m3u playlist .


-------------------------------
Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click


FileOpen(1, "C:\cics.m3u", OpenMode.Input)

Dim trackname As String

Dim myProcess As Process = New Process

myProcess.StartInfo.FileName = "C:\Progra~1\cicspl~1\cicsPlay.exe"

myProcess.StartInfo.WindowStyle = ProcessWindowStyle.Minimized

Do Until EOF(1)


trackname = "C:\" & LineInput(1)

myProcess.StartInfo.Arguments = trackname

myProcess.Start()

myProcess.WaitForExit()

myProcess.Close()

Loop

FileClose()


End Sub
End Class

5 Nov 2007

Current System

Power Source: Sine 2KV Isolation Transformer
Mytek 8x192 w/1394 option, AES/XLR cables
Chord 2600
Audioquest Volcano 72v DBS speaker cable
JMLab Micro Utopia BE on TAOC WST-60H

My PC Setup:
Sine 2KV Isolation Transformer
Li Lian Aluminium Case
Corsair HX620
Intel E7200 Core2Duo (underclock to 1200Mhz)
Asus P5Q-Deluxe Motherboard
Asus E4650 Graphic Card
Kingston 2x1G HyperX DDR2-800
WD250YS
玄人志向 x4,
Lynx AES16e Sound Card

14 Sept 2007

Optimizing Windows XP Registry

(1) Define CPU L2 Cache

HKey Local Machine -> System -> CurrentControlSet -> Control -> Session Manager -> Memory Management. At SecondLevelDataCache, set to "2048" at decimal, if you have 2MB Cache

In case L2 Cache is not known, use CPU-Z to find out http://www.cpuid.com/cpuz.php

(2) Improve NTFS efficiency

Hkey_Local_Machine -> System -> CurrentControlSet -> Control -> FileSystem. Add DWORD (32 Bit). Change name to NtfsDisableLastAccessUpdate, set to Hex, change to 1. Reboot

(3) Force to Virtual Memory to use RAM as priority

Hkey_Local_Machine -> System -> CurrentCOntrolSet -> Control -> Sesion Manager -> Memory Management. Change "DisablePagingExecutive" Hex value = 1

(4) Force application to release memory after exit

HKey_Local_Machine -> Software -> Microsoft -> Windows -> CUrrentVersion -> Explorer, right click to add DWORD (32-bit). Rename to "AlwaysUnloadDLL". Change value to HEX 1.

(5) Disable Windows Prefetcher. (Disable pre-read during boot)

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

(6) Force to set priority to System Cache (Warning: doing so will slow down normal programs

Control Panel > System > Advanced Tab > Settings Button under Performance > Advanced Tab > Set ‘Memory usage’ to System cache.

(7) Disable Paging File, force application to run at RAM

Control Panel -> System -> Advanced -> Performance Tab -> Settings Button

- Visual Effect -> Adjust for best performance

- Advanced -> Processor Scheduling -> Set to Background Service

- Memory Usage -> Set to System Cache

- Virtual Memory -> Set no paging file at all HDD

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

- Disable offline files: Control Panel > Folder Options > Offline Files > Untick ‘Enable Offline Files’

(8) Disable System Restore

(9) Lower Display Frequency to 60 Hz, disable

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

(11) 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.

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

25 Jul 2007

Hardware and Software Setting Summary for HTPC

Hardware:

- Underclock to 800Mhz, turn off C1E, all unnecessary components like 2nd LAN port, 1394, etc

- RAM speed set to 5-5-5-15

- Audio Card installed at the farest slot

-



Software:

- Foobar Set Buffer to 500MB

- Start Foobar at realtime mode

-

7 Apr 2007

玄人志向 Kuroutoshikou NO-PCI

The Kurotoshikou NO-PCI is a cheap and excellent noise reduction Board. It comes in either PCI or PCI-Express form. It is used in between Video card and sound card to isolate noise generated at CPU/Video cards, as well as PCI power buffering for the PCI sound card.

http://www.kuroutoshikou.com/products/etc/no-pci.html

Hi Difinition Audio download Web Sites

www.linnrecords.com

http://music.e-onkyo.com/contents/hd.asp

http://highdeftapetransfers.com/

6 Apr 2007

Kmixer and Direct Sound

http://msdn2.microsoft.com/en-us/library/bb219700.aspx

DirectSound Driver Models

Under the VXD driver model, all DirectSound mixing is done in Dsound.vxd, a virtual device driver. Dsound.vxd also provides close access to the actual DMA buffer that the sound card uses to receive data from the host CPU. This is the same as the DirectSound primary buffer. A DirectSound application can set specific properties of the primary buffer, such as sampling rate and bit depth, thus changing the properties of the hardware itself.

Under the Windows Driver Model (WDM), DirectSound does not have direct access to the sound hardware, except in the case of hardware-accelerated buffers. Instead, DirectSound sends data to the kernel mixer. The kernel mixer's job is to convert the format of multiple audio streams to a common format, mix them together and send the result to the hardware. In a sense, it does what Dsound.vxd does. One major difference is that Dsound.vxd mixes only DirectSound buffer data, but the kernel mixer mixes all Windows audio data, including data from applications that use the Win32 waveOut functions. The rule that DirectSound and the waveform-audio output device cannot both be open at the same time is not true on systems with WDM drivers.
Of particular importance is the kernel mixer's relationship with the audio hardware. the kernel mixer is the only software on the system that can specify the format of the hardware's DMA buffer. It selects the format on the basis of sounds it is asked to mix. It sets the output format to the highest-quality format of sounds that it is asked to mix, or to the closest format to this that the hardware supports.

This has one very important implication: DirectSound cannot set the format of the hardware's DMA buffer. For your application, this means that the hardware format is based on the data you actually play. If you play a 44 kHz file, Kmixer will mix all data up to 44 kHz and ensure that the hardware is running at 44 kHz.

As an application developer, you don't choose the driver model used. That is completely determined by the type of sound card, the version of Windows, and the installed driver. For this reason, it is very important that you cover all possibilities when you test your application. DirectSound might be using Dsound.vxd or it might be using the kernel mixer, and you should ensure that your application's behavior and performance are acceptable on both.

24/88.2 Playback using RME 9632 + Benchmark DAC1

I just downloaded a 24/88.2 "master quality" track from www.linnrecords.com and the playback was like an "exam" of what I know so far. The experience was also a test of PC hardware, software, configuration, and the DAC.

First of all the song track I downloaded was a WMA file. Playback it via foobar showed 2425kbps/44.1KHz, i.e. it went beyond the foobar WMA decoder limitation. I needed 88.2KHz.

I attempted to convert it using Samplitude and it gave 16bit/88KHz wave file instead. It was the first time I paid US$5.8 for downloading a song and I was determined to get a true 24bit/88.2Khz wave file. So I searched through web and found our Slim Devices forum friends already tried and they used authentic MS decoder called "wmal2pcm.exe" to convert the file to wave file, so I downloaded the program and converted the music track to true native 24bit/88.2KHz. Cool!

So for the playback. First I tried to play the 24/88 wav file with Samplitude. Unfortunately Samplitude could not even open a 24bit/88.2Khz wave file. So I used foobar to playback the track. I set SRC to 88.2 to ensure foobar could playback both 24/88.2 and 16/44.1 tracks smoothly. The P42.8 CPU utilization jumped up to 36% but overall PC performance was still ok.

And the result: Very smooth sound that I never heard of before. Violin playback from R1SC was similar to Sonus Faber that I remember long time ago. No fatigue and I could playback the same track again and again. I am glad RME9632 and Benchmark lived up to their reputation and delivers not just 16/44, but 24/88.2 at exceptional quality. I look forward to the ultimate test: to playback a 24/192 track.

16 Mar 2007

How Vista Audio driver will impact Creative and Audio Cards

http://pdsys.org/blog/2006/12/30/AudioInVistaBetterForConsumersLessSoForSoundcardCompanies.aspx

MME, WDM, Vista moved audio driver from Kernel to User mode - A Short History

http://blogs.msdn.com/larryosterman/archive/2005/09/19/471346.aspx


The Windows audio system debuted in Windows 3.1 with the "Multimedia Extensions for Windows", or MME APIs. Originally, only one application at a time could play audio, that was because the original infrastructure didn't have support for tracking or mixing audio streams (this is also why the old audio apps like sndrec32 pop up an error indicating that another device is using the audio hardware when they encounter any error).

When Windows 95 (and NT 3.1) came out, the MME APIs were stretched to 32 bits, but the basic infrastructure didn't change - only one application could play audio at one time.
For Windows 98, we deployed an entirely new audio architecture, based on the Windows Driver Model, or WDM. As a part of that architectural change, we added the ability to mix audio streams - finally you could have multiple applications rendering audio at the same time.
There have been numerous changes to the audio stack over the years, but the core audio architecture has remained the same until Vista.

Over the years, we've realized that there three major problem areas with the existing audio infrastructure:

(1) The amount of code that runs in the kernel (coupled with buggy device drivers) causes the audio stack to be one of the leading causes of Windows reliability problems.

(2) It's also become clear that while the audio quality in Windows is just fine for normal users, pro-audio enthusiasts are less than happy with the native audio infrastructure. We've made a bunch of changes to the infrastructure to support pro-audio apps, but those were mostly focused around providing mechanisms for those apps to bypass the audio infrastructure.

(3) We've also come to realize that the tools for troubleshootingaudio problems aren't the greatest - it's just too hard to figure out what's going on, and the UI (much of which comes from Windows 3.1) is flat-out too old to be useful.

Back in 2002, we decided to make a big bet on Audio for Vista and we committed to fixing all three of the problems listed above.

The first (and biggest) change we made was to move the entire audio stack out of the kernel and into user mode. Pre-Vista, the audio stack lived in a bunch of different kernel mode device drivers, including sysaudio.sys, kmixer.sys, wdmaud.sys, redbook.sys, etc. In Vista and beyond, the only kernel mode drivers for audio are the actual audio drivers (and portcls.sys, the high level audio port driver).

The second major change we made was a totally revamped UI for audio. Sndvol32 and mmsys.cpl were completely rewritten (from scratch) to include new, higher quality visuals, and to focus on the common tasks that users actually need to do. All the old functionality is still there, but for the most part, it's been buried deep below the UI.

11 Mar 2007

RAMDISK

Original post for RAMDISK:
http://www.audioasylum.com/forums/pcaudio/messages/18574.html

(1) Get the RAMDISK from http://www.ramdisk.be/ Go for the "enterprise" solution.

(2) Goto Control Panel -> System -> hardware -> Device Manager -> RAM Drive
Build your own RAM disk, choose a drive letter say B:\

(3) Copy wav files to the new B:\ Drive

(4) Playback the songs on B:\ directly from Foobar or Samplitude

Result: install 左 RAM Drive 後同老闆玩估歌仔, 在 foobar 放 (1) 在 HDD 的 Best 100 Piano 的 Fantasia Impromtu 和 (2) 在 Ramdisk 的同一首歌, 估左兩次都中, RAM Disk 明顯 Detail 多左. 然後在 Samplitude 再 play 一次 Ram disk, 清到演奏者的抖氣聲都聽到...

iTune + Foobar 2000

iTune+Foobar using Multi-Plugin Pass-Through

Over the holiday I installed iTunes and Multi-plugin configured multi-plugin to use "Foobar2000 passthrough". So I have iTune as UI and Foobar 2000 as playback engine.

Multi-plugin official site as below:http://www.aqua-soft.org/board/showthread.php?t=41188

So I have iTunes 7.0.2 -> Multi-Plugin 2.5.1 -> Foobar 0.9.4.2 -> RME 9632 ASIO and it works ok.

Some notes though:

1. I don't know whether it is my illusion but I find pure foobar ASIO output is somewhat very slightly better than iTune->multi-plugin->foobar ASIO. Theoratically this shouldn't happen. The ultra high frequency of iTune seems quite strange.

2. I have to re-install a clean foobar with just ASIO and SRC to get multi-plugin to work properly.

3. I also minimize the buffer on both foobar and RME 9632 to just around 100-200ms

9 Dec 2006

Audiophile Grade HTPC 建造要點

如何計算所需火牛大小:

http://extreme.outervision.com/psucalculator.jsp
http://www.eu-energystar.org/en/en_008b.shtml

Audiophile Grade 的 HTPC 不需太快, 中等速度而可, Motherboard 也不太講究, 大路的 Asus, Intel, Gigabyte 也可以. 但留意火牛必須優質而足火.

一般來說要達到 CD player grade 的 HTPC, PC+Sound Card 部分只出 digital signal (AES 或 Coaxial), DAC 則交由 External DAC 負責. 即 PC -> Sound Card -> DAC -> AMP -> Speaker.

如 PC 部分只出 digital out, sound card 的 jitter 需留心. 建議留意 sound card 的抗 jitter 能力, 及選擇良好 digital cable.

另一的玩法是用 Apogee Big Ben 等 master clock, 張 PC sound card 同 DAC 的 clock sync 起.

Desktop PC:
1) CPU 不用好勁,只需有SSE2 or SSE3 指領;
2) Mother board 要有 3條或以上的 PCI 糟;
3) 火牛要過火和有2組獨立 +12V 輸出;
4) ATA hard disk 比 SATA hard disk 好聲;
5) 如用 ATA HDD, IDE cable 要選用有水線的 cable;
6) 火牛電源線要夠粗大;
7) DVD-rom 最好用 Plextor, 因 Plextor 閱讀力著名

Hardware:
電源: 要優質及有 +12V 兩組比 PCI 用底版:
無大分別, Gigabyte, Asus, Intel 都有人用
DVD-ROM: 最好 Plextor
HDD: Maxtor 7200RPM/16M/SATA2 ( Or Seagate 沙魚)
Video Card: X1600 Pro 128MB (優質如 Sapphire, Asus, Leadtek)

Sound Card Options:
RME 9632: 貴, AES breakout cable 要另買
RME 96/8PAD : 平過 9632,
Lynx Two : 更貴, 但包 AES Breakout cable
Sound Card Interface: PCI better than Firewire better than USB 2.0
Digital output: AES > Coaxial > Optical
M-Audio 5.1, 7.1: Good for non-audiophile.
Creative 1212m: AES 是非平衡的, 評語一般, 勝在平過 RME
Creative 0404M USB Sound Card - Good comment with excellent jitter figure.
Trend Audio UD-10: 優質港產 USB Digital output, Recommend 外置 DAC

USBDAC:
USBDAC 最大優點是方便簡單及對 PC 要求較低. 如用 notebook PC 更加可有最強 mobility. 缺點是 USB 傳訊力弱, 直接影響音色.
Stello DA220 MKii: 已包 sound card 的 DAC, 惜 interface 是 USB 1.1, 只能用 ASIO4ALL
Stello DA100: Lower version of DA220
Apogee Mini DAC USB:


Software:
Ripping Software: EAC + Accurate Rip
Playback Software: 一般用 Foobar + ASIO
File format: Wave or lossless compression like APE or Flac

EAC (Exact Audio Copy) for Perfect Ripping

EAC 是把 CD 內 sound track 變成 wave file (即 Ripping) 的免費工具軟件, 特點是能自動 re-read 高達 80 次 (users.pandora.be/satcp/eac07.htm) 去盡力把 CD 的資料正確地讀出. 如配合 Accurate Rip (www.accurate.com) 軟件, 每次 EAC rip 一個 file 就會出現一個 check sum, 用戶就可比較在網上其他用戶的 check sum 而知道自己有否正確 rip 一隻歌, 亦可認證 EAC 的 Riping setting 是否正確.

EAC 主網:
http://www.exactaudiocopy.de/

有關 EAC 的 setting tutorial 請看:
http://users.pandora.be/satcp/eachelp01.htm


個別 DVD-ROM 的 Offset 請看 (我個人只用 Plextor):
http://www.accuraterip.com/driveoffsets.htm

Foobar 2000 (And Related Components)

Foobar 是免費的 playback software. 一般認為比 wimamp 或 iTune 靚聲. 注意不同 version 的 foobar 有可能有少少不同聲.

foobar audio player:http://www.foobar2000.org/

foobar SRC upsampler component:http://www.mega-nerd.com/SRC/fb2k.html

foobar Columns UI component:http://yuo.be/columns.php

LAME MP3 encoder (can be used with foobar or EAC):http://www.free-codecs.com/Lame_Encoder_download.htm

FLAC (can be used with foobar or EAC):http://flac.sourceforge.net/

EAC CD ripper:http://www.exactaudiocopy.de/

DRC (Digital Room Correction)http://drc-fir.sourceforge.net/

ASIO4ALLhttp://asio4all.com/

online radio directoryhttp://www.liveradio.de/

album art
http://cherans.bol.ucla.edu/fooplugins.html

browser panel
http://wiki.bowron.us/index.php/Foobar2000

track info mod
http://www.hydrogenaudio.org/forums/index.php?showtopic=47044&st=0

and album list
http://music.morbo.org/components.php

Secret Rabbit Code resampler
http://www.mega-nerd.com/SRC/fb2k.html

VST Tube Preamp plugin
http://www.voxengo.com/product/tubeamp/

Bridge Plugin for Winamp DSP Plugin
http://pelit.koillismaa.fi/plugins/redir.php?id=615

software digital crossover
http://xover.sourceforge.net/

foobar wiki (lots of info and download link for foobar plugins)http://en.wikipedia.org/wiki/Foobar2000

foobar online radio component:http://acropolis.lokalen.org/wp-content/plugins/DownloadCounter/download.php?id=6

How to listen to radio using Foobar:

1. 到這個網頁下載foo_input_mslive.zip http://acropolis.lokalen.org/
2. unzip個檔案,會發現有個foo_input_mslive.dll檔,將佢放入foobar資料夾內的components資料夾即成
3. 邊度有大量網上電台的link?答案是iTunes,請打開iTunes的radio playlist,裡面分類精楚,選好自己想聽的電台,將佢drag過去foobar任何一個playlist都得
4. drag過去之後有時係domain name,有時係ip,無所謂,照doubleclick去play,好了,大功告成!!
5. 當然你亦可以去任何一個電台網站download個.pls檔案下來,再drag入foobar播放,效果相同e.g.:http://sky.fm/

Perfect Digital Audio Extraction

PC Ripping (EAC 等) 能把 CD 內的資料精確地讀出嗎?

http://web.ncf.ca/aa571/daefaq.htm

Building of an HTPC

The purpose of this blog to store the documentation and related information for building an Audiophile grade PC and Hifi System. Anything that relates to computer-based playback technology or discussion can be included here.

Please kindly feel free to post any information that I am not aware of!