Open-source USB interface: Audio Widget - Page 71 - 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 28th December 2011, 12:48 PM   #701
borges is offline borges  Norway
diyAudio Member
 
Join Date: Dec 2003
Location: Oslo, Norway
Have a look at the github part of the SDR Widget wiki. The text is a little messy, but all should be there.

Go back to '26 to be on the safe side...

BÝrge
  Reply With Quote
Old 28th December 2011, 02:00 PM   #702
diyAudio Member
 
Join Date: Apr 2011
This is the latest firmware:

audio-widget-nik-2011-12-28e.elf - sdr-widget - Unified firmware for audio-widget. Fixed 100ms funny noise when changing tracks or pause/resume in middle of song for uac2 only. uac1 fix not applied because of channel inversion issue. - Audio and Cont

For the source code, go to github and search for sdr-widget.

Alex
  Reply With Quote
Old 28th December 2011, 02:55 PM   #703
borges is offline borges  Norway
diyAudio Member
 
Join Date: Dec 2003
Location: Oslo, Norway
Thanks Alex,

Could you please point to your more or less successfull edits so that the new guys on the list can give it a go? Navigating a large code base can be somewhat intimidating...

BÝrge
  Reply With Quote
Old 28th December 2011, 03:20 PM   #704
diyAudio Member
 
Join Date: Apr 2011
It will be intimidating. There are no short cuts. You will need to read the 144 page UAC2 specs and the Atmel UC3A3 reference and many other documents.

To get a feel of the latest updates you need to know git or use the github browser interface to look at recent commits. Personally I use gitk to quickly navigate the commits.

New comer developers are welcome to make local branches to play with the code. When you are confident of your codes we can add you to the developer's list so that you can push updates to the code base.

Don't complain that the code is difficult to understand. It is sparsely documented and the comments are terse. It uses a real time operating system and is highly multithreaded. It is a team development and different parts are written by different people and it has evolved over time. Some of the code has been written in a particular way which is not elegant, but for performance reasons as we are nearing the processing power limit of the CPU.

I will try to answer questions as best as I can given my limited free time but don't expect any hand holding :-)

Alex
  Reply With Quote
Old 28th December 2011, 04:12 PM   #705
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
Just tried audio-widget-nik-2011-12-28e. No changes, problem persist exactly as before.

Quote:
Originally Posted by alexlee188 View Post
It will be intimidating. There are no short cuts. You will need to read the 144 page UAC2 specs and the Atmel UC3A3 reference and many other documents.
I was afraid about that...

BTW, I wonder: how is handled the buffer? do yo have two separate loops, one filling the buffer from the USB stream and the other "consuming" data from it and outputting to I2S?

Wouldn't it be possible to locally check for buffer underruns?

Without knowledge about all the details, I'd guess that what should be done is checking for buffer "fill level". If the buffer ever gets "empty", the loop reading data from the buffer to I2S should be stopped (and perhaps the rate feedback system should be "freezed" and put on hold too). It should not be restarted until the buffer gets half-full again.
__________________
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 28th December 2011, 04:16 PM   #706
1audio is online now 1audio  United States
diyAudio Member
 
Join Date: Mar 2004
Location: SF Bay Area
Blog Entries: 3
Quote:
Originally Posted by Frex View Post
Hello all,

Does anyone has made some serious measurements on the Audio widget USB interface ?
(FFT spectral analysis,bode plot and more...)

Frex
I made a bunch of measurements of the AB1.1 when it was first shipped. I'll redo them once the code has settled. The performance was essentially at the spec for the ESS chip. There was some noise getting to the oscillators that was visible in the Jtest plots. I want to get the latest stable code before I redo them and I want Borge to be OK with publishing them. I did post the changes I made to the board based on the measurements.

I'm not sure how you would made a Bode plot since the delay from the PC processing may not be fixed. However I can measure the phase as well as the frequency against an arbitrary reference.
__________________
Demian Martin
Product Design Services
  Reply With Quote
Old 29th December 2011, 07:06 AM   #707
Frex is offline Frex  France
diyAudio Member
 
Join Date: Nov 2009
Hi,

Thank you 1audio, i'm interested by the Audio Widget and i will probably buy one when i finish my current projects.
Yes, Bode plot could be difficult, but you can only easily get a frequency response graph with a sweep frequency using digital file.
Regards.

Frex
  Reply With Quote
Old 29th December 2011, 07:09 AM   #708
rsdio is offline rsdio  United States
diyAudio Member
 
Join Date: Feb 2008
Location: Seattle
Quote:
Originally Posted by alexlee188 View Post
So this explains:

1. Why "other" soundcards do not have this issue. 'Cos they are probably not async with rate feedback.
My home theater surround decoder does this whenever the digital input experiences a gap. For example, my HDTV tuner has a digital audio output that feed the surround decoder, and every time I change channels I get a modulated chirp.

I realize this isn't a sound card at all, but the whole clock versus digital audio bit stream is common among everything described.

Basically, the challenge is that the player must keep up a constant stream of audio samples, ramping to zero and continuing to stream silence when the source material is unavailable. That seems to be the only way for the output to continue without sudden frequency modulation due to sample rate variations.
  Reply With Quote
Old 29th December 2011, 09:18 AM   #709
diyAudio Member
 
Join Date: Apr 2011
Hi rsdio et al,

Thanks for the useful info :-)

I have uploaded the latest fix for the chirpy issue (before reading your post), basically using the same idea:

There is a "heart-beat" counter that beats when there is incoming USB data bound for the DAC. A watch-dog process checks that the heart-beat is ongoing. If it stops within a set time period (right now set to 5ms) the firmware assumes that the USB stream has suddenly stopped (without receiving a proper USB set alternate to zero command from the host driver to indicate proper USB streaming stop condition). So it zeros the audio buffer for the DAC to output silence.

Alex
  Reply With Quote
Old 29th December 2011, 09:40 AM   #710
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 alexlee188 View Post
I have uploaded the latest fix for the chirpy issue (before reading your post), basically using the same idea:

There is a "heart-beat" counter that beats when there is incoming USB data bound for the DAC. A watch-dog process [...]
makes sense. It seems more complex than it should be (really isn't it possible to simply check for buffer "fill level"? ), but I guess you know what you're doing...

Which version is this?
__________________
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

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 07:31 AM.


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