LossyWAV: Difference between revisions
No edit summary |
No edit summary |
||
Line 19: | Line 19: | ||
==Naming== | ==Naming== | ||
lossyWAV processed files are usually named with a double filename extension, to make them instantly identifiable. e.g. ".lossy.flac" would indicate an audio file which was processed using lossyWAV, and subsequently encoded using FLAC.[http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=55522&view=findpost&p=498559] | lossyWAV-processed files are usually named with a double filename extension, to make them instantly identifiable. e.g. ".lossy.flac" would indicate an audio file which was processed using lossyWAV, and subsequently encoded using FLAC.[http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=55522&view=findpost&p=498559] | ||
Combinations of lossyWAV with each specific encoder are referred to as lossy'''X''', where '''X''' is an abbreviation of the lossless codec name. Combination names are listed in the "[[LossyWAV#Known supported codecs|known supported codecs]]" section below. | Combinations of lossyWAV with each specific encoder are referred to as lossy'''X''', where '''X''' is an abbreviation of the lossless codec name. Combination names are listed in the "[[LossyWAV#Known supported codecs|known supported codecs]]" section below. | ||
Line 82: | Line 82: | ||
==lossyWAV application settings== | ==lossyWAV application settings== | ||
<pre> | <pre> | ||
lossyWAV beta v0.5. | lossyWAV beta v0.5.4 : WAV file bit depth reduction method by 2Bdecided. | ||
Delphi implementation by Nick.C from a Matlab script, www.hydrogenaudio.org | Delphi implementation by Nick.C from a Matlab script, www.hydrogenaudio.org | ||
Line 91: | Line 91: | ||
Quality Options: | Quality Options: | ||
-1 extreme quality [4xFFT] (-cbs 512 -nts -2.0 -skew 36 -snr 21 | -0 emulate script [2xFFT] (-cbs 1024 -nts 0.0 -skew 0 -snr -215 | ||
-spf 44444-44444-44444-44444-44444 -fft 10001) | |||
-1 extreme quality [4xFFT] (-cbs 512 -nts -2.0 -skew 36 -snr 21 | |||
-spf 22224-22225-11235-11246-12358 -fft 11011) | -spf 22224-22225-11235-11246-12358 -fft 11011) | ||
-2 default quality [3xFFT] (-cbs 512 -nts +1.5 -skew 36 -snr 21 | -2 default quality [3xFFT] (-cbs 512 -nts +1.5 -skew 36 -snr 21 | ||
-spf 22224-22235-22346-12347-12358 -fft 10101) | -spf 22224-22235-22346-12347-12358 -fft 10101) | ||
-3 compact quality [2xFFT] (-cbs 512 -nts +6.0 -skew 36 -snr 21 | -3 compact quality [2xFFT] (-cbs 512 -nts +6.0 -skew 36 -snr 21 | ||
-spf 22235-22236-22347-22358-2246C -fft 10001) | -spf 22235-22236-22347-22358-2246C -fft 10001) | ||
-o <folder> destination folder for the output file | -o <folder> destination folder for the output file | ||
-nts <n> set noise_threshold_shift to n dB (- | -nts <n> set noise_threshold_shift to n dB (-48.0dB<=n<=+48.0dB) | ||
(-ve values reduce bits to remove, +ve values increase) | (-ve values reduce bits to remove, +ve values increase) | ||
-force forcibly over-write output file if it exists; default=off | -force forcibly over-write output file if it exists; default=off | ||
Line 110: | Line 112: | ||
-snr <n> set minimum average signal to added noise ratio to n dB; | -snr <n> set minimum average signal to added noise ratio to n dB; | ||
( | (-215.0dB<=n<=48.0dB) Increasing value reduces bits to remove. | ||
-skew <n> skew fft analysis results by n dB (0.0db<=n<=48.0db) in the | -skew <n> skew fft analysis results by n dB (0.0db<=n<=48.0db) in the | ||
frequency range 20Hz to 3.45kHz | frequency range 20Hz to 3.45kHz | ||
Line 125: | Line 127: | ||
before iterative clipping reduction; (0<=n<=64, default=0). | before iterative clipping reduction; (0<=n<=64, default=0). | ||
-clipping disable clipping prevention by iteration; default=off | -clipping disable clipping prevention by iteration; default=off | ||
-dither dither output using triangular dither; default=off | -dither dither output using triangular dither; default=off |
Revision as of 11:15, 29 November 2007
lossyWAV | |
---|---|
lossy pre-processor | |
Developer(s) | Nick.C |
Release | TBC |
Type | Lossy |
Recommended encoder | latest |
Website | Hydrogenaudio |
lossyWAV is a lossy pre-processor for audio. It reduces bit depth of the input signal, which, when used in conjunction with certain lossless codecs, reduces the bitrate significantly compared to unpreprocessed compression. lossyWAV's primary goal is to maintain transparency with a high degree of confidence when encoding any audio data.
History
lossyFLAC was an experiment started by 2Bdecided with the aim of transparently reducing audio bit depth (making some lower bits zero), thereby taking advantage of FLAC's detection of consistently zeroed lower sample bits within each single frame, increasing coding efficiency.[1]
Nick.C ported the original MATLAB implementation to Delphi, and lossyFLAC proved itself to work with other lossless codecs, so the application name was changed to lossyWAV. Since then, Nick.C has heavily developed and built upon lossyWAV, with tuning performed with the help of halb27.
Naming
lossyWAV-processed files are usually named with a double filename extension, to make them instantly identifiable. e.g. ".lossy.flac" would indicate an audio file which was processed using lossyWAV, and subsequently encoded using FLAC.[2]
Combinations of lossyWAV with each specific encoder are referred to as lossyX, where X is an abbreviation of the lossless codec name. Combination names are listed in the "known supported codecs" section below.
Presets
- -1: Disc space-saving alternative to lossless archiving for large audio collections.
- -2: General usage; a compromise between -1 and -3.
- -3: High quality preset for usage on a compatible DAP.[3] A comparison of portable media players is here, which shows FLAC and WMA Lossless compatibility among listed players.
Presets are, of course, not limited to these example uses. Preset -3 has proven to be more than acceptable for people who have been closely involved with development. It is up to the user to decide which preset to use for their own purposes.
Supported input formats
Known supported codecs
Codec | lossyWAV parameters | Encoder parameters | Combination name |
---|---|---|---|
FLAC | — | -b 512 | lossyFLAC |
LPAC | — | -b512 | lossyLPAC |
MPEG-4 ALS | — | -l -n512 | lossyALS |
TAK | — | -fsl512 | lossyTAK |
WavPack | — | --blocksize=512 | lossyWV |
WMA Lossless | -wmalsl (same as -cbs 2048) | — | lossyWMALSL |
Known unsupported codecs
lossyWAV application settings
lossyWAV beta v0.5.4 : WAV file bit depth reduction method by 2Bdecided. Delphi implementation by Nick.C from a Matlab script, www.hydrogenaudio.org Usage : lossyWAV <input wav file> <options> Example : lossyWAV musicfile.wav Quality Options: -0 emulate script [2xFFT] (-cbs 1024 -nts 0.0 -skew 0 -snr -215 -spf 44444-44444-44444-44444-44444 -fft 10001) -1 extreme quality [4xFFT] (-cbs 512 -nts -2.0 -skew 36 -snr 21 -spf 22224-22225-11235-11246-12358 -fft 11011) -2 default quality [3xFFT] (-cbs 512 -nts +1.5 -skew 36 -snr 21 -spf 22224-22235-22346-12347-12358 -fft 10101) -3 compact quality [2xFFT] (-cbs 512 -nts +6.0 -skew 36 -snr 21 -spf 22235-22236-22347-22358-2246C -fft 10001) -o <folder> destination folder for the output file -nts <n> set noise_threshold_shift to n dB (-48.0dB<=n<=+48.0dB) (-ve values reduce bits to remove, +ve values increase) -force forcibly over-write output file if it exists; default=off Codec Options: -wmalsl optimise internal settings for WMA Lossless codec; default=off Advanced / System Options: -snr <n> set minimum average signal to added noise ratio to n dB; (-215.0dB<=n<=48.0dB) Increasing value reduces bits to remove. -skew <n> skew fft analysis results by n dB (0.0db<=n<=48.0db) in the frequency range 20Hz to 3.45kHz -cbs <n> set codec block size to n samples (512<=n<=4608, n mod 32=0) -fft <5xbin> select fft lengths to use in analysis, using binary switching, from 64, 128, 256, 512 & 1024 samples, e.g. 01001 = 128,1024 -overlap enable conservative fft overlap method; default=off -spf <5x5hex> manually input the 5 spreading functions as 5 x 5 characters; These correspond to FFTs of 64, 128, 256, 512 & 1024 samples; e.g. 22235-22236-22347-22358-2246C (Characters must be one of 1 to 9 and A to F (zero excluded). -allowable select allowable number of clipping samples per codec block before iterative clipping reduction; (0<=n<=64, default=0). -clipping disable clipping prevention by iteration; default=off -dither dither output using triangular dither; default=off -quiet significantly reduce screen output -nowarn suppress lossyWAV warnings -detail enable detailled output mode -below set process priority to below normal. -low set process priority to low. Special thanks: David Robinson for the method itself and motivation to implement it in Delphi. Dr. Jean Debord for the use of TPMAT036 uFFT & uTypes units for FFT analysis. Halb27 @ www.hydrogenaudio.org for donation and maintenance of the wavIO unit.
Frequently asked questions
- Question: Is it VBR?
- Short answer: Yes.
- Question: Is it transparent?
- Short answer: Almost certainly.
- Question: Is it lossless?
- Short answer: No.
- Question: Why should I use this?
- Answer:
External links
- Current development thread
- Original lossyFLAC thread (no longer used)