I welcome most your idea to have a fixed fft analysis strategy (fft length of 64, 256, 1024) for any quality setting (as done with -2 so far).
Sufficient IMO and makes fine tuning a lot more easy:
For fine tuning purposes can you provide spreading length options of the kind:
-spreading64 11234
-spreading256 12334
-spreading1024 23345
or similar.
This way anybody can try to find a promising spreading length strategy.
I'd love to search for such strategies for -1, -2, -3, and I wouldn't have to bother you with building new lossyWav versions for whatever comes to my mind.
I was thinking about this early this morning: it might be easier to implement a -spread parameter that takes a 15 character hexadecimal numeric input (would we ever exceed spreading_function_length=15?) and puts the results in the spreading_function table for each analysis length. This would be independent of the number of actual analyses (128=64, 512=256, 2048=1024). I'm very glad that the problem samples are improving while the average bitrate is not growing too much.
So, expect a new build with the possibility to use "-spread 112341233423345" to control the spreading function. Now, where's the cliParameter unit, I must rip it apart and rebuild it.......
Okay, cliParameter unit duly ripped and rebuilt. There is an unexplained considerable slowdown of processing, but for evaluation of spreading functions it should be okay. lossyWAV alpha v0.3.17 attached. Superseded, slowdown "cured".
[!--sizeo:1--][span style=\"font-size:8pt;line-height:100%\"][!--/sizeo--]lossyWAV alpha v0.3.17 : WAV file bit depth reduction method by 2Bdecided.
Delphi implementation by Nick.C from a Matlab 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> set noise_threshold_shift to n dB (-15dB<=n<=0dB, default=-1.5dB)
(reduces overall bits to remove by 1 bit for every 6.0206dB)
-snr <n> set minimum average signal to added noise ratio to n dB;
(0dB<=n<=48dB, default=12dB)
-skew <n> skew fft analysis results by n dB (0db<=n<=48db, default=12dB)
in the frequency range 20Hz to 3.45kHz
-spf <15hex> manually input the 3 spreading functions as 3 x 5 hex characters;
e.g. 444444444444444, default=111241123423345; Hex characters
must be one of 1,2,3,4,5,6,7,8,9,A,B,C,D,E,F (zero excluded).
-o <folder> destination folder for the output file
-clipping disable clipping prevention by iteration; default=off
-force forcibly over-write output file if it exists; default=off
Advanced / System Options:
-dither dither output using triangular dither; 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.
Special thanks:
Dr. Jean Debord for the use of TPMAT036 uFFT & uTypes units for FFT analysis.
Halb27 @ www.hydrogenaudio.org for donation and maintenance of the wavIO unit.
[/size]