Change log 1.0.0: 12/05/08Code tidied up and GNU GPL references included;Minor change to determination of RMS value of codec_block: minimum value of all channels now taken rather than average of all channels;A SourceForge project will be created and the code posted in due course.

Change log beta v0.9.8d: 06/05/08-spf preset values changed to: '22222-22223-22224-12234-12245-12356' in line with discussion on page 48;Code tidied up a bit and work done on the noise shaping code for v1.1.0, including the implementation of a Fibonacci shift register PRNG for triangular dither (Thanks to DualIP for making me aware of this method of fast pseudo random number generation!).

Change log beta v0.9.6: 24/04/08-<n> presets removed in favour of -q <n> (0<=n<=10 quality preset selection. -q 0 = old -8; -q 5 = old -3; -q 10 = old -0.-snr and -nts parameters removed;-minbits <n> (0<=n<=8; resolution = 0.01; default=3;) introduced as an advanced option to allow the user to select the minimum number of bits to keep (relating to the log2 of the rms value of all the samples in the codec block);-help and -longhelp parameters introduced and basic no parameter help reduced. System options moved to -help; Advanced options moved to -longhelp. This still needs some fleshing out.

Change log beta v0.9.4: 18/04/08Changed the default number of FFT analyses to 2 lengths for all quality presets;Tightened up the spreading function (same for all quality presets);Implemented floating point quality presets (-0.0 to -7.0, resolution 0.0001);Made highest quality preset (-0) settings more conservative.

Change log beta v0.9.3: 17/04/08Error in skewing function preparation found and rectified - knock-on effect that bitrate reduced by around 20kbps for all quality presets and variations in bitrate between spreading functions reduced;All quality presets now use the spreading function for -1.

Change log beta v0.8.8: 27/03/08Error in the -merge parameter tracked and amended;FFT now makes use of the ability to calculate a real FFT of length 2N using a complex FFT of length N (20% to 25% speedup);Reads and writes to disk are now larger to reduce file fragmentation.

Change log beta v0.8.7: 21/03/08Error in the -merge parameter tracked and amended to adopt David's method of storing the difference when scaled;

Change log beta v0.8.6: 18/03/08Error in the -merge parameter tracked and amended;-scale <n> parameter implemented to allow WAV data to be scaled (in the range 0 to 1, resolution 0.000001) prior to processing. -scale is compatible with the -correction and -merge parameters (although combined filesize may be large);Complete FFT unit now in IA-32/x87.

Change log beta v0.8.5: 17/03/08-shaping parameter now takes a supplementary value between 0 and 1 (0.001 resolution) which specifies the "proportion" of noise shaping to apply (0=fully off [default], 1=fully on);-newspread parameter removed as results are identical to the existing spreading function that I thought that I had doubts about. The revised method will probably be faster when fully optimised in IA-32/x87 and will replace the existing method in the near future.

Change log beta v0.8.4: 14/03/08Total rewrite of the -shaping parameter, in line with gratefully received guidance from SebastianG. No dither has been included (yet). The program will automatically select either the 44.1kHz or the 48kHz functions as required by the input WAV file. At present these are the only two sample rates for which noise shaping functions have been incorporated;A rewrite of the spreading function has been included and is enabled using the -newspread parameter. This fixes a problem where some samples would be used too many times in the calculation of the average value of the FFT output;Limits for -snr and -nts modified to 0 to 48 and -48 to 36 respectively to allow testing of the effectiveness of the noise shaping function.

Change log beta v0.8.2:First real attempt at implementing noise shaping, thanks to David for the pointers. It is currently not an optional parameter and will be applied to all quality presets.-merge parameter "repaired" (wasn't looking in the right places for files).-1 quality preset reduced from 4 to 3 FFT analyses; -2 quality preset reduced from 3 to 2 FFT analyses; (use a,b,c to increase if so wished).

Change log beta v0.7.6:Addition of -4 quality preset, analogous to -3 at v0.6.4 RC1, but with 5 allowable clips per channel per codec_block;Some work done on maximum_bits_to_remove: log2 of RMS value of all samples in a codec_block is taken and minimum_bits_to_keep is subtracted rather than bits_per_sample-minimum_bits_to_keep;-overlap parameter removed;-centre parameter removed.

Change log beta v0.7.0:Implementation of "-clips" parameter to set number of allowable clips per channel per codec_block (0<=n<=512).

Change log beta v0.6.9:Code speedup;

Change log beta v0.6.8:Implementation of dynamic minimum_bits_to_keep=5. Dynamic in the sense that the maximum bit is determined for each codec_block (taking sign into account) rather than just assuming bits_per_sample;Implementation of allowable_clips per channel per codec block. -1 = 0; -2 = 1; -3 = 5. Based on the 512 sample codec_block_size this will allow at most 0.1134 milliseconds of clipping per channel per codec_block.

Change log beta v0.6.1:-correction parameter implemented which will create a .lwcdf.WAV file which, when added to the lossy.WAV file using a not yet implemented parameter of lossyWAV, will reconstitute the lossless original file.Error finally found in remove_bits routine (which is why it's taken so long for me to implement the -correction parameter) - very slight increase in bitrate (about 0.54kbps for my 53 problem sample set).-shaping parameter removed.When the corresponding .lossy.wav and .lwcdf.wav files, processed using lossyWAV -3, are encoded using FLAC -3 -m -e -r 2 -b 512, the total size for my 53 sample set (69.4MB FLAC) is 76.3MB : 39.0MB .lossy.FLAC, 37.3MB .lwcdf.FLAC.