Taking into account what botface was saying about the higher quality presets, I've had (yet) another think about the basis for the presets. If the -nts and -snr values were changed from: quality_noise_threshold_shifts : array[0..Quality_Presets] of Integer = (-12,-8,-4,0,4,8,12,16);
quality_signal_to_noise_ratio : array[0..Quality_Presets] of Integer = (30,27,24,21,20,19,18,17);
to quality_noise_threshold_shifts : array[0..Quality_Presets] of Integer = (-24,-16,-8,0,4,8,12,16);
quality_signal_to_noise_ratio : array[0..Quality_Presets] of Integer = (39,33,27,21,20,19,18,17);
Then the resultant bitrates (for my 53 problem sample set) would change from:
-0.0: 610kbps; -0.5: 589kbps; -1.0: 566kbps; -1.5: 543kbps; -2.0: 520kbps; -2.5: 496kbps; -3.0: 472kbps;
to
-0.0: 717kbps; -0.5: 686kbps; -1.0: 651kbps; -1.5: 611kbps; -2.0: 555kbps; -2.5: 519kbps; -3.0: 472kbps;
with the remaining presets:
-3.5: 451kbps; -4.0: 431kbps; -4.5: 412kbps; -5.0: 395kbps; -5.5: 379kbps; -6.0: 364kbps; -6.5: 350kbps; -7.0: 338kbps
staying the same.
[edit] Oh, I forgot to say: there's an undocumented parameter, currently called -lowpass (the name should maybe be changed - suggestions please) which changes the upper limit of the frequency range used in the spreading-function / minimum value / average value calculations. Permitted values are in the range 13.5kHz to 20.05kHz. [/edit]