Open-source USB interface: Audio Widget

I am wondering if there is any chance to add a software volume control? (in system preferences it says that "The selected device has no output control".
the latter is just the OS telling you that the device (the audio widget) does not provide a volume control.

The former depends on whether the audio system of the OS provides a way to add a "softvol" control to any device. This can be easily done e.g. on Linux, but I don't know if MacOS allows to do so.
 
Hello I have the qnktc for 1 year and a few months, no problems on macbook pro, i made some little improvements: used an external Psu with LT1763 regulator, silver usb cable. I am wondering if there is any chance to add a software volume control? (in system preferences it says that "The selected device has no output control". Sometimes I am listening music with Amarra, and navigate on web with safari and some pages have flash player with the volume set on high and it's annoying

Since it is open source, you can modify the USB configuration descriptors to enable the OS's software volume control by setting a few bits. I don't remember exactly which ones, but it is documented on the web or in the USB audio class spec documentation.

:)
 
hang on: how does editing the device's firmware allow for software volume control?

those are not at all related.

the device can report whether it supports vol control or not, at the hardware 'mixer' level. this you can't fake; either you can send vol control cmds to the device and have it 'do things with it' or you cannot. there's no faking this.

you can fake (on linux, at least) a software vol control and it does not need any link-in with hardware. see mpd, for example: you can configure the mpd client to use a sw vol control or hw/mixer based one.

when I was talking to a ti pcm usb/spdif chip, it would tell the o/s that it had a hardware vol mixer if you went thru the chip and out via spdif (then into a dac). otoh, if you went out of the chip via i2s, you would NOT get a hardware mixer (I may have some details wrong; its from a few yrs ago). but you can't fake a hw mixer vol control; your hardware either will process that protocol or it will not.
 
hang on: how does editing the device's firmware allow for software volume control?

those are not at all related.

the device can report whether it supports vol control or not, at the hardware 'mixer' level. this you can't fake; either you can send vol control cmds to the device and have it 'do things with it' or you cannot. there's no faking this.

you can fake (on linux, at least) a software vol control and it does not need any link-in with hardware. see mpd, for example: you can configure the mpd client to use a sw vol control or hw/mixer based one.

when I was talking to a ti pcm usb/spdif chip, it would tell the o/s that it had a hardware vol mixer if you went thru the chip and out via spdif (then into a dac). otoh, if you went out of the chip via i2s, you would NOT get a hardware mixer (I may have some details wrong; its from a few yrs ago). but you can't fake a hw mixer vol control; your hardware either will process that protocol or it will not.

Sorry I should have been clearer in my previous post - there are two ways that I know of to add volume control... the first using the USB audio class's volume control feature, which is usually a hardware volume control at the device level. The second way would be to use the device as an HID/composite device and have it send volume control commands to the OS to adjust the volume and works the exact same way as the volume control buttons on the media keyboards.
 
This is just nice, I bought an QNKTC 1.1 from Börge a few years back and decided to upgrade it. Worked flawlessly and it is now reporting it's a QNKTC 1.2 device :)

Works very well in UAC-1 mode.

Is there a list of players that supports ASIO so I can use it in UAC-2 mode? I just want a simple player without library management, no connection to DB's - just pick an album and play :)

The best would be if someone tweaked the softsqueeze player :D...

Regards
 
Yes, I didn't bother to make a separate build which says "AB-1.1" because the two are binary compatible.

Actually, in the not too distant future, new firmware binaries from me will probably say "Henry Audio USB DAC 128" which is the new name for the AB-1.2.

I've been using ASIO in foobar2000 and JRiver Media Center. In addition I've been toying with a .wav file player in WidgetTest.exe. It uses the level below the ASIO driver but is still a user mode application. It's quite experimental still, you can build it in Visual C++ Express 2008 from code at https://github.com/nikkov/Win-Widget/tree/exp_asio

Børge
 
Last edited:
Does on USB9023 anyway. No problem to run WidgetControl. The USB5102 seems to have som problem though with WidgetControl. It comes up after a while with the following:

Opening usb device OK
Device: VID=0x16D0/PID=0x075C
Product:
Manufacturer:
Serial number:

And all fields are empty...

Playback device is reported as QNKTC DAC 1.2 but no music is coming thru.

Yes programming went fine - no problems.

Regards
 
Well now, whaddyaknow... George sold his rights and asks Börge to support the old stuff.
I have the working older code locally on my disks so further help from these "Gentlemen" of "open" source will not be needed. The new code doesn't work with the older boards as they just produce static - buy another - nope! This adventure stops here.
 
Well now, whaddyaknow... George sold his rights and asks Börge to support the old stuff.
I have the working older code locally on my disks so further help from these "Gentlemen" of "open" source will not be needed. The new code doesn't work with the older boards as they just produce static - buy another - nope! This adventure stops here.

:confused:

Audio Widget is still open source, the schematic is open, so is the firmware and Windows ASIO driver source code... all publically available from github.

I am running the latest firmware compiled from the git repository on an old QNKTC AB1.1 and it works great. So what's the problem?
 
Turbon,

You misunderstood my reply to your query. I never sold the rights to the audio widget since I do not own the rights to the schematics or code. The audio-widget is open-source and Borge created his own version of the with different DAC chips and clocking circuitry.


I produced the original audio-widget kit hardware while others created and maintained the software. Once my original kits were sold out I did not reorder stock and stopped the kits due to lack of interest. The original schematics and documentation is still maintained on my website. As for the code... my participation was minimal and others supported the code expansion.

Borge code 'should' work with the original boards since his board does not look like it deviated from the original. If there are issues with his code he is the one to work with.



George


Well now, whaddyaknow... George sold his rights and asks Börge to support the old stuff.
I have the working older code locally on my disks so further help from these "Gentlemen" of "open" source will not be needed. The new code doesn't work with the older boards as they just produce static - buy another - nope! This adventure stops here.
 
Ok, a last one. Börge told me yesterday that he had used a gpio pin for testing that is used on your usb5102 board to control the filters. That was in my mind a good explanation to why that board acted strange. Now the usb9023 and ab-1.1 worked fine on the computer I tested them on last evening with the drivers installed. Later connecting them to my Squeezebox - just static from all 3 of them. Am I supposed to be happy? Well the programming went just fine on all 3 DACs. I'll find the old code as I have upgraded atleast your boards a few years back. Then I'm all set.