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: playing 44.1khz content through 48khz sync (Read 8247 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

playing 44.1khz content through 48khz sync

Simply out if curiosity,

What exactly happens when you play 44.1khz content over a 48khz sync (ex: my external dac is currently connected with USB, can only choose 44.1 or 48khz for sync.)

My computer runs Windows 7, which might be relevant to my question: the other day, I listened to Dark Side of the Moon SACD (flac version) and my dac was synced at 44.1khz, the content is 96khz, so I switched it to 48khz thinking "at least I'll get half the resolution".

I have not reverted it yet, and was wondering what exactly happens right now when I play regular 44.1 content over that. Is the resampling lossless ? Are the two formats mathematically compatible ? or am I losing some samples here and there ? Is it win7's sound engine doing the job ? Is it converting it to analog and then sampled at 48khz before playback ?

I know that in WinXP, the resampling is done by the hardware, which is why each company makes very different sound drivers and XP on its own doesn't do much, the sound engine in Win7 has evolved quite a lot and does most of the work, which is why you can now play games on weird asio soundcards, or over hdmi cables, without issues.

Anybody has a clue ?

playing 44.1khz content through 48khz sync

Reply #1
Resampling is never mathematically lossless, although in most cases it is inaudible, unless you're going to very low sample rates (like 32 kHz and under).

Unfortunately I don't know much about how the Windows sound system works internally. But I do know that you can set the default sample rate in the Windows 7 mixer by right-clicking your playback device, clicking Properties, and going to the Advanced tab.

Setting everything in the signal chain (sound card, playback software, and Windows mixer) to the same sample rate should logically avoid resampling. However, in the past there have been cases of poorly-designed drivers or cards that resample any sound that goes through them, even if it's at the same sample rate! So it would be useful for you to name what hardware you're using; someone here may be familiar with it.

However, if you're trying to play 96 kHz audio through a card that only supports 44.1 or 48, resampling is unavoidable. The consensus seems to be that it's best to do resampling in your audio player, since then you have control over which sampling algorithm gets used.

playing 44.1khz content through 48khz sync

Reply #2
If the player uses WASAPI output in exclusive mode then it doesn't use the default sampling rate of windows. It just uses the sampling rate of the input source and tries to output at that sampling rate to your device. You should get an error if the sampling rate is not supported.
DirectSound output will resample anything to match the default sampling rate setting in windows.

My USB DAC also only supports 48Khz max sampling rate and 16bit. What I usaually do:
Windows Settings:
100% Volume
Disable all enhancements
Default format: 16bit, 48Khz
Speaker setup: Set to 'Full Range - Front Left and Right'

In my audio player. Foobar2000:
100% Volume and hide the volume control. (I only control the volume on my headphone amp itself)
Output: WASAPI, 16 bit, Dither ticked
DSP: Resampler (SOX) set at 48Khz, Best Quality

playing 44.1khz content through 48khz sync

Reply #3
@wwphil: In Windows 7, it depends on which audio API (mme, directsound, asio, wasapi...) your player uses, and which combination of sample rates there is from input file, player, windows setting and driver setting.

A typical scenario like: input 44.1Khz, directsound at 44Kz, windows setting at 48Khz and driver at 48Khz would use windows resampling to 48Khz and sent to the driver.

Also notes: 
- as said, resampling is not lossless. (it is not guaranteed to get back, bit for bit, the same data). it should be inaudible.
- resampling can only happen in analog when connection one soundcard output (in analog) to soundcard input. It is an unreasonable scenario for this operation.



@LithosZA: Mmm.. From those settings, i just wonder about the 100% volume necessity. I guess the reason is because that way you can have a lower noise floor thanks to using the volume in your DAC/amp, is it?  (Obviously, it is not about getting bit-perfect playback)

playing 44.1khz content through 48khz sync

Reply #4
I am no audio expert, but my thinking was that because it is digital audio that 100% would be 0dB increase/decrease to the sound?
So there would be no reason to decrease the volume in software. Unless I am missing something?

playing 44.1khz content through 48khz sync

Reply #5
It should be 0dB. That is not assured, but tends to be the case (for example, usually in linux, 0dB is more about 70% or so).

Other than that, yes, you're correct than reducing the volume in the digital domain (software), reduces the volume but also the SNR.
When using an external amplifier/volume control, it is better to use that control, so that the amplified signal still has all the SNR, which should generally be better than the amplifier's one.

Anyway, I woudn't worry in excess about this. I used to have an integrated amp at 1/3rd of volume driving a pair of 3way 8'' speakers, and the volume control in windows XP at 4% or 8%. Although I usually increased the windows volume when using the headphone out.

playing 44.1khz content through 48khz sync

Reply #6
Output: WASAPI, 16 bit, Dither ticked



Why dither at all? Dithering is only required when you reduce the bit depth of sounds files, 24bit to 16bit for example. It's supposed to be inaudible most of the time yet I would not use in cases it isn't needed.

playing 44.1khz content through 48khz sync

Reply #7
Yes, I playback some 24 bit files. I thought it won't apply dithering when the source is already 16 bit?

playing 44.1khz content through 48khz sync

Reply #8
I thought it won't apply dithering when the source is already 16 bit?


Not sure about that. Does anyone know for certain?

playing 44.1khz content through 48khz sync

Reply #9
Output: WASAPI, 16 bit, Dither ticked



Why dither at all? Dithering is only required when you reduce the bit depth of sounds files, 24bit to 16bit for example. It's supposed to be inaudible most of the time yet I would not use in cases it isn't needed.

Unless the data are being passed unmodified, if any kind of processing has taken place, even just adjusting the volume, technically dither should be added. It is unlikely though that you would be able to hear the difference.

playing 44.1khz content through 48khz sync

Reply #10
usually in linux, 0dB is more about 70% or so


[citation needed]

It's always been 100% for me, and I've used linux for 10 years with maybe a dozen sound cards (with ALSA drivers). I never used Pulse Audio or any software like that though, just straight up ALSA.

playing 44.1khz content through 48khz sync

Reply #11
Thanks all for the responses, so I guess I can agree that the resampling is inaudible, correct me if I'm wrong but if that translation is inaudible, that should also mean the higher sampling rates are useless, as far as listening pleasure is concerned ?

I believe resampling must be done by Win7 as my dac shows up as using a microsoft driver under device manager, and I doubt it recognizes any other format than PCM.
On the other hand, the Mini-i does have an internal clock sync which is normally used for resampling, right ?

my setup:
foobar2000 (stock playback settings)
Matrix Mini-i connected through USB@16/48
Bel Canto S300
B&W 705 - Martin Logan Dynamo 500


playing 44.1khz content through 48khz sync

Reply #12
that should also mean the higher sampling rates are useless, as far as listening pleasure is concerned ?


In theory it is useless yes. There may be exceptions in circumstances where the device you send it to, handles 44.1 poorly.


the content is 96khz, so I switched it to 48khz thinking "at least I'll get half the resolution".


96 kHz just has an extra inaudible octave above the treble. That 'half' you are missing is of no value. (Well it may even be harmful because it can introduce distortion, and that distortion could be audible.)

playing 44.1khz content through 48khz sync

Reply #13
usually in linux, 0dB is more about 70% or so


[citation needed]

It's always been 100% for me, and I've used linux for 10 years with maybe a dozen sound cards (with ALSA drivers). I never used Pulse Audio or any software like that though, just straight up ALSA.


Mmm... It happened to me, with ALSA and some integrated soundcards (mostly realtek). I haven't used it for years, so I can't comment on the current situation, but maybe it isn't as usual as I thought.