Tycho started the Delphi to C++ translation of lossyWAV in August 2012. After some time getting to grips with C++ and a bit of debugging, I started to develop lossyWAV 1.4.0.

Changelog:

lossyWAV v1.4.0 02/10/2014

Released

lossyWAV beta 1.3.1m 04/08/2014

Drop-dead-date now end of September 2014.

lossyWAV beta 1.3.1k 02/06/2014

Drop-dead-date now end of July 2014.

lossyWAV beta 1.3.1j2 01/04/2014

Drop-dead-date now end of May 2014.

Crash fixed.

lossyWAV beta 1.3.1j 31/03/2014

Drop-dead-date now end of May 2014.

Code tidy-up.

lossyWAV beta 1.3.1h 31/01/2014

Drop-dead-date now end of March 2014.

Code tidy-up.

lossyWAV beta 1.3.1g 01/12/2013

Drop-dead-date now end of January 2014.

Code tidy-up.

Modifications to --shaping altfilter.

lossyWAV beta 1.3.1f 15/10/2013

Drop-dead-date still end of November.

Bug hunt attempt #1 for non-specific crash.

lossyWAV beta 1.3.1e 07/10/2013

Drop-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.

Introduction of WAVE64 and RF64 compatibility. lossyWAV will now read and write both formats in addition to WAV.

lossyWAV beta 1.3.0n 30/03/2013

experimental 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.

Introduction 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/2013

Further 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/2013

Further 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.

I've been experimenting with various compression levels in FLAC and -q X, and I've found that for certain tracks, -0 compresses much more efficiently than higher levels, and is practically equivalent with at least one of the tracks I tested at -8. Extraportable combined with -0 might very well make for the most overall efficient decode combination ever. Exciting stuff.