Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Upsampling output (Read 8878 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Upsampling output

I know this has been covered before, but can't locate a specific answer.

To make a long story short, I'm still using WinAMP v2.91 under Win98SE, with the normal waveOut plugin v2.0.2a with an M-Audio Audiophile 24/96 card.

Today out of curiosity, I located Peter's old v2.0.2a waveOut plugin with SSRC resampling, and was fiddling with some output sample rates/bit depths like 88.2/24 with triangular dithering, etc.  I can't hear any difference and don't think I would be able to ABX any differences between this and 44.1/16 with the standard plugin.

My question is -- are there any advantages that are even theoretical to upsampling and/or increasing bit depth, given my setup in the second paragraph above?  Or am I only wasting CPU cycles and getting an output slightly degraded by added dither? 

It seems obvious to me you can't create something that isn't there (frequency or dynamic range), so I don't think there could be either an audible or theoretical advantage.  Can anyone confirm or deny this observation?

TIA...

Upsampling output

Reply #1
You would get theoretically an advantage by using Foobar... it has 64bit decoding/processing capabilities (16bit for winamp).

If you use the soundcard to control the volume then 24 bit output/ASIO would allow for better output (you loose resolution bits when you turn down your volume digitally so for any given attenuation it would be 24-x instead of 16-x).

Upsampling to 88.2 is very-very questionable...  I'll try to ABX that one

Upsampling output

Reply #2
Thanks... I've been thinking seriously about switching to Foobar (enough clinging to WinAMP, only the MilkDrop vis plugin is worth it) provided Peter will still be supporting Win9x awhile longer -- I'm remaining stubborn in the latter case  .

Not using the soundcard to control volume, so I guess that one is out the window.  Upsampling to 88.2 sounds doubtful to me as well, although I thought it was similar to what some CD players do with "2x oversampling" and such...

Upsampling output

Reply #3
Trying to ABX upsampled file to 88.2 (original file is taken from http://www.ff123.net/samples.html)

WinABX v0.42 test report
11/12/2003 11:43:55

A file: C:\Temp\88_2_mustang.wav
B file: C:\Temp\mustang.wav

Start position 00:00.0, end position 00:05.1
11:44:27    1/1  p=50.0%
11:44:42    2/2  p=25.0%
11:44:58    3/3  p=12.5%
11:45:18    3/4  p=31.2%
11:45:40    3/5  p=50.0%
11:45:46    4/6  p=34.4%
11:46:29    5/7  p=22.7%
11:46:36    6/8  p=14.5%
11:46:44    7/9  p=9.0%
11:46:56  8/10  p=5.5%
11:47:28  9/11  p=3.3%
11:48:37  9/12  p=7.3%
11:49:07  9/13  p=13.3%
11:49:10  test finished

9/11 is the closest I got... Any Idea how to avoid 'ABX listening fatigue'???

edit: result is not statisticly valid...
edit2: oh, before someone asks, the 88.2 sounds more 'airy & spacious'

Upsampling output

Reply #4
There is no way you can add anything significant to the signal, if it isn't there already. Resampling itself is always a lossy process, even a simple interpolation.

Usually interpolation with integer multiple of n is done as such: add n zeroes after each sample. This creates high frequency noise, so the output signal has to be lowpassed to the source material's Nyquist frequency.

By using the native sample rate of the source material you avoid some totally unnecessary calculation and thus will (at least theoretically) obtain better results. Poor drivers and poor hardware are a completely different issue altogether, in these cases software resampling could improve matters.

Edit:

Oh yeah, and CD players' oversampling is not done to improve the quality of the signal presented in the CD. It's a noise-shaping technique to compensate for the substandard DAC's used in the players.

Upsampling output

Reply #5
Quote
By using the native sample rate of the source material you avoid some totally unnecessary calculation and thus will (at least theoretically) obtain better results. Poor drivers and poor hardware are a completely different issue altogether, in these cases software resampling could improve matters.

Yeah, I guess the real question is what's going on with the Audiophile 24/96 when a 24-bit signal is sent to the DAC (vs. 16 bits), or 96KHz vs. 44.1 KHz... whatever.

It's not a resampling card (AFAIK), but there could be differences... probably small enough not to be worth the trouble.

Upsampling output

Reply #6
Quote
Poor drivers and poor hardware are a completely different issue altogether, in these cases software resampling could improve matters.

Exactly my point... I wouldn't call the M-Audio cards 'poor hardware' but it seems that (IMO) resampling 'helps' in my case. OK, total bull, but I like to listen that way.

Upsampling output

Reply #7
Quote
Yeah, I guess the real question is what's going on with the Audiophile 24/96 when a 24-bit signal is sent to the DAC (vs. 16 bits), or 96KHz vs. 44.1 KHz... whatever.


Yes. If you recoded the analog signal in 24/96, then 24/96 is it's native resolution and it should be played back as so, again in order to avoid unnecessary resampling.

But sincerely, I don't believe that the difference between 24/96 and properly resampled/dithered 16/44.1 can be ABX'd.

However, when decoding lossy audio formats, using 24-bit resolution does some good, although it may not be audible. Using 24-bit output for compressed signals could avoid some quantization issues present in 16-bit playback depth. Not to mention that you don't need to dither when using 24-bit output.

Upsampling output

Reply #8
Quote
Quote

Yeah, I guess the real question is what's going on with the Audiophile 24/96 when a 24-bit signal is sent to the DAC (vs. 16 bits), or 96KHz vs. 44.1 KHz... whatever.


Yes. If you recoded the analog signal in 24/96, then 24/96 is it's native resolution and it should be played back as so, again in order to avoid unnecessary resampling.

But sincerely, I don't believe that the difference between 24/96 and properly resampled/dithered 16/44.1 can be ABX'd.

However, when decoding lossy audio formats, using 24-bit resolution does some good, although it may not be audible. Using 24-bit output for compressed signals could avoid some quantization issues present in 16-bit playback depth. Not to mention that you don't need to dither when using 24-bit output.

I'd thought of that possibility (native resolution of the card) -- unfortunately (at least with this plugin) it eats 40% CPU time on an Athlon 1.2 doing the resampling to 96KHz in realtime (half of that for 88.2KHz)... not worth it.  Will think about just using 24 bit output at 44.1KHz then, with dither off (unless/until I switch to Foobar2k, anyway... who knows then).

Edit -- unless this waveOut SSRC plugin "resamples" anyway when set to 44.1KHz... didn't think of that...    I'd assume it wouldn't, but don't know for sure...

Upsampling output

Reply #9
My views on the issue:

- The only improvements upsampling could bring on a non-resampling card, are 1) a slight improvement of high frequency response, and 2) the better rejection of sampling images over fs/2 (22.050 KHz), both due to the sharper brickwall reconstruction filter of software upsampling (at SSRC). On the 1) frequency response issue, we would be talking about figures around 0.1 dB at 20 KHz, in case of the Audiophile. On the 2) images issue, this could have some importance only at frequencies over 21 KHz or so.

- Nowadays, all modern DACs (including Audiophile's) use sigma delta conversion, which means that all they use oversampling + noiseshaping internally.

- Digital attenuation in the Audiophile control panel is always done using 36-bit resolution internally, and 24-bit externally (at the DAC), no matter what word size (16, 24 bit) you feed the card with. So, this should have no detrimental efefct at all.

- SSRC winamp plugin works internally at 32-bit and 64-bit floating point (such as all SSRC-based code does), and then dithers to 16 or 24-bit, too, so this should not make a difference compared with foobar2000. Edit: except that 16-bit dithering in this plugin doesn't work as well as in last version of foobar2000, due to not enough dither amplitude.

Upsampling output

Reply #10
Quote
Edit -- unless this waveOut SSRC plugin "resamples" anyway when set to 44.1KHz... didn't think of that...    I'd assume it wouldn't, but don't know for sure...

No, it doesn't.

Upsampling output

Reply #11
Quote
9/11 is the closest I got... Any Idea how to avoid 'ABX listening fatigue'???

Rest. 

Quote
edit: result is not statisticly valid...


I'm not so sure about that, it could be significant due to the p=3.3% reached during the test on just 11 trials. You could try again and see if you reach again a similar p-value, if you do, stop at there. If so, I think it will prove without much doubt you heard a true difference.

However, it's possible that your card doesn't behave equally when working at 44.1 KHz or at 88.2 KHz (slightly different output level for example). This should be checked. Also, in some cards (Audiophile for example), when you switch sample rate during a test, an audible glitch happens at the beginning of the next sample.  This could give you a clue about what sample you were listening to.

Upsampling output

Reply #12
Couldn't RMAA tests be performed on this? Like ...

Test signal -> test Soundcard's analog output -> reference soundcard analog input -> Resulting signal.

vs.

Test signal -> fb2k resampling -> test Soundcard's analog output -> reference soundcard analog input -> Resulting signal.

Now analyse both with RMAA and see what gives better numbers (and where the differences are). If someone wants to suggest this at RMAA forum, I guess someone with a "reference soundcard" (e.g. Lynx 2) would be interested there (and hopefully perform it).
Let's suppose that rain washes out a picnic. Who is feeling negative? The rain? Or YOU? What's causing the negative feeling? The rain or your reaction? - Anthony De Mello

Upsampling output

Reply #13
Quote
Quote
Edit -- unless this waveOut SSRC plugin "resamples" anyway when set to 44.1KHz... didn't think of that...    I'd assume it wouldn't, but don't know for sure...

No, it doesn't.

Great... 44,100/24 will do it then.  Looks like this thread was worth starting anyway, if 24 bit output can make a difference.

I'm still considering Foobar (in fact I d/l and tried it for the first time in awhile, it's really come a great distance since earlier versions).  The only thing I would really miss would be the fullscreen MilkDrop visualization (very relaxing and enjoyable), although I guess there's no reason to remove WinAMP completely if I switched.

Upsampling output

Reply #14
I've moved the p-value related posts here
Let's suppose that rain washes out a picnic. Who is feeling negative? The rain? Or YOU? What's causing the negative feeling? The rain or your reaction? - Anthony De Mello