Is that the reason why material with 96 kHz is currently reduced to the same filesize as material with 48 kHz? Are higher sample rates currently treated like if they are played back at a lower speed/rate, thus lowering the frequency spectrum accordingly, which results in a wrong calculation of how many bits can be removed?
Does that mean that if noise shaping is disabled less bits are removed? That would reassure me.
Is it intended that the dithering noise is also shaped? A frequency analysis reveals that it's also mildly shaped. I always thought that rectangular or triangular dither corresponds to white noise.
I'm using the current version 1.1.0b.I don't know if it's good to reuse old random values. Why not just use two independent random values? Is the performance impact too high? As it's not used by default I don't think that would be much of an issue.I have redone the above graph and now differentiated correctly between dither off and dither 0. I also included ReplayGain values to illustrate the theoretically perceived loudness of the noise.
Of course the dither should/will be noise shaped. It should/will sit next to the quantisation stage within the noise shaping loop.Current random number minus previous random number is a well accepted way of getting slightly high passed dither.Hancoque, no one is suggesting that you should use dither. It's there for people who incorrectly think that they need it - not for those who know that they don't (nor for those that don't know or care!).Cheers,David.
I will modify 1.1.0 to increase the FFT lengths at 69.08kHz, 138.15kHz and 276.3kHz, i.e. 64 to 128 to 256 and 512 samples respectively and correspondingly for the other lengths with a similar increase in codec-block length, 512 to 1024 to 2048 to 4096 samples.
1) Dither is added pre noise shaping;
But in-loop or out-of-loop? Traditionally it should be in-loop, like this...http://www.hydrogenaudio.org/forums/index....st&p=580394Cheers,David.
flac -d %1 --stdout --silent|lossywav - --stdout -P|flac - -b 512 -o %~p1%~n1.lossy.flac --silent && tag --fromfile %1 %~p1%~n1.lossy.flac
continued, about bat files and tagging, this two liner seems to be working;lossyflac.batCode: [Select]flac -d %1 --stdout --silent|lossywav - --stdout -P|flac - -b 512 -o %~n1.lossy.flac --silenttag --fromfile %1 %~n1.lossy.flac...
flac -d %1 --stdout --silent|lossywav - --stdout -P|flac - -b 512 -o %~n1.lossy.flac --silenttag --fromfile %1 %~n1.lossy.flac
You could put both lines on one line with a && in between
QuoteYou could put both lines on one line with a && in betweenany benefits from that? or do we want oneliner?
@flac -d %1 --stdout --silent|lossywav - --stdout -P|flac - -b 512 -o %~p1%~n1.lossy.flac --silent && tag --fromfile %1 %~p1%~n1.lossy.flac
F:\lossywavtest\>flac -d doesnotexist.flac --stdout --silent | lossywav - --stdout -P | flac - -b 512 -o doesnotexist.lossy.flac --silentdoesnotexist.flac: ERROR initializing decoder init status = FLAC__STREAM_DECODER_INIT_STATUS_ERROR_OPENING_FlossyWAV 1.1.0b, Copyright (C) 2007,2008 Nick Currie. Copyleft.This is free software under the GNU GPLv3+ license; There is NO WARRANTY, tothe extent permitted by law. <http://www.gnu.org/licenses/> for details.ILEAn error occurred opening the input file; it is likely that it does not existor is not readable.ERROR: for encoding a raw file you must specify a value for --endian, --sign, --channels, --bps, and --sample-rateType "flac" for a usage summary or "flac --help" for all optionsF:\lossywavtest\>tag --fromfile doesnotexist.flac doesnotexist.lossy.flacTag - Automatic Tag from filename Copyright (c) 2002-2003 CaseVersion 2.0.39b, Compiled 2003-04-11File not found: 'doesnotexist.lossy.flac'fromfile: Can't open file 'doesnotexist.flac'.
Nice batch file. But if the specified input file does not exist, this results in a crash of lossywav.exe
@if exist "%1" flac -d "%1" --stdout --silent|lossywav - --stdout -P|flac - -b 512 -o "%~n1.lossy.flac" --silent && tag --fromfile "%1" "%~n1.lossy.flac"
Thanks Nick.C, that fixed the error
@echo off:repeatif %1.==. goto endif exist %1 flac -d %1 --stdout --silent|lossywav - --stdout -P --stdinname %1|flac - -b 512 -o "%~dpn1.lossy.flac" --silent && tag --fromfile %1 "%~dpn1.lossy.flac"shiftgoto repeat:end
FOR %X in (*.flac) DO lossyflac.bat "%X"
That one works great when you pass one or more filenames, but when I tried with *.flac I got a crash of LossyWav.exe again.It seems that we need a construction with a FOR (%%I) IN %1 DO loop here to handle wild cards.This command line does the job:Code: [Select]FOR %X in (*.flac) DO lossyflac.bat %XBut this one skips filenames that include spaces.
FOR %X in (*.flac) DO lossyflac.bat %X