Open-source USB interface: Audio Widget

None of the listed modes are 32-bit. My guess is that the driver has a few modes compiled in, and simply zero-pads up to 32 bits.
"32-bit" is too vague. It's best to specify whether this means 32-bit float or 32-bit fixed integer. It would also be handy to say whether this refers to the USB data path or the I2S bit stream.

Most "32-bit" audio systems are 32-bit float, which is basically the same as 24-bit fixed point in terms of significant bits. I have not seen data sheets for the so-called 32-bit DAC chips, so it would be important to know whether they support float or fixed-point.

By the way, 24-bit samples have over 144 dB of dynamic range, which is enough to span from the absolute minimum sound pressure at the threshold of human hearing all the way to the pressure within a short range of a nuclear explosion. If you happen to think that 24-bit audio is insufficient, then you're overestimating your ability to piece together a sound system that could perform beyond the 24-bit range.
 
"32bit" DAC, see, for example,

Audio Converter - Audio DAC - PCM5102 - TI.com

32 bit refers to the PCM data, so it is a signed 32 bit integer.

Giving full 32 bit i2S samples to the DAC may have advantages which are NOT directly related to whether the human ear can hear over 144dB of dynamic range or whether we can put together a sound system to playback > 144 dB dynamic range :)

It has more to do with the internal processing that the DAC does to the incoming I2S data - and there is much DSP processing that is going on in the chips that we are interested in :) With 32 bit of input data, the processing can be more accurate so hopefully the final output to the sigma delta engine is more refined.

This is, of course, our conjecture at the moment as we have not played with a "real" 32 bit DAC yet. So when we have an AB with ES9018 we will find out :)

Alex
 
That's exactly my thoughts too, but from lack of responses it's seems no one has tried that yet. Theoretically this sounds doable and would enable at least some uac2 support for higher sample rates without hacking 3d parity drivers of other vendors. Borges, UnixMan, anyone ?
It may be doable, but... sorry, I don't quite see the point of doing something like that!

It would only allow to run MPD in a sub-optimal environment, likely with degraded SQ. What would be the advantages WRT running "Voyage MPD" natively on a separate, dedicated hardware and controlling it from a client such as "gmpc" running on windows?

You don't need an expensive, powerful, full-featured PC to run MPD. All that you need is a small, cheap SBC such as the "Voyage MPD Starter Kit" (see how small it is!) or just about any old, no longer used PC/laptop/netbook you may already have. As far as it have a working USB2 socket, it may be used.

Any native solution will work (and sound) much better than any windows-hosted emulated environment on the latest, greatest and most expensive hardware... and would be even easier to set-up than an emulated system.

BTW: Happy New Year!
 
Last edited:
It may be doable, but... sorry, I don't quite see the point of doing something like that!

UnixMan, I'm all with you on this one and are well aware of all the "backwardness" of such sub-optimal setup (see my ps in first post), but the whole idea behind this was to give user's that are somehow handicapped to ms os'es (like me for instance, as my job software is not multi platform) a chance to have temporally solution for full wrt usage. By all means I'm not implying that it would be on pair with native win uac2 driver, but let's be a little bit pragmatic here shall we ? It's not coming along any time soon...
And yes, any stand alone embedded/pc/laptop solution would be better if that's the way you want to go.

- Which VMs are available with sensible licenses?
- Will a VM forward a raw USB port not supported by the host OS?
I would say Virtual Box (GPLv2) with Oracle VM VirtualBox Extension for USB2.0 support (PUEL), so it's free. I'll have to do more digging on how ports are forwarded to guest os'es. From 5min. googling it seems that people are having troubles with streaming devices with this setup, so probably it's not raw mounting. I don't have wrt module (yet) to test this setup, maybe someone is willing to give it a tray ?

Happy and productive new year to all of you guys :)
 
but let's be a little bit pragmatic here shall we ? It's not coming along any time soon...

I don't think the word pragmatic means what you thinks it does. Bringing into line ones philosophy with observed reality rather than founding it on philosophical ideals. The observed reality is that a platforms other than windows does support UAC2 and by your own statement that is likely to remain true for some time.

At this point I think you would be better off putting your work software in a virtualbox hosted on a unix based OS although mixing work and non work on the same machine is asking for trouble.
 
A lot of people are stuck with MS equipment. UAC2 audio will only gain wide popularity once it works well on Windows.

To make it work we can wait for an MS driver to appear. That won't happen before your grandsons grow beards. Or we can give a pile of cash to Thesycon or similar, or we can write it ourselves. Now, an open source project usually needs someone to contribute the initial 10k lines of code. That will not happen here. None of us has the Windows USB knowledge required. And those who come closed are scares witless from the size of the tastk.

So instead of wrapping our brains around it, the thought is to wrap CPU cycles around it. I fully agree that it is better to set up some dedicated hardware or indeed boot an OS which simply works.

But those two are already in place. A general solution for supporting Microsoft's left-overs through a lightweight linux kernel is actually quite entertaining to me :)

Have you seen the Cooperative Linux project at Cooperative Linux | Free software downloads at SourceForge.net ?

Børge
 
Linux player setup

Sorry for needing some hand-holding here... I followed your instruction, and "Sound" under "System Settings" went empty. I more or less expected that with PulseAudio gone. Couldn't find a configuration menu in Banshee. Tried Alt-F2, "gstreamer-properties". That let me select ALSA, and the test tones worked. But Banshee remains mute.

I'm using Linux Mint at the moment. Not stuck to that at all, but I can't work with Ubuntu's latest GUI.

Any suggestions?

I haven't used Linux in quite some years. Used to compile my own kernels before v2.0, but in the meantime work and hobbies have dictated use of Windows due to SW compatibility. I'm willing to try things out. I (and other explorers stuck on Windows with me) would love a Linux live CD which booted right into a player. No passwords, logins, configs, just a bit-correct player.

I'll try Voyage too. But that also seemed like quite a few command lines to get it installed and working.


Børge

In Linux, the simple and definitive solution is to get rid of pulseaudio. Just unistall it:

Code:
apt-get purge pulseaudio
and instruct whatever player you like to directly use ALSA instead.
.
 
When I programming the new firmware I lost everything.
AB-1.1 not work. Firmware lost.:eek::eek:

LED OFF all time.:(
PROG-RESET: UAC1 - UAC2 chage did nor work.:(
PROG-RESET-RESET-PROG: driver program did not work.:(


Press PROG, USB plug on, release PROG
has been the solution. He revived the card. :D

USB driver has appeared and I was able to program the firmware again with deletion included. AB-1.1 with new firmware worked again. :D:D:D:D:D:D:D
 
The new firmware is best measures in UAC2 Than old firmware.

An externally hosted image should be here but it was not working when we last tested it.

Old firmware.

An externally hosted image should be here but it was not working when we last tested it.

New. audio-widget-nik-2011-12-29.elf

But worse UAC1 measures than old firmware.
New firmware does not work on MAC: UAC1 44.1 Khz 24 bit (yes 48 khz 24 bit and all UAC2: 44,1 48 88, 96, and 192 khz. Does not work 176 kHz.

Windows work UAC1: 48 and 44.1 khz 16b 24b 32b.
 
Last edited:
Member
Joined 2004
Paid Member
Its possible to build a Voyage MPD image that will boot from a USB stick, very low overhead. However the host hardware may cause a few bumps if it is not supported.

The Voyage setup process is pretty daunting. Its easier to do than it looks but you need to follow it precisely.

Once its setup on a disk its possible to use various tools to make an image of the disk that can be shared. There are a number of tricks for fooling the network connections etc. to get this all working. I don't have time to create before CES, but after I'll go through the process and make an image for a 2 GB USB stick and a simple windows tool for writing the image if no one else has.

If you have Voyage loaded you have either command line tools to control it or you use a controller on a different box.
 
Member
Joined 2004
Paid Member
Oneoclock:
I do have the new firmware working on Linux and Windows at all sample rates in UAC2.

I see an sensitivity to ground noise. Here are two plots. The first is a 1KHz loopback at 192 KHz with and without an isolation transformer on the audio. The noise around 1 KHz difference is obvious. The JTest does not show as much of a difference but the jitter sidebands do change about 3 dB lower with the transformer.
 

Attachments

  • AB1 iso vs direct.JPG
    AB1 iso vs direct.JPG
    224.4 KB · Views: 300
  • AB1 Jtest iso vs direct.JPG
    AB1 Jtest iso vs direct.JPG
    211.1 KB · Views: 301
Hi all,

Very interesting measurement results.

The improvement with the new firmware is probably the change from sending 24 bit i2s to 32 bit I2S to the es9023 !!!

1. UnixMan heard a slight SQ improvement with new firmware;
2. oneoclock showed a measurable improvement in the test.

The theoretical explanation may be what I suspected, that a 32bit I2S input allows the DAC's internal DSP to process more accurately thus the resultant sigma delta output is more refined. In the case of es9023 this helps even though the final output is only at 24bit.

The scenario is :

24 bit jest signal ---> playback software/driver converts to 32 bit, probably zero padded --> USB ---> i2s ( 32 bit data instead of 24 bit data followed by ?random noise) ---> DAC DSP front end ---> sigma delta ---> 24 bit equivalent output.

So it looks like 32 bit USB-I2S is good even for some 24bit DAC's. Think what it means to true 32bit DAC's :)

Alex
 
A lot of people are stuck with MS equipment.
you may be stuck with a particular software at work because there are no other choices or (more often) because your employer does not allow you to choose. But...

how can you be stuck on a particular system when the only thing this system must do is just to play music?

Why should someone insist on using one particular system when every other one is so much better, at least for that specific task?

Does anyone care which OS is running inside his DSL and/or WiFi router, SAT/DTV decoder, smart TV, media player, etc?

Do windows users refuse to use most of such appliances just because they happen to run Linux? (although most users of those appliances do not even know that...).

Do they refuse to use Android because it's based on a Linux system?

People are stuck because they believe to be stuck (or perhaps because they want to, which is about the same).

But let' go back to the point.

The real problem here is just to provide a ready-made, "plug&play", easy and appealing solution. That works in the way people would expect it to. That's what most people wants.

For most windoze users, only a native windows driver with its "ok-ok-ok" blind-clicking installer "wizard" would do. Anything else would be deemed too complex, intimidating, unpractical.

Trust me, proposing such a complex thing as the need to install VirtualBox, its proprietary extensions for USB2, an image with virtualized Linux, an MPD client, configuring and making it all to work together would not attract many windows users, if any... :no:

You'd attract way many more users by packaging together the AW with something like the Voyage starter kit (pre-configured) and a small, pre-configured ethernet router. Better yet, put it all together in a single "appliance-style" box.

And also add a CD with the required software (that is copies of "gmpc" compiled and packaged for the most common OSs, plus perhaps a few other clients for smartphones, tablets, etc).

Instead of the router, you may use an SBC with a few extra ethernet ports (or an add-on NIC) and let Linux manage it all.

Perhaps not even that... just add a DHCP server to the installed Voyage and provide a "crossed" ethernet cable.

Then, whatever OS you happen to use, all you have to do is to connect the Ethernet cable and install the MPD client.

And/or you may also add a WiFi interface (that acts as an access point), so that you don't even need to connect any cable and can also use a smartphone or tablet as a remote controller.

This should be deemed easy, practical and attractive by just about anyone.

UAC2 audio will only gain wide popularity once it works well on Windows.
I'm afraid you're missing what's the target for the AW. The real problem here is not windows or another OS. That would be probably true if you were trying to sell some gadget targeted at the general public of desktop and/or portable computer users.

But the target for something like the AW are neither generic computer users nor the consumer market. Most people don't care much about SQ. For them usually the internal sound card that cames with modern computers is more than enough.

Your main target are those few crazy people who cares. Namely, the audiophiles.

People who often have little confidence with computers. And usually do not like at all the idea to connect such a ugly thing as a computer to their super-expensive audio systems.

What they would really like are not drivers for any particular system. What they would really like would be an appliance that works in as much the same way of a simple CD player as possible! Connect power and analog out, turn on, pick-up the remote, go to the sofa, press play and listen. They do not even want to know that there is a computer and some software in there. ;)
 
Sorry for needing some hand-holding here...
sorry for not being more detailed. :eek:

Tried Alt-F2, "gstreamer-properties".
yes, right one. :)

That let me select ALSA, and the test tones worked. But Banshee remains mute.
you mean the test tones worket through the AW, right?

Are you sure to have restarted banshee after the change? In Ubuntu (and likely its derivatives such as Mint) banshee is started whenever you login. It is always running in the background. When you close its window you do just that, but the process keeps running. If in doubt, a reboot will ensure that there are no leftover process. :)

If there are still problems you may want to stop banshee, remove all of its config files/dirs and try again.

Another trick you may want to try is to set the AW as the default ALSA device.

open (or create) the file ~/.asoundrc and add a line like this one:

Code:
pcm.!default "plughw:1,0"

where the number correspond to that of the AW, that you may see by giving the command "aplay -l" in a terminal (try also "aplay -L" to see the corresponding pre-defined PCM devices).

I can't work with Ubuntu's latest GUI.
just for the sake of curiosity: you don't like it or your PC has troubles running it?

would love a Linux live CD which booted right into a player. No passwords, logins, configs, just a bit-correct player.
that should be relatively easy to do...

I'll try Voyage too.
that's a good idea. It may need some more refinement to make it even easier to install and use, but is a good project.