Open-source USB interface: Audio Widget

Hi Wei, John et al,

I would agree that the present arrangement of clocks of the USB9023 board is probably a good one, for the following reasons:

1. The "time domain jitter reduction" mechanism with a high (50Mhz+) MCLK is useful if the source signal has high jitter (eg SPDIF input). However, I suspect this mechanism involves some form of re-sampling within the ES9023.

2. With our async out arrangement and direct clocking of the ES9023 with a low jitter clock, no resampling of any form is done at all, and we are already assured of low jitter.

When we have a listening A/B test comparing the USB9023 (modded by Wei) and an ACKO 9023 board, we will know which clocking scheme is superior :)

Alex
 
Hi Alex,

I belive the clocking on AB-1 can be made even better. I have been modifying an AB-1 board to skip the Maxim MUX and rather use the EN pins of the Golledge XOs to select the frequency. This is a fairly easy fix because the footprints are there on the AB-1. I'm currently testing this setup for long-term stability. But everything this far tells me I'll use it for the next production batch of AB-1. Let me know, and I can tell you all the details. The benefit of this MUXing method is to reduce the capacitive load and power coupling seen by the XO outputs.

Any input on ES9023 cap and resistor size is welcome. I'm happy to hear about tweaking efforts. AB-1 was designed to be functional and a good platform for simple mods.

Børge
 
Hi jkeny,

Minimalist player uses WASAPI, buffering whole file into memory first,
Minimalist Audio Player
I guess similar idea as soundcheck's instruction under linux,
Linux Commandline Player - diyAudio

I swaped capacitors one by one (use USB bus power and directly driving HD600), most improvement is the pump capacitor. I also tried clean external power to feed ADP-151, the improvement is there, smoother sound and darker background, while USB bus power is not that bad. It's worth try to bypass ADP-151 using Lifepo4 battery or Salas shunt.


What is the minimalist(andy) audio player?

You noticed much improvement with upgrading these caps? Did you do them one at a time & note dthe change or in two groups as you said? Supplying a cleaner power to ADp151 will improve it
 
Last edited:
Audio-widget is using dual rate XO (22.5792/24.576M) to feed ES9023 directly, with FF to feed 1/2 rate clock to Atmel chip. I am wondering if it worth to use higher rate XO 45.1584/49.152M, with lower jitter FF (SN74AUP1G7) to get 1/4 clock.


Best solution, I believe, is a local clock at the DAC synchronised back to the transport

?
 
Last edited:
I guess the I2S output from Atmel is not 100% aligned with the XO clock, so it may benefit by reclocking them using idea from John's design at "ultimate TDA1541 DAC", maybe ES9023 has similar function built in already.



Hi Wei, John et al,

I would agree that the present arrangement of clocks of the USB9023 board is probably a good one, for the following reasons:

1. The "time domain jitter reduction" mechanism with a high (50Mhz+) MCLK is useful if the source signal has high jitter (eg SPDIF input). However, I suspect this mechanism involves some form of re-sampling within the ES9023.

2. With our async out arrangement and direct clocking of the ES9023 with a low jitter clock, no resampling of any form is done at all, and we are already assured of low jitter.

When we have a listening A/B test comparing the USB9023 (modded by Wei) and an ACKO 9023 board, we will know which clocking scheme is superior :)

Alex
 

Attachments

  • jb-reclock.jpg
    jb-reclock.jpg
    67.9 KB · Views: 753
Hi jkeny,

Minimalist player uses WASAPI, buffering whole file into memory first,
Minimalist Audio Player
I guess similar idea as soundcheck's instruction under linux,
Linux Commandline Player - diyAudio
Thanks, I'll try it & check if it's better than PurePlayer

I swaped capacitors one by one (use USB bus power and directly driving HD600), most improvement is the pump capacitor. I also tried clean external power to feed ADP-151, the improvement is there, smoother sound and darker background, while USB bus power is not that bad. It's worth try to bypass ADP-151 using Lifepo4 battery or Salas shunt.
I'm wondering if the capacitor change is helping to suppress the noise on the USB supply? Maybe if you tried the LiFePO4 battery first you may not have noticed much of a difference with the cap changes - I don't?
 
Hi Blushift et al,

U are welcome to try writing a windows uac2 driver as well :). The more alternatives we have the better.

As I mentioned before, it is technically possible to write a windows uac2 driver that works with a single audio device. There are several commercially available drivers around. However, AFAIK, no one has written a driver that can work with a composite USB device that has uac2 plus something else eg HiD.

Async out is the most desirable mode for bit perfect low jitter transfer, but u might like to start with simpler modes first in the driver development.

Native uac2 support is available with OSX and Linux now. I am waiting for support under Android, which should happen soon as the Linux kernel is used in Android.

I think we will have working windows uac2 from Tsai or u much sooner than M$. It is nit that they are not smart enough to do it - it is the motivation or lack of :)

Alex

When you mention you're waiting for uac2 support under android does that mean in the future it might be possible to use an android phone (or even better a honeycomb tablet) as a usb source to plug into the module?
 
That is great news.

I guess this shows my limited understanding of how the drivers control the audio output but under Windows 7 I was under the assumption that if you want to use ASIO output (or some other bit perfect output) you're limited to the certain programs set up to use that output - like foobar etc. So that if you're streaming music through a web browser you're not outputing a bit perfect signal.

Under android would every program (including streaming through the browser) be using the better quality output?
 
Understood - just wasn't sure how the Android OS dealt with the drivers. That is great news then and seems to be a huge advantage over some of the USB-I2S modules using proprietary drivers.

If I can simply plug in my phone or honeycomb tablet and play from various internet sources through the browser and output them over asynchronous USB to a dac that's a perfect living room/ lounging set-up.
 
Hi,

Under windows with the unified firmware, uac1 is not bit perfect yet (work in progress).

The windows uac2 driver is still experimental, not signed, tested with win7 32 bits only and not ready for public release.

PM me (alexlee188 att gmail dott com) if u would like to join the development team.

Alex

Hi Alex!

I just received, assembled and tested USB9023 with current firmware. UAC1 (from audio-widget-win branch) is work, but C_media win7 uac2 driver isn't work on WinXP. After driver installation I get message that driver not working properly. Someone tested this driver on WinXP?

George many thanks for your kit!

Nikolay
 
If you want to use ASIO interface you can use ASIO4ALL then you can have ASIO for pureplayber.

Hi John,

I still prefer the minimalist player over pureplayer you recommended, I cannot use WASAPI for pureplayer maybe that's a reason, meantime I had the windows 7 optimized by fidelizer (audiophile setting).


What is the minimalist(andy) audio player?
 
This driver is still under develop and own by C-Media Inc. Please note this driver is only release to Alex for firmware test purpose. This driver not support Windows XP. Windows XP need other version driver.

Hi Alex!

I just received, assembled and tested USB9023 with current firmware. UAC1 (from audio-widget-win branch) is work, but C_media win7 uac2 driver isn't work on WinXP. After driver installation I get message that driver not working properly. Someone tested this driver on WinXP?

George many thanks for your kit!

Nikolay