Open-source USB interface: Audio Widget - Page 16 - diyAudio
Go Back   Home > Forums > Source & Line > Digital Source

Digital Source Digital Players and Recorders: CD , SACD , Tape, Memory Card, etc.

Please consider donating to help us continue to serve you.

Ads on/off / Custom Title / More PMs / More album space / Advanced printing & mass image saving
Reply
 
Thread Tools Search this Thread
Old 22nd August 2011, 09:54 AM   #151
diyAudio Member
 
Join Date: Apr 2011
The PC side driver and music playback software make a difference to the Sound Quality.

One key issue is to avoid any re-sampling by the PC. If the source material is in 88.2khz/24bit, then it has to be transferred via the USB as 88.2khz audio. Many PC programs re-sample the music to another sample rate before presenting to the USB. For example, in Linux pulseaudio, the pulse server runs at a FIXED sampling rate when the pulse server is started. If music is played back through pulseaudio (which is the default used by many Linux music player programs and movie players etc.), then any source that is NOT the same as the FIXED sampling rate gets automatically resampled -> loss of SQ. So far I have only found MPD to be able to faithfully avoid resampling under Linux, if you specify auto_resample "no" in .mpdconf. I'm sure there are similar gotcha's under OSX and Windows.

The other issue is the audio driver. You need USB Audio Class 2 drivers to work well with rate feedback. UAC2 is only available under OSX snow leopard or later, and Linux kernel 2.6.37 or later. Under Windows, you need proprietary uac2 drivers. We have tested experimental uac2 drivers under Windows and many Windows music players have poorer SQ compared with Linux. There is only one - the "minimalist" player, that plays back as good as Linux.

As Borge said, we encourage experimentation and testing. There is no need to argue based on theoretical considerations. Try the widget. Design and build you own Analog Board to mate with our USB-I2S module. The widget is under US$200 including shipping, and the USB-I2S module is well under $100 We do not claim that it will outperform the big boys costing thousands of $. How close is the SQ to the big boys - that is for you to find out :-)

Alex
  Reply With Quote
Old 22nd August 2011, 10:16 AM   #152
cviller is offline cviller  Denmark
diyAudio Member
 
cviller's Avatar
 
Join Date: Dec 2005
Location: Copenhagen
Blog Entries: 2
If you hear a degraded sound from pulse-audio upsampled material doesn't that imply that the interpolation and reclocking is implemented in a mathematically incorrect way?
Do you hear the same issue if you upsample the soundfile itself before playing?
  Reply With Quote
Old 22nd August 2011, 10:29 AM   #153
diyAudio Member
 
soundcheck's Avatar
 
Join Date: Mar 2005
Location: D
Quote:
Originally Posted by alexlee188 View Post
The PC side driver and music playback software make a difference to the Sound Quality.

One key issue is to avoid any re-sampling by the PC. If the source material is in 88.2khz/24bit, then it has to be transferred via the USB as 88.2khz audio. Many PC programs re-sample the music to another sample rate before presenting to the USB. For example, in Linux pulseaudio, the pulse server runs at a FIXED sampling rate when the pulse server is started. If music is played back through pulseaudio (which is the default used by many Linux music player programs and movie players etc.), then any source that is NOT the same as the FIXED sampling rate gets automatically resampled -> loss of SQ. So far I have only found MPD to be able to faithfully avoid resampling under Linux, if you specify auto_resample "no" in .mpdconf. I'm sure there are similar gotcha's under OSX and Windows.

The other issue is the audio driver. You need USB Audio Class 2 drivers to work well with rate feedback. UAC2 is only available under OSX snow leopard or later, and Linux kernel 2.6.37 or later. Under Windows, you need proprietary uac2 drivers. We have tested experimental uac2 drivers under Windows and many Windows music players have poorer SQ compared with Linux. There is only one - the "minimalist" player, that plays back as good as Linux.

As Borge said, we encourage experimentation and testing. There is no need to argue based on theoretical considerations. Try the widget. Design and build you own Analog Board to mate with our USB-I2S module. The widget is under US$200 including shipping, and the USB-I2S module is well under $100 We do not claim that it will outperform the big boys costing thousands of $. How close is the SQ to the big boys - that is for you to find out :-)

Alex

Hi Alex.

I've been around for a while. I you feel bored you can have a look at my Linux Audio Thread in the PC area over here.
I do consider myself one of the very early people that have shown the impact of PC based optimizations on audio devices.
I'm not refereing to resampling, volume controls, playback software which changes the actual data that makes the difference btw.
Those I take out of consideration, since the negtive impact of those is more than obvious.

Believe me, I tweaked Linux, the (rt-)kernel and MPD, ecasound and more years back and other stuff like the Squeezebox nowadays - which is IMO one of the best Linux based transports - quite heavily.

In the end I pretty much got tired of that never ending story. And it is a never ending story, unless


---
and here's my conclusion:

Provided bit-transparent data are delivered, the audio interface must
not show any differences in sound quality at whatever PC/Transport based
setup feeding it.

That should be the ultimate goal of any interface designer.

100% decoupling from PC induced mess is the goal. Not any device I'm aware of can manage this.

If a device can't manage that stay away from it.
---


The impact of different samplerates, resampling asf. I consider a different subject.


Cheers

Last edited by soundcheck; 22nd August 2011 at 10:33 AM.
  Reply With Quote
Old 22nd August 2011, 11:21 AM   #154
diyAudio Member
 
soundcheck's Avatar
 
Join Date: Mar 2005
Location: D
Quote:
Originally Posted by cviller View Post
If you hear a degraded sound from pulse-audio upsampled material doesn't that imply that the interpolation and reclocking is implemented in a mathematically incorrect way?
Do you hear the same issue if you upsample the soundfile itself before playing?
Any data manipulation or filtering is causing losses.


Resampling:

Assume your DAC device resamples everything to 192khz.
It might be the case that the resampler on the PC works better
than your DAC device.
Though if you use the wrong resampler or the wrong options for the resampler it might sound worse. Resampling is an art on its own.

Next you'll see the differences between offline sampling and realtime sampling.
Hmmh. Offline sampling sounds better than realtime sampling!?!?!
Now you might start resampling your entire collection for best sound.
You like it? Hmmh. At least for now.

On the next DAC which accepts native 44.1/16 and won't resample to 192/24, 44.1/16 might sound better then your upsampled stuff. Bad luck.
(Hint: Always keep a copy of the originals.)

Now you can get a copy of native 192/24 master material of that
very same disc. Surprise, surprise. It sounds better than your PC offline upsampled material. Hmmh. You like it? Go for it.

Two obvious reason for that. If we talk about the real 192/24
master, your 44.1/16 copy faced serious losses during the
downsampling process. Beside the actual resampling you'll see
attenuation being applied to avoid clipping and dither being applied.
That's not nice.

Of course there another reason. Todays HiRes, typically 24/96, stuff is usually "remastered" stuff. Many of them are DSD copies or tape copies
transfered to PCM. Yep. They usually still talk about masters.
That remastering makes a huge difference on it's own.
People compare 44.1/16 material mastered in the eighties with remastered 24/96 stuff done 2 months ago on DACS which resample to 192khz.
That won't work. What are we comparing here!?!?

Oh man - what's next in that jungle?

All that is more than exhausting and much too complex to get a definite answer.

I think we had a great time when just throwing in those little silver disks
into our CDPs and just enjoyed what's got delivered.


Sorry to be a little off-topic here.
  Reply With Quote
Old 22nd August 2011, 02:05 PM   #155
borges is offline borges  Norway
diyAudio Member
 
Join Date: Dec 2003
Location: Oslo, Norway
Hi Soundcheck,

You have some good points there. My background is as an analog and embedded guy. When I program I rarely need a task switcher and an OS. So maybe I'm just assuming the PC side of things is more perfect than it actually is.

I'd like to have you on the team. Mainly because we well use some more input on "tool chains" of players, drivers etc, particularly on Windows. Pluss I wouldn't mind selling you some hardware :-)

You won't have a hard time convincing me that a modern computer has lots to do and that it may not feed the USB perfectly. Please enlighten us on how to get the best out of it.

But when it comes to analog things I'm quite certain the core analog parts (DAC and clock) should be tight together. The MCLK edges are used for internal latching inside the DAC, not the other I2S signals. And as long as I2S word clock, bit clock and data bit have the right edge/update relationships - and are synchronous with MCLK - we should be safe. This is my experience on ES9023 an PCM1704.

Cheers,
BÝrge
  Reply With Quote
Old 22nd August 2011, 03:20 PM   #156
UnixMan is offline UnixMan  Europe
diyAudio Member
 
UnixMan's Avatar
 
Join Date: Apr 2005
Location: Perugia + L'Aquila, Italy
Send a message via ICQ to UnixMan
Quote:
Originally Posted by borges View Post
The analog core of clock, DAC and filters must be made together without any noise sources.
absolutely...

Quote:
Originally Posted by borges View Post
But the digital core with MCU and USB interface may very well be isolated from the analog core. One opto isolator option could send MCLK in one direction and remaining I2S lines the other way.
is there any chance this solution will be included in a future release of AB?
__________________
Quote:
"We should no more let numbers define audio quality than we would let chemical analysis be the arbiter of fine wines." N.P.
  Reply With Quote
Old 22nd August 2011, 03:53 PM   #157
diyAudio Member
 
soundcheck's Avatar
 
Join Date: Mar 2005
Location: D
Quote:
Originally Posted by borges View Post
Hi Soundcheck,

You have some good points there. My background is as an analog and embedded guy. When I program I rarely need a task switcher and an OS. So maybe I'm just assuming the PC side of things is more perfect than it actually is.

I'd like to have you on the team. Mainly because we well use some more input on "tool chains" of players, drivers etc, particularly on Windows. Pluss I wouldn't mind selling you some hardware :-)

You won't have a hard time convincing me that a modern computer has lots to do and that it may not feed the USB perfectly. Please enlighten us on how to get the best out of it.

But when it comes to analog things I'm quite certain the core analog parts (DAC and clock) should be tight together. The MCLK edges are used for internal latching inside the DAC , not the other I2S signals. And as long as I2S word clock, bit clock and data bit have the right edge/update relationships - and are synchronous with MCLK - we should be safe. This is my experience on ES9023 an PCM1704.

Cheers,
BÝrge
If you follow up the SD-Card player stories (these guys IMO push the limits) you'll realize that those players work best if just one clock is used.

ec-designs clocks the pic with the same clock as the DAC and Bunpei with his Micro-SD player recommends to just take the MCLK of the transport and to get rid of the DAC clock (external TP Sabre if I recall it correctly). Somehow slightest clock interferences obviously should be avoided for best sound.



PC setup:


If you want to achieve a close to reference sound from a Windows 7 system, you might try below 20 minutes exercise:

1. Install and run Fidelizer.
Fidelizer turns a lot of non relevant processes and system services off.
It changes task and scheduler priorities asf asf. It also turns network, firewall, wlan asf off.
2. Install the test version of J.River Media Center 16. Look for the latest built in the JRMC forum. Install that one over the base installation.
You enable full ramplayback and W7 wasapi exclusive mode.
The USB driver might even support wasapi event style, which was
developped having asynch. USB devices in mind.
3. Then you avoid realtime flac conversion. Either you run native .wav
or decode your flacs prior to playback.

If all that won't make a difference on your setup compared to a standard player your USB device is doing quite a good job or your systems resolution is not top notch.
At that point nothing was done to the actual data. Just system optimizations were applied.


On a Linux system

1. You install a realtime kernel ( checkout liquorix) and latest Alsa and
throw out Pulseaudio. Latest Alsa you can install by using the Alsa Upgrade script I developped some time back which you should find at Ubuntu forums.
2. You install ecasound
3. You boot into recovery mode (that one got most of the processes off)
4. You copy your flac or wav to /dev/shm or any other tmpfs.
5. Decode your flac first
6. As root you run e.g. ecasound -q -b:rt -r:90 -i:/path/file.wav -o:alsahw,0,0

If you want a little player script for all that Linux playback let me know.


If I had an interface in my hand I could test it also on a tweaked Squeezebox Touch, to see if it works at all and if my SB tweaks make a difference.


As I said earlier. I'm actually interested in a USB based multichannel device. Don't count me in for your project. I can get you some hints as done above. That'll be it.
I'm still actively tweaking the SB Touch. And there are a couple of hundred people waiting eagerly for my Touch Toolbox 3.0.
For stereo playback I'll stay with my SB Touch. I still havn't seen any other solution which beats that solution on price/performace ratio, usability (iPad control) ,
community support and more. You should notice that the audio interface is just a little part of a complex solution.


Cheers

Last edited by soundcheck; 22nd August 2011 at 04:20 PM.
  Reply With Quote
Old 22nd August 2011, 04:11 PM   #158
diyAudio Member
 
Join Date: Nov 2010
Location: Toronto
Hi Squeezebox

If you have the soldering skills or know someone who could assemble my kit for you I can send you one of my USB9023-RevA kits. It is a single board design that uses the same processor firmware and DAC with a different clock.

Regards,
George
  Reply With Quote
Old 22nd August 2011, 04:25 PM   #159
borges is offline borges  Norway
diyAudio Member
 
Join Date: Dec 2003
Location: Oslo, Norway
Hi Soundcheck,

thanks for your input! Any opinion on different Windows UAC2 drivers?

BÝrge

Quote:
Originally Posted by soundcheck View Post
PC setup:
  Reply With Quote
Old 22nd August 2011, 04:32 PM   #160
2A3SET is offline 2A3SET  Canada
diyAudio Member
 
Join Date: Dec 2003
Location: Toronto
Default Salas shunt

Now it's not portable anymore. I also powered the MCU with shunt, a bit softer sound.
Attached Images
File Type: jpg salas-aw.jpg (197.3 KB, 354 views)
  Reply With Quote

Reply


Hide this!Advertise here!
Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Async 192Khz USB - the SDR-Widget collaborative project SunRa PC Based 5 26th April 2011 06:38 PM
usb audio interface david12 Equipment & Tools 14 10th October 2010 02:58 AM
Cheap Audio Interface (USB?) to PC agm2003 Instruments and Amps 11 16th September 2007 07:48 AM
Open call for suggestions on Open Source DIY Audio Design gfergy Everything Else 1 15th April 2007 07:33 AM
USB Interface Perfect?- Computer Audio fmak Digital Source 3 4th December 2004 10:24 PM


New To Site? Need Help?

All times are GMT. The time now is 12:09 PM.


vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2014 DragonByte Technologies Ltd.
Copyright ©1999-2014 diyAudio

Content Relevant URLs by vBSEO 3.3.2