Generating 24-bit (or 32-bit) test tones
Mar 19, 2004 at 4:17 AM Thread Starter Post #1 of 16

aos

May one day solve the Mystery of the Whoosh
Joined
Jun 21, 2001
Posts
1,841
Likes
13
How would one go about this? I tried CoolEdit and Audacity, both for playback and just to generate files, as well as foobar to playback the 32-bit wav. What seems to happen is that if I feed this signal to external DAC and then back to Revolution 7.1 I get harmonics all over the place, which I believe are the result of nonperfect calculation (i.e. insufficient precision while calculating samples). If I feed 16 bit signal the output is very clear with only 2nd harmonic and a hint of third, while 32-bit signal has all the harmonics, odd and even, and they're pretty much similar in strength in whole audio range. Any thoughts on this?
 
Mar 19, 2004 at 4:52 AM Post #2 of 16
can you post a screen shot? Unless your DAC can handle 32 bit inputs (I don't know of any that do,) you don't gain anything by trying to use them. The AES standard can only support 24 bit anyway. What format is the data being sent to the DAC in?
 
Mar 19, 2004 at 5:04 AM Post #3 of 16
You can't depend on foobar to properly quantize the 32-bit values you're trying to play back. You should generate 24-bit tones inside CoolEdit/Audacity and then play those back.

It's not clear either that you should use Foobar as a vehicle for playing back the 24-bit data -- I'm not sure if anyone has ever measured the Foobar pipeline to see if it preserves 24-bit data correctly. The Foobar pipeline involves a floating point conversion and then a requantization. It has been measured as being bit-perfect for 16-bit data, but I don't know if anyone has done the same tests for 24-bit data. The main Foobar author (zzz) is on the record as saying that he doesn't believe that small quantization errors make any difference, but if you're trying to do measurements obviously this is not the philosophy you're looking for. If Audacity or CoolEdit supports ASIO, I'd probably just use those directly for playback.
 
Mar 19, 2004 at 5:40 AM Post #4 of 16
foobar preserves 64bit accuracy throughout, you just need to use 24bit padded to 32bit and ASIO output.. foobar is perfectly okay..

btw. if you wonder how to use ASIO for S/PDIF out, go to the ASIO setting dialog and set shift output by 8 channels, then you're targeting S/PDIF.. I'm pretty sure those harmonics are due to windows's inability to handle 32bit.. what method were you using? Kernel Streaming or something else?
 
Mar 19, 2004 at 6:00 AM Post #5 of 16
I am not trying to use 32 bits but that's the only format that Audacity supported. I'd imagine that Foobar would play 32-bit files as 24-bit. Cool Edit produced the file that suffered the same problem. So perhaps it's playback, and not the data.

I am not sure where would one find all those options - kernel streaming, ASIO settings and so on. I don't see them anywhere.
 
Mar 19, 2004 at 6:09 AM Post #6 of 16
Foobar converts all input to 64-bit floating point and then quantizes it to whatever you like on output, optionally applying dither. While this generally works out for 16-bit PCM, I'm not as convinced as Glassman (and have seen no evidence to believe) that there aren't rounding errors for 24-bit data.

You can set the output options in Foobar2000 -> Preferences -> Playback. Set "Output data format" to whatever you like, and deactivate dither. The "Output" panel selects between Wave/DirectSound/ASIO. You may need to download a plugin for ASIO support if it doesn't show up in the drop down box.
 
Mar 19, 2004 at 6:19 AM Post #7 of 16
Quote:

Originally posted by aos
I am not trying to use 32 bits but that's the only format that Audacity supported.


No way! Go to File->Preferences->File Formats->Uncompressed Export Format, select Other...enjoy.
biggrin.gif


If that doesn't work, go download the latest version!
biggrin.gif


edit: whoa, 3500th post!
eek.gif
 
HiBy Stay updated on HiBy at their facebook, website or email (icons below). Stay updated on HiBy at their sponsor profile on Head-Fi.
 
https://www.facebook.com/hibycom https://store.hiby.com/ service@hiby.com
Mar 19, 2004 at 7:05 AM Post #8 of 16
Yeah, I don't see ASIO in mine - but I didn't see the output resolution setting. Once I've set it to 24 bit, it seems to work.
 
Mar 19, 2004 at 7:26 AM Post #9 of 16
You're right, I can set file to be 24 bit, but the setting is not listed in the combo box- you have to select "other" and then 24 bit. I am now trying to remember whether I attempted this before or AFTER drinking that wine...
 
Mar 19, 2004 at 2:48 PM Post #10 of 16
I bet it was BEFORE and that the wine was just a consequence
very_evil_smiley.gif
 
Mar 19, 2004 at 9:11 PM Post #11 of 16
Nah, that was just a lame attempt at a joke. I only had a very small quantity of icewine that evening. I simply didn't see the option - I never used any of those programs before. I still don't know where ASIO is, couldn't find any plugin with such name on foobar.org website (I did find kernel streaming one but it doesn't work with Sonica, only with Revolution).
 
Mar 19, 2004 at 10:07 PM Post #12 of 16
Quote:

I still don't know where ASIO is


You need an ASIO driver for your sound card. It's a professional driver standard, so most sound cards don't have ASIO drivers.
 
Mar 19, 2004 at 11:23 PM Post #14 of 16
Revolution should have ASIO driver though. One of the settings in its control panel is the size of ASIO buffer, which would to me imply that it does have such drivers. Plus it's an M-Audio card. Does foobar2000 come with ASIO plugin or do you have to download it before it will show in output settings?
 

Users who are viewing this thread

Back
Top