lossyWAV alpha v0.3.8 attached. Superseded.
Having made an abortive attempt at Bark related bit reduction determination, I have been changing the spreading method a bit, firstly having reverted to the original FFT bin averaging (3 or 4 bins dependent on quality level). As can be seen below, I have introduced two elements to the method: firstly, average 3 bins below 3.7kHz and 4 bins above; secondly, use the "square mean root" value as a slightly more conservative result (compared to simple averaging).
Reducing to very few bins (i.e. 1 or 2) drastically reduces the bits_to_remove and has not been implemented.
lossyWAV alpha v0.3.8 : WAV file bit depth reduction method by 2Bdecided.
Transcoded to Delphi by Nick.C & Halb27 from a script, www.hydrogenaudio.org
Usage : lossyWAV <input wav file> <options>
Example : lossyWAV musicfile.wav
Options:
-1, -2 or -3 quality level (1:overkill, 2:default, 3:compact)
-nts <n> noise_threshold_shift=n (-15.0<=n<=0.0, default -1.5dB)
(reduces overall bits to remove, -1 bit = -6.0206dB)
-o <folder> destination folder for the output file
-force forcibly over-write output file if it exists.
Advanced Options:
-spread <n> select spreading method : 0<=n<=3; default=0
0 = fft bin averaging : 3 or 4 bins, (original method);
1 = fft bin averaging : 3 bins below 3.7kHz, 4 bins above;
2 = fft bin square mean root : 4 bins;
3 = fft bin square mean root : 3 bins below 3.7kHz, 4 bins above
-skew <n> skew results of fft analyses by n dB (0.0<=n<=12.0, default=0.0)
with a (sin-1) shaping over the frequency range 20Hz to 3.7kHz.
(artificially decrease low frequency bins to take into account
higher SNR requirements at low frequencies)
-dither dither output using triangular dither; default=off
-noclip clipping prevention amplitude reduction; default=off
-quiet significantly reduce screen output
-nowarn suppress lossyWAV warnings
-detail enable detailled output mode
-below set process priority to below normal.
-low set process priority to low.