lossyWAV 1.2.0, Copyright © 2007,2008,2009 Nick Currie. Copyleft.This program is free software: you can redistribute it and/or modify it underthe terms of the GNU General Public License as published by the Free SoftwareFoundation, either version 3 of the License, or (at your option) any laterversion.This program is distributed in the hope that it will be useful,but WITHOUT ANYWARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR APARTICULAR PURPOSE. See the GNU General Public License for more details.You should have received a copy of the GNU General Public License along withthis program. If not, see <http://www.gnu.org/licenses/>.Process Description:lossyWAV is a near lossless audio processor which dynamically reduces the bitdepth of the signal on a block-by-block basis. Bitdepth reduction adds whitenoise to the processed output. The amount of permissible added noise is basedon analysis of the signal levels in the default frequency range 20Hz to 16kHz.If signals above the upper limiting frequency are at an even lower level, theycan be swamped by the added noise. This is usually inaudible, but the behaviourcan be changed by specifying a different --limit (in the range 10kHz to 20kHz).For many audio signals there is little content at very high frequencies andforcing lossyWAV to keep the added noise level lower than the content at thesefrequencies can increase the bitrate dramatically for no perceptible benefit.Usage : lossyWAV <input wav file> <options>Example : lossyWAV musicfile.wavQuality Options:-I, --insane highest quality output, suitable for transcoding;-E, --extreme high quality output, also suitable for transcoding;-S, --standard default quality output, considered to be transparent;-P, --portable good quality output for DAP use, not fully transparent.-Z, --zero lowest quality preset, probably contains artifacts.Standard Options:-C, --correction write correction file for processed WAV file; default=off.-f, --force forcibly over-write output file if it exists; default=off.-h, --help display help.-L, --longhelp display extended help.-M, --merge merge existing lossy.wav and lwcdf.wav files.-o, --outdir <t> destination directory for the output file(s).-v, --version display the lossyWAV version number.-w, --writetolog create (or add to) lossyWAV.log in the output directory.Advanced Options:- if filename="-" then WAV input is taken from STDIN.-t, --altpreset enable alternative preset model which changes default behaviour regarding limit and shaping (if selected).-a, --analyses set number of FFT analysis lengths, (3<=n<=5), default=2. --blockdist show distribution of lowest / highest significant bit of input codec-blocks and bit-removed codec-blocks.-c, --check check if WAV file has already been processed; default=off. errorlevel=16 if already processed, 0 if not.-i, --impulse force use of additional shorter FFT analysis; default=off, automatic for -q 3 and above.-l, --limit <n> set upper frequency limit to be used in analyses to n Hz; (10000<=n<=20000), default=16000. --linkchannels Revert to original single bits-to-remove value for all channels rather than channel dependent bits-to-remove. --maxclips <n> set max. number of acceptable clips per channel per codec block. (0<=n<=16) Default = (3,3,3,3,2,1,0,0,0,0,0).-m, --midside analyse 2 channel audio for mid/side content.-q, --quality <n> quality preset (0.000<=n<=10.000); (10=highest, 0=lowest; default = --standard = 5; --insane = 10; --extreme = 7.5; --portable = 2.5; --zero = 0) --sampledist show distribution of lowest / highest significant bit of input samples and bit-removed samples. --scale <n> scaling factor from WaveGain, etc; (0.0<n<=8.0),default=1.-s, --shaping [n] enable fixed noise shaping, automatic if no value input. (0.00<=n<=1.00); automatic = q/10; 0.00 = off, 1.00 = 100% effectiveness, 0.50 = 50%, etc. --stdout write processed WAV output to STDOUT. --stdinname <t> pseudo filename to use when input from STDIN.-U, --underlap <n> enable underlap mode to increase number of FFT analyses performed at each FFT length, (2<=n<=8); default=2.-X, --sortspread enable sort based spreading; default=off.System Options:-B, --below set process priority to below normal.-d, --detail enable detailed bits-to-remove information output mode --low set process priority to low.-n, --nowarnings suppress lossyWAV warnings.-Q, --quiet significantly reduce screen output. --silent no screen output.Special thanks go to:David Robinson for the publication of his lossyFLAC method, guidance, and the motivation to implement his method as lossyWAV.Horst Albrecht for ABX testing, valuable support in tuning the internal presets, constructive criticism and all the feedback.Sebastian Gesemann for the noise shaping coefficients and help in using them in the lossyWAV noise shaping implementation.Matteo Frigo and for the excellent libfftw3-3.dll contained in the FFTWSteven G Johnson distribution (v3.2.1 or v3.2.2).Mark G Beckett for the Delphi unit that provides an interface to the(Univ. of Edinburgh) relevant fftw routines in libfftw3-3.dll.Don Cross for the Complex-FFT algorithm originally used.
Encoder: c:\windows\system32\cmd.exeExtension: lossy.flacParameters: /d /c c:\"program files"\bin\lossywav - --standard --silent --stdout|c:\"program files"\bin\flac - -b 512 -5 -f -o%dFormat is: lossless or hybridHighest BPS mode supported: 24
Encoder: c:\windows\system32\cmd.exeExtension: lossy.takParameters: /d /c c:\"program files"\bin\lossywav - --standard --silent --stdout|c:\"program files"\bin\takc -e -p2m -fsl512 -ihs - %dFormat is: lossless or hybridHighest BPS mode supported: 24
Encoder: c:\windows\system32\cmd.exeExtension: lossy.wvParameters: /d /c c:\"program files"\bin\lossywav - --standard --silent --stdout|c:\"program files"\bin\wavpack -hm --blocksize=512 --merge-blocks -i - %dFormat is: lossless or hybridHighest BPS mode supported: 24
BTW: i encoded a fiona apple cd and -P -t was slightly larger than old -P. Is this normal ? I thought -t was more aggressive to save a few bits. In any case i am happy with old -P.
Great work! Thank you.Quote from: shadowking on 17 December, 2009, 07:53:49 AMBTW: i encoded a fiona apple cd and -P -t was slightly larger than old -P. Is this normal ? I thought -t was more aggressive to save a few bits. In any case i am happy with old -P.The same here with my primary test corpus of 46 (probably problem) files.
one of the most innovative audio compression techniques in recent years
At -q 4 i didn't abx it. Not sure what is happening or what quality level is needed.
Thank you, shadowking, for ABXing.Not very good news, but valuable experience of lossyWAV behavior.Do you mind publishing the sample and tell us the bad spot of the sample, shadowking?I'd like to learn about transcoding quality whether it depends on -V.Can you ABX the mp3 encoding of say -P --altpreset when you choose a better mp3 quality like -V2?
What kind of circular gibberish is this? That's not an answer. It's false logic, and a poor attempt at justifying the existence of this particular software.How about an honest answer to that question?
An early criticism of lossyFLAC / lossyWAV was that lossy output was by design to be contained in a lossless container. "How do we tell the difference?" came the cry.... "Make it yourself." was the response.
Better news: ... Q2.5 and over were fine. ...
Quote from: shadowking on 25 December, 2009, 07:30:16 PMBetter news: ... Q2.5 and over were fine. ...Thank you, shadowking. Though the --portable quality level does not necessarily have the property that transcoding to mp3 is fine it would have been a little bit disappointing.
You can create a batch file, say lossyFLAC.bat, in your FLAC folder with this contents:c:\programme\flac\lossyWAV.exe %1 %3 %4 %5 %6 %7 %8 %9 --below --silentren "%~N1.lwcdf.wav" "%~N2.lwcdf.wav"c:\programme\flac\flac.exe -b 512 -l 6 -e -m -r 2 -f --totally-silent "%~N1.lossy.wav" -o"%~N2.flac" del "%~N1.lossy.wav"Change the paths of lossyWAV.exe and flac.exe according to your system.In foobar, Command Line Encoder Settings, you choose this lossyFLAC.bat as your encoder.As parameters you use %s %d --portable -C (resp. your quality setting).
c:\programme\flac\flac.exe -b 512 -l 6 -e -m -r 2 -f --totally-silent "%~N1.lwcdf.wav" -o"%~N2.lwcdf.flac" del "%~N1.lwcdf.wav"