Help - Search - Members - Calendar
Full Version: WMA Lossless > PCM
Hydrogenaudio Forums > Lossless Audio Compression > Lossless / Other Codecs
indybrett
Subject says it all. I am experimenting with WMA lossless (non-DRM) for personal reasons. Using DBpoweramp, I have converted to WMA lossless, and then back to PCM WAV. The WAV files pass the MD5 checksum. OK, so far, so good.

When I use the MS utlity to convert back to PCM WAV, the resulting WAV files fail the MD5 check. WTF?

Has anybody else tried something like this? I might like to use WMA lossless, but something like this scares the crap out of me.
rjamorim
Maybe the decoder is writing different WAV headers?

If I were you, I would run both waves through riffstrip before comparing.
indybrett
Both input WAV and output WAV seem to have the same headers. If removed, nothing can read them.

WAVE header found!
Found chunk: [fmt ]
Found chunk: [data]
Stripped file: 01 - Speak To Me , Breathe.wav.stripped
Working...
Stripping completed!

I can hear the chorus of "Don't use WMA" starting to build in the background.

I wonder if it is because the encoder is version 9.1, and the "unsupported" tool is expecting the file to have been encoded with version 9.0 unsure.gif
Mono
I just ran a test with three files and all matched md5 after being stripped.

EDIT:
QUOTE(indybrett @ Dec 9 2004, 09:06 PM)
Both input WAV and output WAV seem to have the same headers. If removed, nothing can read them.
*

That is to be expected, as the stripped files are RAW and not WAV files anymore.
QUOTE(indybrett @ Dec 9 2004, 09:06 PM)
I can hear the chorus of "Don't use WMA" starting to build in the background.
*

Frankly, while WMA is not my first choice because of compatibility with operating systems that have not been blessed by Microsoft, I believe people should have the right to use WMA Lossless for themselves. If it were not lossless, that is cause for serious concern.
indybrett
What did you use to encode? DBpoweramp seems to work fine for encoding and decoding, as long as I use it for both. Using DB to encode, and the MS command line utility for decoding is where it all seems to break down for me.

It's not a real big problem. I'm content to keep using FLAC. I honeslty like the MS Media Player 10 interface, but it doesn't seem to handle the tags on my FLAC files. I suppose if I could get that to work, I wouldn't care so much about WMA. It's really the MPlayer 10 that I want to use.
Mono
I used the Windows Media Encoder found at http://www.microsoft.com/windows/windowsme...er/default.aspx .
rjamorim
QUOTE(indybrett @ Dec 9 2004, 11:06 PM)
If removed, nothing can read them.
*


Well, a MD5 summer can read them to create a hash. That's all you need smile.gif
RainDawg
Have you tried running these files through shntool to get the audio fingerprint of the two wav files? That would confirm that the audio codec is indeed lossless, and that there is just different additional data included with the file.

You could also do a foobar2000 BitCompare check. As long as the audio data is the same, I'd be content to call the WMA Lossless codec truly lossless.
indybrett
Using Foobar2000 to decode the WMA file to WAV gives me a file that passes the MD5 check, as does decoding the file with dBPoweramp.

Seems the only decoder that gives me a different result is the "unsupported" command line utility from Microsoft.

A couple of notes on the WMA lossless. It has slightly better compression than FLAC. I saved a few GB over the span of about 300GB (not the reason I used it). I haven't actually calculated the exact ratio. Encoding is slower than FLAC, which I expected.

It would be handy if MAC (the program) or The Godfather supported WMA.
Otto42
So, if you use RIFFStrip on the WAV's, then MD5 compare the resulting RAW files, they don't match?

The point being that you should MD5 the stripped WAVs only, as different programs could be generating different RIFF headers without it being easily noticable. But the RAW data should be the same regardless, unless the decoder has a bug or something. When speaking of "lossless", you really only care about the RAW data.
indybrett
QUOTE(Otto42 @ Dec 16 2004, 10:48 AM)
So, if you use RIFFStrip on the WAV's, then MD5 compare the resulting RAW files, they don't match?
*

That is correct. When using Microsoft's "unsupported"command line utility to decode, they do not match, even if comparing WAV files with the headers stripped.

Using anything else, not a problem.
RainDawg
I'm not talking about using foobar2000 to decode the file, I am talking about using the BitCompare plugin to compare the audio data contained with a file to the audio data contained within another one. If it fails this test, it can be concluded that the codec has indeed altered the audio.

I'd take the original WMA file and compare it to one that has gone through WMA (using the command line encoder) > WAV, and see if they have the same audio fingerprint.

Have you run BitCompare?
indybrett
QUOTE(RainDawg @ Dec 16 2004, 12:53 PM)
I'm not talking about using foobar2000 to decode the file, I am talking about using the BitCompare plugin to compare the audio data contained with a file to the audio data contained within another one. 
*

I understood what you were talking about. I've been doing this for awhile.

Since Foobar can decode the file properly, and it passes the MD5 check, there is no reason for me to run BitCompare. The fact that the MD5 check passed means that the decoded file is exactly the same as the original file. I am satisfied with the results.

I may wish to further analyze the MS command line utility to see where it is going astray, but my main objective is to know that I have more than one decoder that produces the same results. I have that with dBPowerAMP and with Foobar2000. They produce the same (correct) results.

The subject of my original post would indicate that I was most concerned with the MS utlity. My fault. That was not my main concern.
kode54
I think he is suggesting that you use the BitCompare utility to see where the unsupported command line utility is screwing up, to satisfy his curiosity. Maybe.
indybrett
QUOTE(kode54 @ Dec 16 2004, 04:37 PM)
I think he is suggesting that you use the BitCompare utility to see where the unsupported command line utility is screwing up, to satisfy his curiosity. Maybe.
*


Yes, I think you're right, and I plan to do that. I also want to know. At first, I was really concerned about that, but became less concerned when the other two apps I used worked OK.
Mono
The problem may lie in the fact that the MS utility likes to write WAVE_FORMAT_EXTENSIBLE and dBPowerAmp (I'm not sure, I don't use the program) probably writes WAVEFORMATEX.
RainDawg
Yes, yes, my curiosity must be satisfied. I too was wondering exactly where the MS utility was screwing up...does a file decoded with foobar2000 have the same audio fingerprint as one decoded with the MS command line?
indybrett
I am going to try to do some more tests this evening. I'll post results here.
indybrett
Bitcompare results:

No difference in the decoded data when using the MS Utility. MD5 check fails, but the audio fingerprint is the same.

Must be headers only.

INFO (foo_bitcompare) : Comparing:
INFO (foo_bitcompare) : location: "file://D:\Wav\Tom Petty & The Heartbreakers\Damn The Torpedoes\New\01 - Refugee.wav" (0)
INFO (foo_bitcompare) : location: "file://D:\Wav\Tom Petty & The Heartbreakers\Damn The Torpedoes\Original\01 - Refugee.wav" (0)
INFO (foo_bitcompare) : No differences in decoded data found.
INFO (foo_bitcompare) : Finished successfully.
RainDawg
OK, good...at least we know that the MS utility is not changing the audio. That eases my curiosity wink.gif.
indybrett
Mine too. I will probably never use that utility, but I did just convert 300+ GB of FLAC files to WMA Lossless.

I like MPlayer 10, what can I say...

Plus, I can import these directly to iTunes if I ever decide to go that route.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2008 Invision Power Services, Inc.