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: Wavpack - 3 Questions (Read 7055 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Wavpack - 3 Questions

I have three newbie questions concerning wavpack that I have not found with search or in the documentation.

1. Would high-bitrate wavpack hybrid be "safer" (lack of killer samples) at the very high bitrates than pure lossy encoders?

From what I understand, when you throw more and more bits into a pure-lossy encoder, the effectiveness that the bits are used for becomes less and less, as the bottleneck becomes the psymodel itself rather than the lack of bits.

Does wavpack hybrid mode suffer from this? Meaning, as more bits are thrown in, they actually attend to reproducing the original waveform rather than still abiding by the psymodel?

From the documentation I read
Quote
"Above 256 kbps the quality of WavPack's lossy mode increases rapidly, with added quantization noise (which is the only artifact) dropping by about 1 dB for every 15 kbps."
If I understand that correctly, as bits go above a threshold, they break free of the psymodel and only quantization occurs?

If this is so, then...

2. Would then this "quantization-only lossiness" necessarily increase the chances for transparency? As I have read, more faithfulness to waveform does not always correlate to more transparency.

And finally,

3. I found this in the documentation:
Quote
"For the best lossless compression WavPack can offer, use -hx."


But then the table below, at "High quality" 384kbps, -h was not used.
Code: [Select]
 Bitrate     High quality   Faster Encode   Faster Decode
-------     ------------   -------------   -------------
256 kbps    -hb256x        -hb256          -b256x
320 kbps    -hb320x        -hb320          -b320x
384 kbps    -b384x         -hb384          -fb384x

Can anyone explain why high quality 384kbps does not warrant the -h switch? Is it because of feasibility (it's utterly unnecessary at that bitrate and only slows down encode immensely), or is it because of some mechanism with -h? (it only improves quality at lower bitrates, and actually reduces at higher ones?)

Wavpack - 3 Questions

Reply #1
Quote
Can anyone explain why high quality 384kbps does not warrant the -h switch? Is it because of feasibility (it's utterly unnecessary at that bitrate and only slows down encode immensely), or is it because of some mechanism with -h? (it only improves quality at lower bitrates, and actually reduces at higher ones?)
[a href="index.php?act=findpost&pid=275151"][{POST_SNAPBACK}][/a]


In my opinion, this is most likely an oversight in the documentation.  The -x switch in the example listed would add much more encoding time than the -h switch, so unless you absolutely need decoding speed faster than -h, you should always use it.  It has no negative effects, and will afford better quality at a particular bitrate in hybrid mode.

Wavpack - 3 Questions

Reply #2
Quote
1. Would high-bitrate wavpack hybrid be "safer" (lack of killer samples) at the very high bitrates than pure lossy encoders?

From what I understand, when you throw more and more bits into a pure-lossy encoder, the effectiveness that the bits are used for becomes less and less, as the bottleneck becomes the psymodel itself rather than the lack of bits.


2. Would then this "quantization-only lossiness" necessarily increase the chances for transparency? As I have read, more faithfulness to waveform does not always correlate to more transparency.


[a href="index.php?act=findpost&pid=275151"][{POST_SNAPBACK}][/a]




1) Yes and no. Its safer with the traditional killer samples than plague normal lossy. You have hissing vs. ringing, warbling, dropouts of normal encoders. I take hissing any day but that is just my preference.


2) That is correct : the waveform has nothing to do with trasparency. The traditional encoders trick the ear and are worse in objective quality - apply distortions when they assume that your ear won't mind, Quality is not constant. Hybrids like wavpack and Dualstream provide constant quality and cannot really trick the human ear - apply noise constantly throughout the song, so its better objective quality and worse subjective. That is why trasparency kicks in much higher (300-400k) than normal lossy and you can have some of the advantages over traditional encoders. The safety that you are probably looking for is there:  the quality scales to pure lossless, so you could say that past a threshold (maybe 400-450k) the quality is 'guaranteed' .

Wavpack - 3 Questions

Reply #3
A very quick answer to your questions, based on my own opinion and testing:

1.  There is very little modelling as such in Wavpack, so the more bits you throw at it, the less error, and less "artifacts" which in Wavpack's case is added noise. (usually detectable as hiss). You don't run into a modelling limitation with Wavpack when you increase the bit rate. It just eventually becomes lossless.

2.  Yes, as per the reasons given by the others.

3.  At 384 kbits, the h switch makes no noticeable difference in the samples I've tested. By giving up the h switch you not only increase the encoding speed, but the decoding speed is almost double too if I recall correctly. Very useful when you are doing batch transcodes from Wavpack into LAME/Ogg Vorbis/ATRAC/insert your portable codec here...

Hope this helps.

Den.

Wavpack - 3 Questions

Reply #4
Quote
I have three newbie questions concerning wavpack that I have not found with search or in the documentation.

[... snip ...]

[span style='font-size:14pt;line-height:100%']3. I found this in the documentation:[/span]
Quote
"For the best lossless compression WavPack can offer, use -hx."


But then the table below, at "High quality" 384kbps, -h was not used.
Code: [Select]
 Bitrate     High quality   Faster Encode   Faster Decode
-------     ------------   -------------   -------------
256 kbps    -hb256x        -hb256          -b256x
320 kbps    -hb320x        -hb320          -b320x
384 kbps    -b384x         -hb384          -fb384x

Can anyone explain why high quality 384kbps does not warrant the -h switch? Is it because of feasibility (it's utterly unnecessary at that bitrate and only slows down encode immensely), or is it because of some mechanism with -h? (it only improves quality at lower bitrates, and actually reduces at higher ones?)
[a href="index.php?act=findpost&pid=275151"][{POST_SNAPBACK}][/a]


This troubled me too.  So I asked the Creator.  Here was his answer:

Quote
I omitted the -h for that setting because I feel that at that bitrate the
extra encoding and decoding time just would not be worth it from a
practical standpoint. To be precise however, the -h option *would* offer
some [measurable] improvement and so would be required for the "highest
sound quality possible".


The important thing from a quality standpoint is that EITHER the -h or -x
option be used. If both are omitted there is chance of audible degradation,
even at that high bitrate (although the encoding and decoding would be very
fast).

BTW, the -n option can give you a rough guide to comparing the quality of
the various lossy modes and options. The numbers by themselves don't
necessarily mean anything, but the relative differences do.



Hope that settles it. ;-)

Radetzky

Wavpack - 3 Questions

Reply #5
Your questions are thought-provoking.

But, as another note,  this is about lossless mode, and about compression ratio:

Quote
3. I found this in the documentation:
Quote
"For the best lossless compression WavPack can offer, use -hx."



While this is about lossy mode, and about quality.

Quote
But then the table below, at "High quality" 384kbps, -h was not used.


in that sense, they are not paradoxical.