lossyWAV 1.2.0, Copyright © 2007,2008,2009 Nick Currie. Copyleft.
This program is free software: you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation, either version 3 of the License, or (at your option) any later
version.
This program is distributed in the hope that it will be useful,but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with
this 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 white
noise to the processed output. The amount of permissible added noise is based
on 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, they
can be swamped by the added noise. This is usually inaudible, but the behaviour
can 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 and
forcing lossyWAV to keep the added noise level lower than the content at these
frequencies can increase the bitrate dramatically for no perceptible benefit.
Usage : lossyWAV <input wav file> <options>
Example : lossyWAV musicfile.wav
Quality 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 FFTW
Steven 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.
[/size]
Link to the hydrogenaudio wiki article
Suggested foobar2000 converter setup:
lossyFLAC:Encoder: c:\windows\system32\cmd.exe
Extension: lossy.flac
Parameters: /d /c c:\"program files"\bin\lossywav - --standard --silent --stdout|c:\"program files"\bin\flac - -b 512 -5 -f -o%d
Format is: lossless or hybrid
Highest BPS mode supported: 24
lossyTAK:Encoder: c:\windows\system32\cmd.exe
Extension: lossy.tak
Parameters: /d /c c:\"program files"\bin\lossywav - --standard --silent --stdout|c:\"program files"\bin\takc -e -p2m -fsl512 -ihs - %d
Format is: lossless or hybrid
Highest BPS mode supported: 24
lossyWV:Encoder: c:\windows\system32\cmd.exe
Extension: lossy.wv
Parameters: /d /c c:\"program files"\bin\lossywav - --standard --silent --stdout|c:\"program files"\bin\wavpack -hm --blocksize=512 --merge-blocks -i - %d
Format is: lossless or hybrid
Highest BPS mode supported: 24
Enclose the element of the path containing spaces within double quotation marks ("), e.g. C:\"Program Files"\directory_where_executable_is\executable_name. This is a Windows limitation.