Open-source USB interface: Audio Widget - Page 74 - 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 30th December 2011, 12:59 AM   #731
diyAudio Member
 
Join Date: Apr 2011
Hi rsdio,

I don't know whether it is a specific requirement that is written somewhere. Will have to do some research when I'm free :-)

ISOCHRONOUS reserves the bandwidth (and often quite a large chunk) and when the app wants to starting sending, it dutifully set alternate to 1 (or whichever alternative interface number to be used) before sending data. I would expect a well behaved app to set alternate back to 0 after finishing the sending of data instead of hogging the bandwidth :-)

Anyway it is a moot point as UnixMan has demonstrated that he can trick the app as well, by manually pausing the application half way through a unix signal to the app and the app doesn't (have time to) do any cleanup before stopping. And an app can hang halfway too from bugs.

The unannounced stop sending data issue has been fixed more or less by the watch dog process.

My present thinking is that I should enhance the watch dog by monitoring the approximate incoming USB data rate and compute the likely audio sample rate that the host is sending. When a sudden change is detected, the watch dog will switch the audio-widget sampling rate to match. (This is a big jump switch, as in changing from 44.1 to 176.4 etc., instead of the minute rate feedback throttle changes.)

Alternatively, I can take a look at mpd source code and fix mpd :-) (But it will not help Windows users.)

Alex
  Reply With Quote
Old 30th December 2011, 01:41 AM   #732
rsdio is offline rsdio  United States
diyAudio Member
 
Join Date: Feb 2008
Location: Seattle
Quote:
Originally Posted by alexlee188 View Post
ISOCHRONOUS reserves the bandwidth (and often quite a large chunk) and when the app wants to starting sending, it dutifully set alternate to 1 (or whichever alternative interface number to be used) before sending data.
Exactly. This stems from the requirement that the 'default' Interface must have 0-byte packet sizes for all isochronous endpoints (or no iso endpoints at all). Thus, no bandwidth is allocated for a Device just because it is plugged in to the USB connector. Only when an application requests the alternate interface does the USB Host allocate bandwidth (or deny the change if insufficient bandwidth is available).

As a side note, this is distinctly different from how Bulk bandwidth is handled, in that there is never a guarantee for Bulk bandwidth - only the ability to utilize the leftover bandwidth so long as it is available.

Quote:
I would expect a well behaved app to set alternate back to 0 after finishing the sending of data instead of hogging the bandwidth :-)
Unix and similar operating systems have the ability to free application resources when a process is destroyed, even if the application does not manually free these resources. What I am curious about is whether a system like Mac OS X treats USB state as a resource to be corrected when an application is killed or otherwise dies. Since the isochronous bandwidth is so well defined, even for non-Audio Class Devices, it at least seems feasible for the operating system to handle setting things back to normal. Maybe I'll ask on the Apple USB Mailing List about whether this is something they do, and/or whether they think it would be a good idea to implement if they haven't already.

Quote:
Anyway it is a moot point as UnixMan has demonstrated that he can trick the app as well, by manually pausing the application half way through a unix signal to the app and the app doesn't (have time to) do any cleanup before stopping. And an app can hang halfway too from bugs.
Well, at least my software is written to hook all Unix signals so that the proper thing happens. It's at least possible to write a program that would respond to the Unix signal correctly. Then again, I think it might be reasonable for a software developer to expect that no normal user would ever use Unix signals to pause their audio, and thus they might simply response by saying that their application does not support Unix signaling at all.

If I were to implement a software player, I would continue a steady stream of audio samples during pause, but they would ramp to zero (silence) smoothly. Then, when Pause mode is terminated, the audio buffers would ramp back up from silence until the full audio is resumed. Under no circumstances would I expect to write an application which could continue to provide appropriate audio samples which the process is completely paused, because I believe that technically means that the process gets no CPU, doesn't it?
  Reply With Quote
Old 30th December 2011, 08:21 AM   #733
starn02 is offline starn02  Italy
diyAudio Member
 
Join Date: Jul 2005
Location: Italy
Default Standalone usage of USB CPU board

Is it possible to use the USB CPU board in standalone mode?
Can I connect it to the USB and will it work ?
What I see is that the power supply regulation is on board, and there's also a 12 Mhz clock. Of course the board will do nothing in this way, but can be a start to connect a different DAC ...
  Reply With Quote
Old 30th December 2011, 12:30 PM   #734
johnm is offline johnm  United Kingdom
diyAudio Member
 
johnm's Avatar
 
Join Date: Sep 2003
Location: Hampshire
Just received my Audio Widget USB DAC - MANY thanks for the fast postage BÝrge - much appreciated indeed!

Looking forward to connecting it up to my 2009 Mac mini shortly, and trying it out with some high-res files via Audirvana & also Bitperfect for iTunes

I won't be able to help out on the coding side alas, but I'll definitely look into the PSU and the analogue outputs once I've gotten a handle on its sound quality as it is now.

- John
  Reply With Quote
Old 30th December 2011, 03:55 PM   #735
borges is offline borges  Norway
diyAudio Member
 
Join Date: Dec 2003
Location: Oslo, Norway
Yes, you can use the board stand-alone. But you need to patch VBUS out to +5V in. The code will be a little confused when it isn't receiving any audio MCLK. I can't really tell you how much will work.

For use with another DAC you will need to provide both clocks (or change enumeration for the one you do provide) at 44.1*256 / 48*256.

BÝrge

Quote:
Originally Posted by starn02 View Post
Is it possible to use the USB CPU board in standalone mode?
Can I connect it to the USB and will it work ?
What I see is that the power supply regulation is on board, and there's also a 12 Mhz clock. Of course the board will do nothing in this way, but can be a start to connect a different DAC ...
  Reply With Quote
Old 30th December 2011, 08:56 PM   #736
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 Onvinyl View Post
The installer claims it might be a path issue, but gives no info how and where to add which path variable.
sorry, don't know where to set it in windows. Try google.

Quote:
Originally Posted by Onvinyl View Post
Here is a corresponding https://bugs.gentoo.org/show_bug.cgi?id=330683bugtracker info
looks like a problem with older versions, though. In Debian Wheezy I have Python 2.7, wx* 2.8 and pythoncard 0.8.
__________________
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 30th December 2011, 09:29 PM   #737
johnm is offline johnm  United Kingdom
diyAudio Member
 
johnm's Avatar
 
Join Date: Sep 2003
Location: Hampshire
Installation of the widget went 100% smoothly with the Mac mini (running Lion OS). Just had to select it in the sound preferences window, plus the Audio/MIDI setup screen, and Bitperfect (audio playback software which allows one to use iTunes but with a much better/purer audio engine).

Works very smoothly indeed with all sample rates I could throw at it. No glitches, except occasionally a small burst of noise when going from one sample rate to another (i.e. playback on random, so a selection of differing sample rates).

The most pleasant surprise has been the sound quality (which hardly anyone seems to mention here...!) - I have to say for the price I wasn't expecting anything too fantastic at all, but it's seriously really REALLY good indeed! Terrific detail, a thunderous bass (when called for). Clean and very clear. Great lightning quick dynamics. Very neutral indeed, without being bland. You could easily stick this into a fancy CNC machined chassis and charge £1000! I look forward to seeing if I can squeeze any extra performance out of it by building an external PSU when I get around to it.

My only minor gripe was when I tried to use it with Windows7 it wasn't recognised, and installing the driver didn't seem to help either. I obviously need to take a very close look at the various setup guides for Windows use. However as I'll be using the Mac most of the time it's absolutely a joy to setup.

Very nice work indeed guys - this wins my personal favourite audio product of the year award !

- John

Last edited by johnm; 30th December 2011 at 09:31 PM.
  Reply With Quote
Old 30th December 2011, 11:02 PM   #738
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
El.Cap., again. Quick question. I've seen that there are Elna Silmic II @6.3V which may even fit in the proper places on the AB1.1 PCB (IIRC for values up to 220uF). Prices are also quite acceptable:

Elna Electrolytic Capacitors RFS Series

is there any reason why not to use them? Otherwise, I'm gonna try some... perhaps up to 1000uF, somewhere.
__________________
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 30th December 2011, 11:36 PM   #739
diyAudio Member
 
Join Date: Apr 2011
Thanks John for the nice report. Indeed you will get the best SQ playing the audio-widget under OSX or Linux as uac2 is natively supported and is accorded the appropriate (ie very high) CPU and interrupt priorities.

We have tested experimental uac2 drivers under Windows and SQ is better than uac1 when playing high sample material. However, somehow the SQ is dependent on which player software we used and is just not as good as Linux playback using mpd (with auto resampling turned off). Remember that without uac2 driver (3rd party. We don't have any), u must set audio-widget to uac1_audio. Otherwise it will blue screen WinXP and not work under W7.

Wei, Demian and others have posted their analog mods. You might like to read them and then decide on your own mod. Let us know how they influence the SQ :-)

Alex
  Reply With Quote
Old 31st December 2011, 04:41 AM   #740
borges is offline borges  Norway
diyAudio Member
 
Join Date: Dec 2003
Location: Oslo, Norway
Go nuts! And tell us how it influences the sound.

BÝrge

Quote:
Originally Posted by UnixMan View Post
El.Cap., again. Quick question. I've seen that there are Elna Silmic II @6.3V which may even fit in the proper places on the AB1.1 PCB (IIRC for values up to 220uF). Prices are also quite acceptable:

Elna Electrolytic Capacitors RFS Series

is there any reason why not to use them? Otherwise, I'm gonna try some... perhaps up to 1000uF, somewhere.
  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:24 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