lossyWAV v1.4.2 15/09/2016 Modification to "-l, --limit" parameter. The upper bound for the upper calculation limit is now 45.35% of the sample-rate of audio processed. Entering a value that exceeds this will no longer give an error, however the selected limit will be reduced to the upper bound for the upper calculation limit appropriate to the sample-rate of the audio being processed. The lower bound for the upper calculation limit remains at 12.5kHz. Introduction of a "hybrid" adaptive noise shaping "-s h, --shaping hybrid" that takes into account the results of all analyses performed and not just those for c.1.5ms and c.20ms. The order in which additional analyses are introduced using the "-a , --analyses " parameter is changed for the "-A, --altspread" and "-s h, --shaping hybrid" options, The order of addition is broadly the reverse of the default, i.e. 512, 256, 128, 16 samples rather than 16, 128, 256, 512 samples. The "-f, --freqdist" parameter now takes an optional "all" parameter and will display the frequency distribution for each of the calculated analyses. Replaces "--longdist" parameter. Modifications to "-A, --altspread [n]" parameter. Now disables "old" integer bin spreading (still used in default spreading) and permits the user to reduce the effect that adjacent bins have on the calculated minimum result for each bin. Takes an optional parameter in the range 0<=n<=1 to six decimal places, default is 1.0. Bugfix to "-c, --checking" parameter. Reintroduction of the "--static" parameter to modify the minimum absolute number of bits to keep during processing; Reintroduction of the "-D, --dynamic" parameter to modify the minimum dynamic number of bits to keep during processing. Cosmetic issue regarding display of time corrected (thanks Atak_Snajpera for bringing this to my attention); Bug in input scaling corrected (not an issue if scaling was not used previously while processing). lossyWAV v1.4.0 02/10/2014 Released lossyWAV beta 1.3.1m 04/08/2014Drop-dead-date now end of September 2014. lossyWAV beta 1.3.1k 02/06/2014Drop-dead-date now end of July 2014. lossyWAV beta 1.3.1j2 01/04/2014Drop-dead-date now end of May 2014. Crash fixed. lossyWAV beta 1.3.1j 31/03/2014Drop-dead-date now end of May 2014. Code tidy-up. lossyWAV beta 1.3.1h 31/01/2014Drop-dead-date now end of March 2014. Code tidy-up. lossyWAV beta 1.3.1g 01/12/2013Drop-dead-date now end of January 2014. Code tidy-up. Modifications to --shaping altfilter. lossyWAV beta 1.3.1f 15/10/2013Drop-dead-date still end of November. Bug hunt attempt #1 for non-specific crash. lossyWAV beta 1.3.1e 07/10/2013Drop-dead-date now end of November. Additions to --feedback parameter: "--feedback [n]" and "V, verbose". The addition of the numeric parameter (0.0 <= n <= 10.0) allows the user to increase the feedback sensitivity. Verbose increases the level of detail in the feedback output. A shorter FFT analysis has been introduced: 16 samples. This is now the first additional FFT analysis to be added (using "-a 4" or "--analyses 4"). Other FFT lengths are added in increasing numerical order. Bug fixes in output and some variable structural changes. lossyWAV beta 1.3.1d 15/09/2013Drop-dead-date now end of October. Additions to --feedback parameter: "r, round " reduces the permitted deviation between expected added noise due to rounding and actual; "n, noise " reduces the added noise level due to adaptive noise shaping; "a, aclips " defines the permitted number of exceedences of the permitted adaptive noise shaping limiting level; "A, alevel reduces the permitted adaptive noise shaping limiting level; Slight change to rounding clipping behaviour. Only clips introduced after scaling will be used when determining whether number of bits to remove should be reduced due to clipping. lossyWAV beta 1.3.1c 04/08/2013Drop-dead-date now end of September. Apologies for any inconvenience caused by the introduction of an expiry date for beta versions. lossyWAV beta 1.3.1b 20/06/2013Error in correction file re-combination (was restricted to 24-bit files) corrected. lossyWAV beta 1.3.1a 18/06/2013Improvements to WAVE64 and RF64 compatibility; Correction files work again for WAV and also WAVE64 and RF64; Dependency on pthreadgc2.dll removed. lossyWAV beta 1.3.0o 11/06/2013Introduction of WAVE64 and RF64 compatibility. lossyWAV will now read and write both formats in addition to WAV. lossyWAV beta 1.3.0n 30/03/2013experimental parameter --feedback introduced to modify bit removal process to include an added noise check. Seems to work well in conjunction with "--maxclips 0" or "--maxclips 1" at lower quality settings. lossyWAV beta 1.3.0m 25/03/2013Removed experimental new parameter --noisebtr. --interp-curve reinstated. experimental parameter --altfilter introduced to modify adaptive noise shaping method. lossyWAV beta 1.3.0k3 08/03/2013Introduction of experimental new parameter --noisebtr which applies a new method of detemining bits to remove. Well, I say new - SebastianG did point me in this direction *quite* some time ago. Basically, the creation of the noise shaping filter for each channel outputs a numerical value that I have finally used to determine the number of bits to remove from that codec-block channel. It even works on (non-clipping) tonal samples. It should be noted that this is a complete departure from the original method - no searching for the lowest signal in the FFT output bins. Limited tuning so far - however the presets should give approximately the same resultant FLAC output bitrate from --portable up to --insane. Below --portable, I have made the quality settings more aggressive and --extraportable results in a FLAC output bitrate of approximately 283kbit/s. This is quite a drop from the 308 to 311kbit/s previously. If anyone is prepared to spend the time on some testing, that would be very much appreciated. I think that --extraportable is a bit *too* aggressive at the moment, but that is more of a feeling than anything else. --interp-curve removed at this time. beta 1.3.0k2 issued due to omission of --noisebtr from text output parameter list (used in FACT chunk and log file). beta 1.3.0k3 issued due to last minute fix for bits-per-sample not equal to 16. lossyWAV beta 1.3.0j 08/02/2013Further experimental modification to the adaptive noise shaping routine, backed off a little but now works well with >96kHz samplerate lossyWAV beta 1.3.0i 30/01/2013Further experimental modification to the adaptive noise shaping routine. NB: Testing has shown that this does not work well with >96kHz samplerate!!. Bug-fix: now processes >16-bit properly - unexpected integer overflow discovered where floating point was thought to be used. lossyWAV beta 1.3.0h 23/01/2013Further experimental modification to the adaptive noise shaping routine. FLAC encode (-5 -b 512) from "-q X -i" results in 302kbit/s (compared to 309 kbit/s for vanilla --extraportable). lossyWAV beta 1.3.0g 18/01/2013Experimental modification to the adaptive noise shaping routine, new parameter -i, --interp-curve; adds optional cubic curve interpolation in lieu of linear interpolation when determining target spectral shape for each noise shaping filter. When encoded in FLAC (-5 -b 512) using the --extraportable preset, my 10 album test set results in 304kbit/s (compared to 309 kbit/s for vanilla --extraportable). lossyWAV beta 1.3.0f 26/10/2012First attempt at FFMPEG compatibility; lossyWAV beta 1.3.0e 24/09/2012More rounding issues found and amended; Output is hopefully bit identical with reference output (2nd attempt....); lossyWAV beta 1.3.0d 18/09/2012Bit removal chain error identified: C++ inherently rounds 0.5 differently from Delphi, Delphi uses Banker's rounding (round to even); Banker's rounding implemented; Output is now bit identical with reference output (caveat: from testing so far). [edit] Found not to be at --portable. Bug hunting continues.... [/edit] lossyWAV beta 1.3.0c 15/09/2012Piped I/O implemented - please report problems; Most bugs in bit-removal chain removed - output not yet bit identical; Internal FFT routines optimised. lossyWAV 1.3.0 is released. Changes from 1.2.0b: - Adaptive noise shaping method kindly provided by SebastianG introduced and enabled by default; - Fixed noise shaping reworked to allow effective shaping of samplerates other than 44.1kHz / 48kHz.0 - Major code cleanup.