Open-source USB audio interface: Audio Widge

Go To Last Post
6 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Announcement: Audio Widget project

The Audio Widget project is open-source code and schematics for
USB based digital audio. It has functional firmware and software. And
it sounds good!

Cool? You bet! Here you can get started with USB audio without
worrying too much about the USB part of things.

Or you can contribute to a great open-source coding project. The
most important contribution we could need right now is coders for
USB Audio Class 2 drivers on Windows. But other efforts are needed
too. See below.

The code is written in C for the Atmel AT32UC3A3256 32-bit MCU. It
supports USB Audio Class 1.0 and 2.0 (UAC2). On Windows / UAC1 it
works with 24/44.1 and 24/48 with sample skip/insert. Asynchronous
USB is in progress, and we could use your help.

On Linux (>2.6.37) and OS X, using asynchronous USB, it also
supports 24/88.2, 24/96, 24/176.4 and 24/192. The open-source
firmware is in a git repository. It can be selectively compiled to run
on the three different boards. The firmware includes several UI and
display options.

There are three hardware options. The hardware is in a beta state. It
plays music very well, but there is still tweak potential.

1) A stand-alone USB-DAC with stereo audio playback functions only.
This board uses the ES9022 DAC chip. Contact
george.boudreau@YoyodyneConsulti... for info on how to obtain
one. More information on the this and other audio designs visit
http://www.yoyodyneconsulting.ca... ... dware.html

2) USB-I2S module + Analog Board. The module has all the pinouts you
need for digital audio, GPIO, I2C, SPI, LCD display and UART debug.
The module uses 2.0mm pitch pin rows. The Analog Board uses the
module to do stereo playback with an ES9022 DAC and low-noise
VBUS-LDO based power. AB-1 is a straightforward design to begin with,
and if you're into analog tweaking we challenge you to make your own
versions! Schematics and BOM are on
http://code.google.com/p/sdr-wid....
Go to http://www.qnktc.com/mod_ab1/ for more information. Contact
borge.strand@gmail.com to obtain a kit.

3) SDR-Widget Beta 2.0. This is the original fork of the project,
open-source HAM radio. The hardware supports both playback and
record. Contact george.boudreau@YoyodyneConsulti... for info
on how to obtain one. Visit
http://www.yoyodyneconsulting.ca...
for more information of pricing and availability.

For more information, go to http://code.google.com/p/sdr-wid...
and
https://groups.google.com/group/...
This announcement is cross-posted. Please join the mailing lists of
both SDR-Widget and Audio-Widget to continue the discussion there.

SDR-Widget is the original branch, where most of the firmware
discussions take place.

Feel like contributing? We'd always like to see more hands. There's
quite a few tasks planned:

- Firmware for Asynchronous UAC1 / Windows for 44.1 and 48ksps.

- Analog tweaks. Ideas are welcome for PSU, DAC, IVC, preamp etc.
Feel free to make suggestions, or even better, your own Analog
Board for the USB-I2S module.

- Windows open-source drivers for USB Audio Class 2.0. This
protocol is supported in Linux and OS X kernels, but not yet
in Windows.

- Adding more IO control to the firmware

Cheers,
Børge

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi

Sounds promising!

What are the differences with the USB audio class implementation from the ASF? (pros/cons)

USB Audio class Application note
www.atmel.com/dyn/resources/prod...
www.atmel.com/asf

-sma

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi,

The hottest thing it does is support asynchronous USB Audio Class 2 (UAC2) on Linux and OS X up to stereo 192ksps. On the surface, the current Windows version looks a lot like Atmel's solution.

With asynchronous USB, the DAC is the clock master. There are good XOs located close to the DAC.

We are currently working on asynchronous USB on UAC1 for Windows. And we're looking for voluntares who would like to have a look at UAC2 drivers for Windows. Such things exist, but only in the proprietary domain.

Cheers,
Børge

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The widget firmware also supports full duplex stereo capture and playback at 24bits. UAC2 works from 44.1 to 192khz, async with rate feedback. We also have UAC1 at 44.1/48khz 24 bit working. Async out tested under Linux but async out under Windows pending.

The audio examples in the ASF do not seem to have these features.

Alex

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi all,

Just an update:

1. We have several versions of the USB->DAC produced and sold as kits or as built and tested units. The latest analog board (for plugging in the USB-I2S module based in AT32UC3A3) being designed is AB-1.12, with PCM5102 DAC and footpriny for ES9012/9018. and S/PDIF out.

2. We have written an open source GPL'ed Windows uac2 ASIO driver.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

3. So now 192khz/32 bit async out with rate feedback audio platback is pissuble under Linux, OSX and Windows.

4. If you want to read more join the diyaudio digital source forum and the audio-widget google group.

Alex