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: Help - Foobar2000 0.9.5.6 playing back 44.1kHz WMA Lossless in 48kHz (Read 9024 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Help - Foobar2000 0.9.5.6 playing back 44.1kHz WMA Lossless in 48kHz

I have just installed Foobar 2000 player.

My entire music collection (over 2000 albums) is ripped as WMA Lossless.

For some reason, Foobar is reporting all the files as 48kHz rather than 44.1kHz.

When I play it, it changes my soundcard (E-MU 1212M) to 48kHz. The status bar also indicates that Foobar is playing back a 48kHz file.

In ASIO mode, this causes some crackling and stuttering every now and then.

In DirectSound mode, it causes high CPU usage.

Can someone help me? What am I doing wrong? Is this a bug?

PS - Winamp plays all these files fine at 44.1kHz. So does Windows Media Player.

Help - Foobar2000 0.9.5.6 playing back 44.1kHz WMA Lossless in 48kHz

Reply #1
I have just installed Foobar 2000 player.

My entire music collection (over 2000 albums) is ripped as WMA Lossless.

For some reason, Foobar is reporting all the files as 48kHz rather than 44.1kHz.

When I play it, it changes my soundcard (E-MU 1212M) to 48kHz. The status bar also indicates that Foobar is playing back a 48kHz file.

In ASIO mode, this causes some crackling and stuttering every now and then.

In DirectSound mode, it causes high CPU usage.

Can someone help me? What am I doing wrong? Is this a bug?

PS - Winamp plays all these files fine at 44.1kHz. So does Windows Media Player.


Couldn't you just use a resampler? Can that thing downsample back to 44.1khz? I know it's not a solution but it could be a temp fix; I'm pretty sure it's a "bug"

Help - Foobar2000 0.9.5.6 playing back 44.1kHz WMA Lossless in 48kHz

Reply #2
Couldn't you just use a resampler? Can that thing downsample back to 44.1khz? I know it's not a solution but it could be a temp fix; I'm pretty sure it's a "bug"


I think it's a "bug" as well - I may install 0.9.5.5 and see if it has the same problem.

As to resampling, I try to avoid resampling whenever possible because of the artefacts it introduces. That's the whole point of using ASIO rather than DirectSound.

By the way, I have done some measurements in Audio Rightmark - and resampling using DirectSound creates harmonic spikes well into the audible zone (as high as -60dBFS).

A good way to hear the audible effects of resampling is (you need a good audio editor):
1. Use an CD audio track (44.1kHz) with lots of high frequency content (significant content above 15kHz)
2. Invert the waveform (ie. +ve samples becomes -ve and vice versa)
3. Now resample from 44.1kHz to 48kHz (using your favourite DSP or software - any setting ).
4. Resample back to 44.1kHz.
5. Overlay the result back to the original audio track (ie. sum every sample)

Now, if resampling was truly lossless, you should get back a audio file full of zeros, and when played back it should be silent.

What you will actually get will be an audio file full of high frequency artefacts. If you play this back and you have good ears (can hear above 15kHz) you will be able to hear exactly the sort of artefacts introduced by resampling.

Help - Foobar2000 0.9.5.6 playing back 44.1kHz WMA Lossless in 48kHz

Reply #3


Couldn't you just use a resampler? Can that thing downsample back to 44.1khz? I know it's not a solution but it could be a temp fix; I'm pretty sure it's a "bug"


I think it's a "bug" as well - I may install 0.9.5.5 and see if it has the same problem.

As to resampling, I try to avoid resampling whenever possible because of the artefacts it introduces. That's the whole point of using ASIO rather than DirectSound.

By the way, I have done some measurements in Audio Rightmark - and resampling using DirectSound creates harmonic spikes well into the audible zone (as high as -60dBFS).

A good way to hear the audible effects of resampling is (you need a good audio editor):
1. Use an CD audio track (44.1kHz) with lots of high frequency content (significant content above 15kHz)
2. Invert the waveform (ie. +ve samples becomes -ve and vice versa)
3. Now resample from 44.1kHz to 48kHz (using your favourite DSP or software - any setting ).
4. Resample back to 44.1kHz.
5. Overlay the result back to the original audio track (ie. sum every sample)

Now, if resampling was truly lossless, you should get back a audio file full of zeros, and when played back it should be silent.

What you will actually get will be an audio file full of high frequency artefacts. If you play this back and you have good ears (can hear above 15kHz) you will be able to hear exactly the sort of artefacts introduced by resampling.


I get what you're saying, I had no idea resampling did that with direct sound. I hope going back to 0.9.5.5 solves the problem.

Help - Foobar2000 0.9.5.6 playing back 44.1kHz WMA Lossless in 48kHz

Reply #4
Just to confirm, Foobar 0.9.5.5 plays the WMA files correctly at 44.1kHz so this is definitely a problem introduced with 0.9.5.6. No crackling or stuttering in ASIO.

Guess I'll just have to stick with the older version for a while.

Help - Foobar2000 0.9.5.6 playing back 44.1kHz WMA Lossless in 48kHz

Reply #5
Problem confirmed in 0.9.5.6.

Apparently it's something that we get as a side effect of enabling support for multichannel decoding - for some braindead reason, 48KHz is reported as one of available decoding output formats for WMA lossless; we pick the best available format from the list so that's what we end decoding to - I could not find a way to determine the exact format that the file is encoded in. Apparently (NOT documented anywhere) we're supposed to pick the first reported format (index 0).

This will be fixed in the next release. Though knowing WMA nonsense, this fix will probably break something else.

Consider this a subtle hint to quit using WMA if you like your files decodable without weird problems.
Microsoft Windows: We can't script here, this is bat country.

Help - Foobar2000 0.9.5.6 playing back 44.1kHz WMA Lossless in 48kHz

Reply #6
Problem confirmed in 0.9.5.6.


Thanks Peter.

Actually, I spoke too soon, 0.9.5.5 seems to have problems too.

Although it will play the file at 44.1kHz, inspecting the properties of the audio track and the status bar still reports it at 48kHz.

There are also some audio dropouts 5 seconds before the end of the audio track - only in ASIO. I am not completely sure this is related to 44.1/48kHz - I'll play with player thread priority as well to see if it's CPU related (I am running Foobar on a very low powered CPU - Via C3 at 800MHz - because I wanted a completely fanless audio player - no moving parts!).

I can definitely confirm NO problems (including no audio dropouts) when playing MP3 or FLAC at 44.1kHz.

PS - the reason why WMA Lossless reports 48kHz as "decodable" - blame it on the AC97 spec and it's insistence on resampling everything to 48kHz. Microsoft wanted to allow the WMA decoder implementation to do the resampling (potentially at higher quality) rather than leaving it to the AC97 driver (most AC97 drivers have horrible resamplers).

I know for a fact there are some audio savvy engineers working at Microsoft - unfortunately they can't repair the "sins" of the past. In hindsight, AC97, kmixer et al included some poor design decisions.

Help - Foobar2000 0.9.5.6 playing back 44.1kHz WMA Lossless in 48kHz

Reply #7
WMA lossless files (44KHz) also show 48KHz when imported to Cubase.

Help - Foobar2000 0.9.5.6 playing back 44.1kHz WMA Lossless in 48kHz

Reply #8
It's a silly format.....0.9.6 beta 2 reports WMA Pro 10 5.1 24bit/48KHz as 2 channel 48KHz WMA 9. I guess they have hidden tracks or something to enable decoding to 2 channel?

Help - Foobar2000 0.9.5.6 playing back 44.1kHz WMA Lossless in 48kHz

Reply #9
The latest version of foobar2000 shows WMAs as 48 kHz... But my audiocard (ESI Juli@ via ASIO), that is able to select sample frequency automatically to correspond to audio material reports 44,1 kHz.

Help - Foobar2000 0.9.5.6 playing back 44.1kHz WMA Lossless in 48kHz

Reply #10
The latest version of foobar2000 shows WMAs as 48 kHz... But my audiocard (ESI Juli@ via ASIO), that is able to select sample frequency automatically to correspond to audio material reports 44,1 kHz.

Reload file info?

Help - Foobar2000 0.9.5.6 playing back 44.1kHz WMA Lossless in 48kHz

Reply #11
kode54
Thanks, it works