My soundcard is an SB Audigy 2 ZS. Anybody familiar with this card know that it doesn't play back 44,1kHz material natively, it has to resample it to 48khz. Now, this wouldn't be a problem if the Audigy's resampling would be of high quality, but it isn't. HQ software resampling to 48khz results in much better results.
I'm currently using foobar2000 for playback. I'm using ASIO for output to ensure that the Audigy doesn't in any case do resampling of its own. For resampling I'm using the secret rabbit code resampler with best sinc interpolator. I believe this is the best resampler for foobar2000. For ASIO output my Audigy supports 16/48 and 24/96. Outputs like 16/96 and 24/48 don't work with ASIO AFAIK, don't know about directsound but I would rather stay away from that...
But my point with this thread is this; if I want to play back for example a 16-bit 44,1kHz 320kbps MP3, should I resample it to 16/48 or 24/96? Common sense would say that 16/48 would be the natural solution, but I read somewhere (can't remember where) that 24-bit output of MP3 is more accurate than 16-bit. This doesn't make any sense to me now, but I think it was something about 16-bit input not being the same as 16-bit output?
While testing both these solutions I think that 24/96 sounded better, but I think this could be because of placebo since my current headphones (Sennheiser HD 201) are not quite hi-fi. I'm planning to buy much more HQ headphones (recommendations?) so I would like to know in advance what output should be better.
Any input is appreciated.
...if I want to play back for example a 16-bit 44,1kHz 320kbps MP3, should I resample it to 16/48 or 24/96?... While testing both these solutions I think that 24/96 sounded better...
If 24/96 sounds better to you (or with this particular soundcard),
there is no harm in using it! Since you are resampling in real-time during playback, the higher resolution doesn't affect file size, and since the resampling is done by the soundcard (I think), it doesn't put any additional "load" on your CPU.
...I read somewhere (can't remember where) that 24-bit output of MP3 is more accurate than 16-bit.
1- The general consensus is, there is no benefit to using more than 16 bits*. (Maybe some people can hear the difference, but AFAIK, it's never been scientifically proven.) 2-The original source was probably 16-bits before it was MP3 encoded.
This doesn't make any sense to me now, but I think it was something about 16-bit input not being the same as 16-bit output?
Hmmm... 16-bits in and 16-bits out should be digitally identical.... The only thing I can think of is if you
digitally reduce the gain (i.e. with Replay Gain) then you can "loose" bits. For example, if you reduce the gain by 6dB you only have 15-bits of resolution (assuming you're starting with 16-bits).
* This applies to
playback of normalized files. There
are benefits to
recording at 24 bits... You need headroom for things like unexpected transients, mixing, filtering, etc.
If 24/96 sounds better to you (or with this particular soundcard), there is no harm in using it! Since you are resampling in real-time during playback, the higher resolution doesn't affect file size, and since the resampling is done by the soundcard (I think), it doesn't put any additional "load" on your CPU.
The resampling is done in software with the secret rabbit code resampler using "best sinc interpolator". The reason I am doing any of this in the first place is because my Audigy's HW resampling isn't any good... Now I'm just thinking if I should go for 16/48 or 24/96.
I think 16/48 should be the obvious solution, but why do I think that 24/96 sounds better? Is it just placebo?
I have the same sound card and experienced the same dilemma. I decided eventually to go with 24 bit/96 kHz to avoid downsampling of some DVD-Audio music. Even if there is no clear difference, there's probably a psychological part to it. I couldn't hear any negative impact when 16 bit/44.1 kHz was played, and both modes of resampling passed the udial.wav test, which should be available by search. Just make sure foobar2000's resampling isn't consuming all your CPU juice .
Good to know that I'm not the only one in this sticky situation!
Just make sure foobar2000's resampling isn't consuming all your CPU juice .
No worry, foobar2000 uses only 17% of cpu if I resample to 96kHz. Old P4 3.2E GHz still going strong.
If 24/96 sounds better to you (or with this particular soundcard), there is no harm in using it! Since you are resampling in real-time during playback, the higher resolution doesn't affect file size, and since the resampling is done by the soundcard (I think), it doesn't put any additional "load" on your CPU.
The resampling is done in software with the secret rabbit code resampler using "best sinc interpolator". The reason I am doing any of this in the first place is because my Audigy's HW resampling isn't any good... Now I'm just thinking if I should go for 16/48 or 24/96.
I think 16/48 should be the obvious solution, but why do I think that 24/96 sounds better? Is it just placebo?
The 96kHz is the only sample rate you get a straight frequency response out from Audigy 1/2/4 (excl. 4 Pro) cards (in range 20Hz-20kHz). The difference between 96kHz and 44.1/48kHz is big enough you can hear it.
As MP3 supports 48kHz, you could try if the quality gets better by using this samplerate + ASIO (16/48).
As the Foobar uses plug-in technology for to adopt features like SRC and ASIO, have you tried some playback software that supports both natively? Native Instruments BeatPort SYNC is one player you could try - http://www.native-instruments.com/index.php?id=beatportsync (http://www.native-instruments.com/index.php?id=beatportsync)
Juha
The 96kHz is the only sample rate you get a straight frequency response out from Audigy 1/2/4 (excl. 4 Pro) cards (in range 20Hz-20kHz). The difference between 96kHz and 44.1/48kHz is big enough you can hear it.
As MP3 supports 48kHz, you could try if the quality gets better by using this samplerate + ASIO (16/48).
As the Foobar uses plug-in technology for to adopt features like SRC and ASIO, have you tried some playback software that supports both natively? Native Instruments BeatPort SYNC is one player you could try - http://www.native-instruments.com/index.php?id=beatportsync (http://www.native-instruments.com/index.php?id=beatportsync)
Juha
Isn't it also possible to get 24/192 stereo playback with an Audigy 2 ZS? But I think it has to be through directsound since 24/96 is max in ASIO... But anyway, I don't have any 24/192 material so I have no use of this and upsampling MP3s to 24/192 would be overkill I think. I don't believe my poor P4 would be able to handle that either.
Am I correct in that the Audigy uses another DAC for 24/96 and 24/192 input? Maybe that's the reason that 24/96 sounds better than 16/48 if the 24/96 DAC is more high quality than the 16/48 DAC. I hope this DAC doesn't resample to 192kHz from 96kHz, though...
Also, on the head-fi forums, some guy said that "waveforms in 16 bit/44.1 kHz are easier to replicate in a 24 bit/96 or 192 kHz than in a 16 bit/48 kHz raster.", but he didn't explain why so I don't know how reliable this piece of info is.
As for the playback software that you recommended, I'll try it out tomorrow, but so far I'm happy with foobar2k+components.
BTW, I just purchased Sennheiser HD 595 headphones. I should receive them tomorrow. I think I'll be able to tell the difference better with these headphones than with my current HD 201s.
Isn't it also possible to get 24/192 stereo playback with an Audigy 2 ZS? But I think it has to be through directsound since 24/96 is max in ASIO...
Yes, it is possible. And no, it doesn't have to go through direcsound. I've played it using Kernel Streaming
Am I correct in that the Audigy uses another DAC for 24/96 and 24/192 input?
No, you're not correct. It's the same 'p16v' chip that natively handles 24/96, 24/48, 24/44.1 and 24/192 formats. Although, 24/44.1 won't work in my Audigy 2 ZS (SB0350).
Hmmm... 16-bits in and 16-bits out should be digitally identical....
Not with an mp3.
kutjong, you heard right - it is theoretically better to decode mp3s to 24-bits (if you have a 24-bit sound card). It saves an extra level of rounding or dither at 16-bits on the output. The difference is only audible with extreme test samples, but it can't hurt (as long as it works correctly).
Cheers,
David.
While OP mentioned Secret Rabbit Code... I downloaded foo_dsp_src9.dll (v1.03) and SRCdrop V0.6 (based on libsamplerate 0.1.3). It seems that quality of foobar plugin is inferior to SRCdrop. What version of libsamplerate this plugin uses?
Yes, it is possible. And no, it doesn't have to go through direcsound. I've played it using Kernel Streaming
Okay, good to know! But I'm afraid that 192kHz resampling is way too much for my old P4.
kutjong, you heard right - it is theoretically better to decode mp3s to 24-bits (if you have a 24-bit sound card). It saves an extra level of rounding or dither at 16-bits on the output. The difference is only audible with extreme test samples, but it can't hurt (as long as it works correctly).
Cheers,
David.
Exactly what I thought.
While OP mentioned Secret Rabbit Code... I downloaded foo_dsp_src9.dll (v1.03) and SRCdrop V0.6 (based on libsamplerate 0.1.3). It seems that quality of foobar plugin is inferior to SRCdrop. What version of libsamplerate this plugin uses?
It does seem that foo_dsp_src9.dll is quite old... Winrar says that the package was last modified on 5.6.2006 so it has to be either version 0.1.2 or older since 0.1.2 was released in 2004 and 0.1.3 recently some months ago... It just seems that the author hasn't bothered to update the foobar plugin to use 0.1.3 yet. I hope he'll do it in the future because the change from 0.1.2 to 0.1.3 seems very worthwhile. And I suppose this is the only plugin for foobar that uses SRC?
Out of curiosity I emailed the author of SRC and asked if he was going to update the plugin and this was his reply:
Thanks for the interest in the foobar plugin.
Basically, the situation is this:
- I don't use windows, nor do i use foobar.
- Making that plugin took up many hours of my time.
- I am a highly paid professional software engineer and I value my
time even more highly than my employer.
- I have so far received 8 payments of $10 for this plugin.
- $80 does not come anywhere near paying me for the time I have
already spent on this.
Unless I get a whole bunch of donations, I don't see much chance of
a new foobar plugin happening. Furthermore, noone else can legally
do a plugin either because I own the copyright to the Secret Rabbit
Code resampler and its license is not compatible with the foobar
itself.
Regards,
Erik
So anybody want to gather up for donations?
Some people wrote that minimum phase (http://www.google.com/custom?domains=hydrogenaudio.org&q=minimum+phase&sa=Google+Search&sitesearch=hydrogenaudio.org&client=pub-4544327213918729&forid=1&channel=7051718642&ie=ISO-8859-1&oe=ISO-8859-1&flav=0000&sig=6_g3ghDcS6bRpfcd&cof=GALT%3A%23008000%3BGL%3A1%3BDIV%3A%23336699%3BVLC%3A663399%3BAH%3Acenter%3BBGC%3AFFFFFF%3BLBGC%3AFFFFFF%3BALC%3A0000FF%3BLC%3A0000FF%3BT%3A000000%3BGFNT%3A0000FF%3BGIMP%3A0000FF%3BLH%3A50%3BLW%3A262%3BL%3Ahttp%3A%2F%2Fwww.hydrogenaudio.org%2Fforums%2Flogo50.png%3BS%3Ahttp%3A%2F%2Fwww.hydrogenaudio.org%3BFORID%3A1&hl=en) filters are better than linear phase (SRC, SSRC, PPHS... are linear phase) I wonder is there any available minimum phase resamplers for fb2k. It seems there isn't.
@kutjong
I did some tests of resample plugins available for foobar some time ago. If you are interested, you can take a look here. (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=56635&view=findpost&p=508935)
Some people wrote that minimum phase (http://www.google.com/custom?domains=hydrogenaudio.org&q=minimum+phase&sa=Google+Search&sitesearch=hydrogenaudio.org&client=pub-4544327213918729&forid=1&channel=7051718642&ie=ISO-8859-1&oe=ISO-8859-1&flav=0000&sig=6_g3ghDcS6bRpfcd&cof=GALT%3A%23008000%3BGL%3A1%3BDIV%3A%23336699%3BVLC%3A663399%3BAH%3Acenter%3BBGC%3AFFFFFF%3BLBGC%3AFFFFFF%3BALC%3A0000FF%3BLC%3A0000FF%3BT%3A000000%3BGFNT%3A0000FF%3BGIMP%3A0000FF%3BLH%3A50%3BLW%3A262%3BL%3Ahttp%3A%2F%2Fwww.hydrogenaudio.org%2Fforums%2Flogo50.png%3BS%3Ahttp%3A%2F%2Fwww.hydrogenaudio.org%3BFORID%3A1&hl=en) filters are better than linear phase (SRC, SSRC, PPHS... are linear phase) I wonder is there any available minimum phase resamplers for fb2k. It seems there isn't.
I think linear phase resampling is the current de facto standard in software resampling, it's also very mature.
I hope the author of SRC would update the plugin since experimenting with SRCdrop (which uses 0.1.3) I found its resampling to be improved over 0.1.2 (placebo anybody? ) as 0.1.3's resampling should be significantly better, according to changelist.
I hope the author of SRC would update the plugin since experimenting with SRCdrop (which uses 0.1.3) I found its resampling to be improved over 0.1.2 (placebo anybody? ) as 0.1.3's resampling should be significantly better, according to changelist.
I doubt it. By the way, r8brain has freely available dll that any can use in their products. Anybody want to create foo_dsp_r8b.dll?
I doubt it. By the way, r8brain has freely available dll that any can use in their products. Anybody want to create foo_dsp_r8b.dll?
I found a nice website (http://src.infinitewave.ca/) that has SRC comparison and luckily, SRC 0.1.3 is included and performs
really good. r8brain minimum phase is also included and it does seem to perform a little better than SRC, especially in "passband" and "transition".
I also software resample to 48kHz, 24bit in Foobar to overcome limitations in my soundcard. (See BTW)
Currently I just use the PPHS resampler that came with foobar (v0.9.3.1). Previously with foobar v0.8xxx I used to use the SSRC resampler. I've noticed that you can now download an SSRC resampler for foobar V0.9xx here (http://otachan.com/foo_dsp_ssrc.html).
Which resamlper do people recommend for realtime (playback in foobar) resampling from 44100 to 48000Hz?
Thanks for any tips.
BTW this has nothing to do with the actual fundamental limitations of 44100 or 16 bit, it's just something that sux in my soundcard implementation. I've done RMAA loopback tests and it just doesn't perform very well (in terms intermodulation distortion) unless I use 48000+ and 24+ bit.
All right, I think I've reached conclusion on getting the best audio playback on Audigy 2 ZS. First of all, 16/44,1 and 16/48 should be avoided; these pass through the DSP and will get resampled (even 48khz source) to be in sync with the chip's oscillator. So what is the best solution, then? As most Audigy 2 owners know (or not) the card has a P16V chip, that handles 24/96. So what we want to do is pass the audio stream directly to this chip. From what I know this chip works best with 24/96 (it was designed for it, I think) so the optimal solution is to playback @ 24-bit and resample to 96kHz. I'm not sure how 24/192 works on the Audigy 2, my guess would be that it's resampled to 24/96...
As for resampling to 24/96, it seems that the best software resampler is the r8brain Pro which has minimum-phase resampling. The downsides of this software are:
- It's not free
- It's not available as an on-the-fly converting plugin, instead it resamples wav files
The best
free resampling software seems to be Secret Rabbit Code 0.1.3 which is a linear-phase resampler. Sadly this version isn't used in the fb2k plugin as posted before, and it seems that 0.1.3 is used only by SRCdrop 0.6 which works the same way as r8brain.
So if you want best playback with CD-DA as source for example, it seems that this procedure would be the best:
- Rip audio to 16/44,1 PCM wav
- Resample to 24/96 using either r8brain Pro or SRC 0.1.3
- Encode to either FLAC or Monkey's Audio or keep as wav
- Play back through either 24/96 ASIO or kernel streaming to avoid the DSP ruining the game
As for MP3, it's limited to 48kHz as max (in file itself). So if you use CD-DA as source your best bet would be to encode to 48kHz and play back with 24-bit precision or encode to 44,1kHz and resample using a on-the-fly plugin to 96kHz. I don't know which one will sound better, because there doesn't seem to be any really good on-the-fly resamplers available.
Very complicated isn't it? It goes without saying that the Audigy 2 ZS is not a suitable soundcard for music, I'm using mine only because of games.
kutjong, resample some WAV (16/44.1) file to 24/96 with SRC 0.1.3, then with built-in PPHS ultra (or current foo_dsp_src). Can you ABX these two files? If you can't, there is nothing to worry about.
kutjong, resample some WAV (16/44.1) file to 24/96 with SRC 0.1.3, then with built-in PPHS ultra (or current foo_dsp_src). Can you ABX these two files? If you can't, there is nothing to worry about.
Yup, I'm going to ABX tomorrow when I receive my Sennheiser HD-595s. I think I'm going to try it out with Creedence Clearwater Revival - Platinum, remastered wonderfully in 24-bit.
I really hope that I'm going to discover difference, I've wasted so much time on this already!
Also, anybody interested in getting the SRC fb2k plugin updated to 0.1.3 should really check out this
thread (http://www.hydrogenaudio.org/forums/index.php?showtopic=63738).
No, you're not correct. It's the same 'p16v' chip that natively handles 24/96, 24/48, 24/44.1 and 24/192 formats. Although, 24/44.1 won't work in my Audigy 2 ZS (SB0350).
What do you mean it won't work? You mean that it's resampled to 48 kHz, or not played back at all? RMAA 24/44,1 shows excellent results for me.
As for ABX, I didn't receive my HD-595s today as I was expecting. So ABX will have to wait until weekend or next week, cause tomorrow I'm going to help my friend fix his hometheater. He's quite the noob and is using onboard audio with software decoding for DD/DTS for crying out loud!
I think I'm going to try to sell my A2 ZS to him and get an X-Fi instead.
I forgot to mention one important fact. I'm not using Creative's driver, but the kX Audio driver instead.
Maybe that's why I can't play 24/44.1 through Kernel Streaming. They say (http://kxproject.lugosoft.com/tech.php?language=en) that 24/44.1 support is experimental and may not work for certain card models. Anyway, I can play that format through DirectSound.
This driver exposes a device kX Wave SB0350 10k2 [b000] HQ which sends audio data directly to p16v. And the I2S output codecs always operate at 96000 rate (they say that the driver doesn't change that).
Below you can see that I disabled the DSP output, and playback to the mentioned device through Kernel Streaming interface an APE image of a CD resampled to 96000 Hz.
(http://img519.imageshack.us/img519/9895/screenshot00061ct0.th.png) (http://img519.imageshack.us/my.php?image=screenshot00061ct0.png)
Maybe 24/44,1 is the best solution if using CL drivers then?
I just don't know... Just gonna have to wait for ABX.
As for resampling, I talked to the author of SRC and this is how his resampler does it:
With the resampling technique I use, there will be no difference in the
accuracy when upsampling. When downsampling to say 32kHz and 22.05kHz
obviously there will be a difference because more information will be
lost when going to 22.05kHz that when going to 32kHz.
In other words, 24/48 should be quite optimal if you have to resample. I'm yet to have a look into 24/44,1 support with CL drivers. Undoubtedly the best solution would be to not use resampling at all. It is not clear though if 24/44,1 is sent straight to P16V if kernel streaming is used.
I'm using
Foobar2000 v0955 with
ASIO4ALL v2 and
SRC v103 (Best Sinc Interpolator and sample rate 96kHz).
Firstly, I get the following error message when playing a 44.1/16 wav file:
Unrecoverable playback error: The ASIO device does not support specified sample rate (96000Hz); please configure resampler appropriately
The only way to make it work is to "configure the resampler" at max 48kHz.
Secondly, the Output Data Format drop-down menu turns grey when I choose the ASIO as output device. Hence, I'm not able to set the bit depth to 24.
How do I manage to use resampling to 24/96? I'm not using any soundcard, I'm using an external USB --> S/PDIF transporter (
Pop Pulse PC Link II)
Hmm,
I found out myself.
Pop Pulse PC Link II supports 96kHz only for S/PDIF input, not USB, which is limited to 48kHz.
Anyway, here are some pictures of the unit:
(http://www.euphonia-audioforum.se/calle_jr/Artiklar/Pop_Pulse/DSC_0327.JPG)
(http://www.euphonia-audioforum.se/calle_jr/Artiklar/Pop_Pulse/DSC_0324.JPG)
(http://www.euphonia-audioforum.se/calle_jr/Artiklar/Pop_Pulse/DSC_0319.JPG)