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 15th December 2012, 09:17 PM   #2001
borges is offline borges  Norway
diyAudio Member
 
Join Date: Dec 2003
Location: Oslo, Norway
I'm a strong believer in no SRC in inline music. Rather trust the digital filter inside the DAC and hope the digital department talked to the analog department before the chip was taped out.

But for testing I need to run audio of my own choice at various sample rates and know that it's supposed to sound the same. The content is typically low in overtones. So no harmonicas, violins and saxophones. It's way easier to detect in Enya, flutes and 2nd movements of piano music. I go mad if I have to listen to pure sines for very long.

Demian, your observations match what most people have; very rare noise, if any. I just happen to take every observation of anything off the chart as a challenge :-)

BÝrge
  Reply With Quote
Old 15th December 2012, 09:31 PM   #2002
diyAudio Member
 
Join Date: Jul 2008
Location: santa clara, CA
enya or sine waves.

enya or sine waves.

(ponders)

I'll take sine waves. thanks.

(lol)
__________________
My Photostream:http://www.flickr.com/photos/linux-works/
  Reply With Quote
Old 15th December 2012, 09:34 PM   #2003
borges is offline borges  Norway
diyAudio Member
 
Join Date: Dec 2003
Location: Oslo, Norway
LOL!

Actually, I don't use the music I really love (mostly Bach) for test purposes. Testing is focusing on what is wrong, listening is focusing on what's beautifull.

BÝrge
  Reply With Quote
Old 15th December 2012, 09:40 PM   #2004
diyAudio Member
 
Join Date: Jul 2008
Location: santa clara, CA
I use some old tangerine dream for testing, when it comes to drop-outs or glitches or noise. some of their older albums were near sine-wave, anyway
__________________
My Photostream:http://www.flickr.com/photos/linux-works/
  Reply With Quote
Old 16th December 2012, 04:22 AM   #2005
qusp is offline qusp  Australia
diyAudio Member
 
qusp's Avatar
 
Join Date: Oct 2009
Location: Brisbane, Australia
Quote:
Originally Posted by linuxworks View Post
enya or sine waves.

enya or sine waves.

(ponders)

I'll take sine waves. thanks.

(lol)
i'm with you bud! I think I would rather listen to recordings of feral cat disembowelment
  Reply With Quote
Old 16th December 2012, 06:53 AM   #2006
1audio is online now 1audio  United States
diyAudio Member
 
Join Date: Mar 2004
Location: SF Bay Area
Blog Entries: 2
Quote:
Originally Posted by zumbik View Post
I have a headache ...
Is much better, but not perfect.



Summary:
AB1.2 works better with fw audio-widget-2012-11-08.elf for me.
I tested about 40 files in 192k. 90 percent of them is OK.
With fw awx_20121206.elf there is no change, there is often a metallic sound.

Later I'll check other files from Gimell records on linux and windows7. (different formats)

Cheers,
Zumbik
I'm getting similar results on 192 KHz. It doesn't look like the feedback is working for some reason. The momentary frequency isn't changing as it should. Its working normally on 88.2, 96 and 176. I have heard no obvious issues. It always shows the 7.17 feedback format. I'll dig deeper tomorrow.
__________________
Demian Martin
Product Design Services

Last edited by 1audio; 16th December 2012 at 06:55 AM. Reason: Trim excess stuff.
  Reply With Quote
Old 16th December 2012, 09:41 AM   #2007
borges is offline borges  Norway
diyAudio Member
 
Join Date: Dec 2003
Location: Oslo, Norway
Quote:
Originally Posted by 1audio View Post
I'm getting similar results on 192 KHz. It doesn't look like the feedback is working for some reason. The momentary frequency isn't changing as it should. Its working normally on 88.2, 96 and 176. I have heard no obvious issues. It always shows the 7.17 feedback format. I'll dig deeper tomorrow.
Daniel,

I'm hoping to put in a bit of coding time tonight. Please let me know what you observe vs. what you expect.

To get the feedback as good as possible it's necessary to understand the code on the computer side too and how the packet size is calculated. My question, which I hope to answer soon, is "What does it take in terms of feedback data to make the PC increase or decrease the packet size?"

BÝrge



Nikolay wrote me:

You may found how to calculate packets size in audiotask.cpp and .h files.

void AudioFeedbackTask::ProcessBuffer(ISOBuffer* nextXfer) - recieve feedback value and
int AudioDACTask::FillBuffer(ISOBuffer* nextXfer) - fill packets for sending to DAC

Then got this info from Daniel a couple days back. Haven't yet had the time to look at their code. Hope to ponder on this tonight.

https://git.kernel.org/?p=linux/kern...usb/endpoint.c

In particular, check the lower half of the function
snd_usb_handle_sync_urb() which is called when a feedback packet is
received. Apart from dealing with different format shifts, it sets
ep->freqm to the value in the packet.

This value is referred to in snd_usb_endpoint_next_packet_size() which
also keeps around the unused lower 16 bits for the next iteration of the
calculation to not loose precicion. The return value of this function is
then taken as the size of the next packet so be sent out.
  Reply With Quote
Old 16th December 2012, 07:36 PM   #2008
borges is offline borges  Norway
diyAudio Member
 
Join Date: Dec 2003
Location: Oslo, Norway
I've tried to read up on some USB documentation and I'm left with some questions about the nature of the feedback system. There are links to highly recommended reading below.

Question: could someone please explain the 16.16 feedback format used in our UAC2 firmware?

USB documentation specifies the feedback data from the DAC to be
1) Full-speed: 10.14 format describing number of samples per USB frame (1ms).
2) High-speed: 16.16 format describing the number of samples per USB microframe (=1/8 frame =125Ķs). (Actually, it's 12.13 format with 4 MSB '0's and 3 LSB '0's inserted)

("10.14" means a real number which is shifted up by 14 bits and then converted to 24-bit integer, using 14 LSBs to convey after-the-decimal-point fractional data.)

Example: 44.1ksps music uses 44.1 samples per 1ms frame = 5.5126 samples per 125Ķs microframe. Q: Am I right that the full-speed translation should be round(44.1*2^14)=722534, and that the high-speed translation should be round(44.1/8*2^16)=361267 ??

The Linux driver code (https://git.kernel.org/?p=linux/kern...usb/endpoint.c l:1073) does automatic up/down shifting to guess the feedback format. Nikolay's Windows ASIO code divides by 65536.0f in audiotask.h l:88.

The reason I'm asking is this: In audio-widget:uac2_usb_specific_request.c l:279 etc. FB_rate is set as samples per ms and shifted up 14 bits. That rimes perfectly well with the full-speed format. As does audio-widget:uac2_device_audio_task.c l:366 where 3 bytes are used to send the FB_rate variable as 10:14 data.

BUT: In line 409 for the High speed code there is no data shifting, so that samples/frame stored in .14 is sent as samples/microframe in .16. I'm wondering what I've misunderstood, because to divide by 8 (frame -> microframe) is a shift of >> 3, while a conversion from .14 to .16 is a shift by << 2. So I was kind of expecting the High speed code to do a > 1 of the internal FB_rate variable before sending it out as samples/microframe.

If I'm wrong, great, but please let me know where I err. This calculation probably has little to do with Linux 192ksps playback bugs because of its automatic format adaption. And 192 seems to be very stable in Windows with the explicit division by 2^16.

At present the feedback system adds 2^6 (FB_RATE_DELTA=64) to the internal FB_rate variable in .14 samples/frame format. The host obviously uses an integer number of samples per frame or microframe. I'm a bit worried that it some times takes the firmware too long to cause the the host's number of samples per frame/microframe to change. Once I've understood the above mechanisms better I'd like to have the firmware explicitly request +-1 samples added to the samples count. Such a take on things will be sample rate dependant.


I'm basing the above calculation on:
http://www.usb.org/developers/docs/usb_20_110512.zip Section 5.12.4.2 of usb_20.pdf
http://developer.apple.com/library/m...74/_index.html
http://www.usb.org/developers/devcla...o2.0_final.zip Section 3.16.2.2 of Audio20_final.pdf and Section 2.3.1.1 of Frmts20_final.pdf

BÝrge

Last edited by borges; 16th December 2012 at 07:39 PM.
  Reply With Quote
Old 17th December 2012, 06:33 PM   #2009
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 borges View Post
I'm mainly looking for an offline SRC which gives out .wav.
SoX - Sound eXchange | HomePage

SoX - Wikipedia, the free encyclopedia

http://sox.sourceforge.net/SoX/Resampling

Click the image to open in full size.
__________________
Quote:
"We should no more let numbers define audio quality than we would let chemical analysis be the arbiter of fine wines." N.P.

Last edited by UnixMan; 17th December 2012 at 06:35 PM.
  Reply With Quote
Old 17th December 2012, 06:50 PM   #2010
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 borges View Post
I'm a strong believer in no SRC in inline music. Rather trust the digital filter inside the DAC and hope the digital department talked to the analog department before the chip was taped out.
sorry, that's a big mistake. Silicon is expensive. No on-chip digital filter will ever come close to the sophisticated algorithms (and large memory footprint, extreme precision, etc) used by the best software SRC... (such as sox).
__________________
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 12:59 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