External USB sound card with Opto Out, 5.1 sound, HiFi
This sound card uses the high end USB sound chip PCM2704 from BurrBrown.
Even in standard application this circuit has fantastic performance.
This chip is a long time insider tip for audio enthusiasts.
Technical parameter | Value |
---|---|
THD+N | 0.006% at Rl > 10 kOhm 0.025 at Rl = 32 Ohm |
Dynamic range | 98 dB |
Filter | Digital oversampling filter Analog low pass fg = 140 kHz (0,1 dB reduction ati 20 kHz) |
Ripple in pass band | ± 0,04 dB |
Output power | 12 mW at Rl = 32 Ohm |
Output load | >16 Ohm |
Converter Type | 16 bit Stereo Delta-Sigma DAC |
Digital output | S/PDIF, multi-channel capable |
Sampling frequency | 32, 44.1, 48 kHz |
Multi-channel systems and D / A converters can be connected via optical Toslink.
So you can use each ordinary laptop to send 5-channel surround
sound to a surround amplifier. On the other hand you can enjoy stereo
signals in excellent high end audio quality just by plugging
in headphones or connecting the sound card via analog cable to your amplifier.
The sound card has a powerful headphone output, which provides the excellent audio parameters given in the table above.
You can also optionally assemble RCA jacks to connect analog stereo.
Several years ago the DIY magazine Elektor published a PCM2704 project with additional analog filters. To me this seemed unmotivated expensive and the benefits are questionable. After all, the analog signal is used for headphones only and it should not be digitized again.
Bit rates
This sound card puts out audio streams with 32 and 44.1 and 48 kHz sampling
rates. Therefore, Dolby 5.1 and DTS 5.1 are possible. Several
commercially available USB sound cards support only the output of 48
kHz, so that they cannot output multi-channel sounds.
All popular music formats are reproduced without resampling. All other sampling
frequencies are up or down scaled by the PCM2704 to 48 kHz.
Hardware
Circuit ( PNG, Eagle file) – PCB ( PNG, PDF, Eagle file) – parts needed and Where to buy.
Photo gallery
Notes on soldering:
Use 0.3 fine solder for the PCM2704. Afterwards detach solder between the
pins with aid of magnifying glass and desoldering wick. This works
quite well. After that my circuit played right from the start.
Package options
By design, this project should not become a plug in USB stick. An stick
overlaps the notebook and it is quickly destroyed or the USB
port may break out.
Intentionally no SMD components were used.
So a 1-sided PCB will do it. The top side has been left as an
additional continuous ground plane. You can also omit it.
The PCB uses only part of the large case (Reichelt SP2062). The free space
is used for additional connectors, such as RCA jacks or a large phone
jack for headphones (see picture on top). If both are not needed, you
can take a smaller package.
The smallest extreme version only uses the optical sound card output. In this case, the whole analog part has
to be removed, and the board will match into a tiny enclosure.
First I have filed the rectangular gaps for the TOSLINK and USB socket,
and then smoothed them by cutting with a scalpel.
One printed circuit board, three versions of size (with analog part - only optical output - extra cuts)
Driver
The card is automatically detected and addressed properly as an "USB Audio Device" under Windows, Mac and Linux.
I tested it on Windows 2000, Windows XP and Linux (Knoppix 5.2).
Working under Windows and Linux does not require administrator rights.
USB audio device in the Windows Mixer (Windows 2000)
If the card is already connected when booting, the
operation system will use the sound card as the primary sound card so
that it is addressed by all programs automatically. If you put
it on later, then some of the applications require explicit
selection of one of the sound cards that are available in the
system. Other programs such as Winamp automatically use USB audio as
soon as the card is inserted.
Most software use USB audio automatically when they are restarted.
The latency is supposedly only 7 ms on the Mac and 4 ms on Windows with a special ASIO driver (www.usb-audio.com/de/).
Software settings (operating system)
Windows:
Winamp: dynamically detects a connected USB sound card and uses it immediately when you press "Play".
Other players and browsers must be restarted after plugging in the sound card.
Linux:
CMMS 1.2. (Linux Player): Select USB Audio Device under the Settings of the OSS driver > Configuration > Audio Device
Software settings to play 5.1 cinema sound via Toslink output
Windows:
You should have installed at least DirectX 9c. Otherwise you may get
problems with the detection of video DVDs in the drive, and you get
cryptic error messages.
Basically, it's quite simple: the audio stream has to reach the sound card without any changes, namely bit-level accuracy has to be assured. Because of the nested sound architecture of Windows
and the undesired intelligence of some software players this can
become a tricky task.
Most software video players process the audio stream without asking –
depending on what type of coding they feel to recognize. There are options like volume normalization,
conversion to stereo, virtual surround sound, conversion to Dolby surround, equalizers and more.
All of these options have to be disabled!
In [4], the recommendation is given, to output HQ Audio better with an ASIO driver in Windows, because by this means all hidden signal scaling of the Windows mixer is bypassed.
Preparations
- in the Windows Mixer set volume controls for Wave and the Sum signal to 100%
- (possibly you need to install the AC3-Filter and set it in the Control panel like shown here 1, 2, 3, 4, 5, 6)
- in your software player you must set the volume to 100%, switch off any audio plug-ins and EQ
Quick Test
Plug in headphones: when playing a source with digital multichannel sound
(DOLBY or DTS) at the analog output a digital noise must appear,
while the optically connected amplifier decodes the signal as desired.
Source (test signals) | Winamp | MPC1) | WMP 9 | VLC 0.862) |
---|---|---|---|---|
WAV svradio DD640 | X | X | X | - |
WAV svradio DTS | X | X | X | - |
AC3 lynnemusic | - | X | - | - |
WMA lyynemusik | - | - | - | - |
MPG, AVI – DTS 5.1 | X | |||
MPG, AVI – DD 5.1 (ac3) | X | |||
DVD DTS 5.1 | X1b) | |||
DVD DD 5.1 | X1b) |
Reproduction of 5.1 audio formats in various software players
1) MPC (starting from v1.1.604 Homecinema) Disable the software decoder by means of:
Play > Filters > AC3-AudioDecoder: select [×] SPDIF as output for both formats
1b) MPC (up to version 6.4.9.1) played multichannel audio after disabling the built-in matrix mixer using:
Play > Filters > Matrix Mixer: disable and
Options > Internal Filters > Audio Switcher:
off (disabled) (otherwise the AC3 stream is decoded and re-packaged).
DVD playback is not possible with this version.
2)Unfortunately VLC decodes surround formats automatically, which must strictly be avoided. So the digital DOLBY data stream does not reach the sound card's output
PowerDVD 5.0 DVD: freezes when SPDIF is selected (USB sound card has been connected before Windows boot)
PowerDVD 7.0 DVD: does not recognize the SPDIF output and therefore does not offer it.
Further notes are welcome.
Note:
If multi-channel sound is output via SPDIF the analog outputs carry digital noise which can ruin the tweeter speakers in your boxes!
If your multimedia digital amplifier input signals and very quickly recognizes the kind of audio input signal and when it is ensured, that digital input is preferred, you can connect both types of signal (analog and digital) and assign them to the same input. Otherwise, I recommend for safety reasons that you connect the sound card only via SPDIF.
Test signals
Sources:
http://pessoal.onda.com.br/rjamorim/stuff/test.ac3.zip: ac3 test file, can be played with VLC and MPC
http://www.lynnemusic.com/surround.html: 5.1 music samples, AC3 and WMA
The Swedish Broadcasting Sweriges Radio offers some multi channel recording downloads. These include test signals and recorded music. The bit rate of the examples is 640 Kb / s (Dolby Digital) and 1.5 Mb / s (DTS ).
File Formats:
You can play the Wave files with any simple audio program such as
Winamp. The coded signal results in a digital noise at the analog
output, because the DD or DTS bit sequences do not provide meaningful
analog data streams. Nevertheless the SPDIF signal is correct.
To play Dolby Digital files, recognizable by the extension .ac3 you need an application, that can handle this data. I was able to play the test sequences with MPC. The settings were the same as for playing video with multichannel audio.
Tuning
- You should remove the antipop resistors R1, R10, R11, R12 or replace them with a value of about 220 kΩ when you intend to connect a Hifi amplifier with high-impedance instead of low-impedance headphones. This reduces the harmonic distortion to typically 0.006%.
- C11 and C13 can be replaced with Black Gate bipolar N caps.
- Backup capacitor C10 can be replaced with a Black Gate Standard type
With a separate 3.3V voltage regulator for the digital supply voltage
(pin 2) the remnants of clock interference can be minimized [1].
The extremely low distortion at the output is nearly the theoretical
minimum when driving high load impedances. With a
additional headphone driver circuit this value could be
provided to low-impedance loads as well. The benefits would be rather
academic. I do not know any headphones with have distortion values
still below 0.025%.
An example of extreme tuning is the commercial product Corda Move by Meier-Audio, which is also based on the PCM2704 (link below).
Service tips
The card is working since 2007 on multiple PCs.
Mechanical weakness:
The Mini USB connector has extremely short legs, that are suitable only for through-hole PCBs.
Without a plated through printed circuit board some times a pin may lose the solder
joint, when the USB plug is often put. Resoldering helps.
Addendum 2010:
All connectors should be fixed two drops of thermal adhesive. Otherwise
individual solder joints may broke by the mechanical stress. This
applies to the USB port, the mini-jack and the optical transducer.
Similar projects
- PupDAC
- Combines the never version PCM2707 with a high-class audio DAC PCM1794. THD + Noise: 0.0004%. No audio input, sample rates up tu 48 kHz.
- www.hagtech.com/hagusb.html
- HagUsb is a similar but commercial project with the PCM2704. There the S / PDIF signal is connected via a coaxial output transformer. Some consider this card to be the ultimate, high-quality audio solution to transmit SPDIF to the PC without jitter.
- Corda Move at www.meier-audio.homepage.t-online.de
- High-End version of a PCM2704 card with complex compensation networks and separate headphone driver.
- www.mellowparenting.demon.co.uk/guzzler/usbdac.html (Link down, see here)
- Tiny PCM2902 sound card with SMD components as USB stick. The PCM2902 has an additional audio input.
- www.head-fi.org/forums/f6/pcm2702-usb-dac-revision-b-137298/
- Larger PCM2702 card with sophisticated voltage regulation and measurements. Very long thread.
- www.silverstonetek.de
- The external sound card from EB01 Silverstonetek in elegant aluminum case is based on the previous model, each with a PCM2702 and OPA604 as a buffer amplifier.
Links
[1] Diary of the PCM2704 developer Hitoshi Kondoh (part1, part 2 and part 3)
The issue of getting a SPDIF data stream from an asynchronous USB data stream is not a trivial task. You will realize this when reading this blog "The D / A Diaries" written by the developer Hitoshi Kondoh. Some of the descriptions read like a detective story.
[2] www.asio4all.de – Free Asio driver for WDM audio, enables sound reproduction with low latency operation under Windows
[3] ac3filter.net free audio filter by Alexander Vigovsky to play 5.1 DD and DTS sources on Windows systems, Winamp plugin for DD and DTS
[4] HQ-Audio "Hochaufgelöster Musikgenuss am PC", printed article in ct, 15 2009, page. 156-161 (German language)
Replicas
Photos of replicas are on page 2