Skip to main content
Topic: Decoding speed of WavPack (Read 6889 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Decoding speed of WavPack

At the suggestion of halb27 I've recently begun to play with WavPack. After some very quick tests I ruled out the usefulness of lossless mode (doesn't compress enough for the songs I tested to be worth the trouble over plain WAVs) but I'm very impressed with quality of lossy mode. Better yet, I found lossy mode to work disproportionately well on files that compressed poorly in lossless mode, so it's all the more attractive.

I'm mainly considering using WavPack lossy as a replacement for MP3, to be played mainly on PCs. On the computers I use today the decoding speed is irrelevant, but I'd still like decoding to be possible on old PCs such as a Pentium 100 MHz (about the minimum requirement for MP3 playback). The player/decoder at issue would probably be the Winamp 2.x plugin, since that's probably what an older PC would be using (it's also what I currently use even on my new PC, I'm totally retro/backwater/caveman I guess). I haven't tested to see if WavPack even runs on older machines though (lack of MMX instructions, outdated OS, etc), so I guess that might be another question I'm wondering.

Anyways, how does the decoding speed of WavPack compare to MP3, at the various relevant settings? (-f, default, -h, -hh) I am aware that -h is roughly 50% slower than the default while -hh is twice as slow, therefore I guess the biggest question is how fast is the default setting.

Decoding speed of WavPack

Reply #1
... On the computers I use today the decoding speed is irrelevant, but I'd still like decoding to be possible on old PCs such as a Pentium 100 MHz .... Anyways, how does the decoding speed of WavPack compare to MP3, at the various relevant settings? (-f, default, -h, -hh).

Welcome to the world of very high quality lossy.

I don't belong to those people that often buy a new pc (mine is ~ 6 years old and I will use it for some more years) but I really wonder what to do with a Pentium 100 based PC. At least when talking about Windows I guess you'll have a hard time even running Windows 95.

But for your question: mp3 decoding is very efficient, so I guess only wavPack fast mode can compete with mp3. I've once seen a comparison for my Coldfire armed DAP where it's like this but it maybe different for a pentium 100.

If using a pentium 100 based PC is really an option why don't you just try it out ?
lame3995o -Q1.7
opus --bitrate 140

Decoding speed of WavPack

Reply #2
I am like you, I also don't upgrade computer often. Before I just upgraded to this one a few months ago I had a 8-years old Pentium Pro 200 (no MMX). That's why I'm concerned with ensuring the files can be decoded on slower computers. I still have that computer in storage but I am too lazy to hook it up and check just for this, I am just hoping someone knows the answer.

Before that computer I had a Pentium 100 but it was junk and broke after only 2 years. That's why I care about Pentium 100.  But I also don't have one anymore, no way for me to test.

Decoding speed of WavPack

Reply #3
Results for lossy mode files on P3-550 CPU [WV mode - fast / normal / h / hh]:

Settings:
  Buffer entire file into memory: no
  High priority: yes
  Passes: 2

File: H:\temp\transcoded\fx 11___Take_the_Boat_Out.flac.wv
  Opening time: 0:00.000 min, 0:00.001 max, 0:00.001 average
  Decoding time: 0:00.216 min, 0:00.229 max, 0:00.223 average
  Speed (x realtime): 26.175 min, 27.720 max, 26.926 average

File: H:\temp\transcoded\x 11___Take_the_Boat_Out.flac.wv
  Opening time: 0:00.000 min, 0:00.001 max, 0:00.000 average
  Decoding time: 0:00.257 min, 0:00.257 max, 0:00.257 average
  Speed (x realtime): 23.343 min, 23.343 max, 23.343 average

File: H:\temp\transcoded\hx 11___Take_the_Boat_Out.flac.wv
  Opening time: 0:00.000 min, 0:00.002 max, 0:00.001 average
  Decoding time: 0:00.328 min, 0:00.329 max, 0:00.329 average
  Speed (x realtime): 18.244 min, 18.291 max, 18.267 average

File: H:\temp\transcoded\hhx 11___Take_the_Boat_Out.flac.wv
  Opening time: 0:00.000 min, 0:00.002 max, 0:00.001 average
  Decoding time: 0:00.412 min, 0:00.412 max, 0:00.412 average
  Speed (x realtime): 14.561 min, 14.570 max, 14.566 average

MP3:

File: H:\temp\transcoded\11___Take_the_Boat_Out.flac.mp3
  Opening time: 0:00.000 min, 0:00.030 max, 0:00.015 average
  Decoding time: 0:00.173 min, 0:00.206 max, 0:00.190 average
  Speed (x realtime): 29.106 min, 34.570 max, 31.604 average

DualStream - normal / fast modes:

File: H:\temp\transcoded\ofs fast 11___Take_the_Boat_Out.flac.ofs
  Opening time: 0:00.000 min, 0:00.001 max, 0:00.001 average
  Decoding time: 0:00.660 min, 0:00.661 max, 0:00.661 average
  Speed (x realtime): 9.092 min, 9.100 max, 9.096 average

File: H:\temp\transcoded\ofs normal 11___Take_the_Boat_Out.flac.ofs
  Opening time: 0:00.000 min, 0:00.002 max, 0:00.001 average
  Decoding time: 0:01.017 min, 0:01.054 max, 0:01.036 average
  Speed (x realtime): 5.702 min, 5.907 max, 5.803 average


WV lossy files decode slower than lossless. Fast and default profiles are very CPU friendly - in fact fast mode does less cpu than mp3 or flac when my system is really loaded. On the other end of the scale the -hh mode is still quite useable for daily tasks, but is slow when using the correction file .WVC. Optimfrog decoding is much heavier even using 'fast' mode. seeking is slow and transcoding also suffers , though it is still useable.

I think WV would run smooth even on very limited cpu using normal mode , after all that was one of its design goals. For lots of editing, transcoding , correction file or portable use I would go for normal or fast modes.
wavpack 4.8 -b256hx6c

Decoding speed of WavPack

Reply #4
Thanks for taking the time to test all that, shadowking. I'm not sure how to convert the speed of your P3 550 to a P2 200, or a P1 100, but roughly speaking I think those figures suggest that my P2 200 should have no problems (assuming it can function equally well without any MMX instructions) with WavPack at any setting, although the processor load might be a bit noticeable...but on a P1 100 I'm not so sure. If I remember correctly my long ago Pentium 100 could barely play mp3s with all its processor power. WavPack might be too tough for it. The -h modes probably could not play in realtime.

That's sort of disappointing ohwell. The -h and -hh switches REALLY seem to help the sound quality WavPack lossy encodings (much moreso than they improve the compression ratio of lossless) but maybe I am just imagining it (no true ABX tests). I am probably imagining it but they seem to help the sound quality more than the "noise level" reported figures indicate (i.e. increasing the bitrate to achieve the same reduced "noise level" as a -h switch would have added, seems to still result in a slightly inferior quality). And on the other hand the -x switches don't seem very helpful to me in WavPack lossy (different behavior from lossless, maybe just coincidence). A number of times I have seen -x and -x2 actually increase the noise level and the file sounded audibly worse (possibly imagined). But -x3 and -x4 have always been helpful ('fixing' any problems the lower x levels may have fallen victim to), so that's not really a problem to me.

Decoding speed of WavPack

Reply #5
I remember I could decode Wavpack lossless -h on a Pentium 166 (which has now been decomissioned) faster than real time. Even OptimFrog fast would decode faster than real time there.

Decoding speed of WavPack

Reply #6
... but I really wonder what to do with a Pentium 100 based PC...

Trash it, because its power-consumption (cost) is most probably not worth its low abilities (gain). If you want a multipurpose slave which needs to be cost-efficient, get a lowtech refurbished laptop for like 200$ - as a bonus, you get increased mobility.

- Lyx
I am arrogant and I can afford it because I deliver.

Decoding speed of WavPack

Reply #7
Porcupine, Remember not to listen to 200k lossy files as you will hear noise and become paranoid.  High modes -really- help only in certain extreme situation. Even then normal mode -x4 is about the same quality. The noise figures mean nothing without abx tests.

I remember I could decode Wavpack lossless -h on a Pentium 166 (which has now been decomissioned) faster than real time. Even OptimFrog fast would decode faster than real time there.


Bryant said in a post that even the slowest mode would decode on some 75Mhz cpu of some device.
wavpack 4.8 -b256hx6c

Decoding speed of WavPack

Reply #8
Thanks, shadowking, for your test.
I hadn't  thought that normal mode's decoding speed is so close to that of fast mode.
lame3995o -Q1.7
opus --bitrate 140

Decoding speed of WavPack

Reply #9
I had noticed earlier that normal and fast mode were similar in speed (I actually did similar tests to shadowking from the start, but didn't save the results). Also I didn't know how to convert my current CPU's speed to dinosaur CPU speed, the generation gap is too large that its kind of meaningless. And I didn't test Wavpack vs MP3, only WavPack vs itself in different modes.

Another thing I noticed is that WavPack can compress (on my computer) the exact same file with the exact same settings at HUGELY different speeds, the second time around (a lot faster), third time around (slightly faster still), up until the fourth or fifth time around. Weird, but ohwell. Maybe it has something to do with computer RAM memory or something building some databuffers up, maybe my computer is cheating the second time around. Or maybe it is unusually groggy the first time around and stupid Windows needs time to wake up.

I have no idea if that phenomena would occur on everyone's computer, just my own. I'm assuming that shadowking averted that problem either by not having it, or by stabilizing his CPU by "warming it up". Because his numbers look relatively the same as what I got when I "warmed up" my CPU a bit. When I didn't, I had stupid results like Fast mode being the same or slower speed than Normal mode...that is how I noticed these issues at first.

Also I just want to clarify that even though I asked the question of how well can WavPack run on a Pentium 100, this doesn't mean that I will refuse to use it if it can't. I am just curious to know. Such considerations would only factor very, VERY minorly into whatever I decide to do in the end. My current thinking is that I would be fine using either normal mode or -h. Fast mode isn't faster enough to justify it I think, and -hh doesn't help quality by as much a big gain as -h. (right now, I am leaning towards normal mode, because the -x# switches help the most with normal mode...relatively less gain when added to -h, still deciding though).

Decoding speed of WavPack

Reply #10
Yes, the effect of the -x switch usually is larger with normal than with high mode.
When encoding for PC use I wouldn't use fast mode either.
(But I'm very thankful towards shadowking for his fast mode usage cause this is very welcome for my DAP and I would never have considered using fast mode on my own).
lame3995o -Q1.7
opus --bitrate 140

Decoding speed of WavPack

Reply #11
I ran some more fast vs normal speed test.

Total length: 1:00.000
Opening time: 0:00.003
Decoding time: 0:02.243
26.742x realtime

Total length: 1:00.000
Opening time: 0:00.003
Decoding time: 0:02.690
22.304x realtime

Fast has 20 % markup over normal. Its still significant I think.
wavpack 4.8 -b256hx6c

 
SimplePortal 1.0.0 RC1 © 2008-2019