Re: Good requantizers?
Reply #33 – 2021-07-20 19:00:08
New version: -Further improved dynamic range (noise floor) and noise shaping. -The encoder will automatically retry at a lower level to avoid clipping like this (yes it supports multichannel files):------------------------------------------------------------------------------- H:\Antonio Vivaldi - The Four Seasons- Summer.wav 00:10:33.8666666 = 55907040 samples / 2-ch @ 44100Hz Encoded at 253.3487 x 2.5019532 secs ------------------------------------------------------------------------------- H:\Bedrich Smetana - Mein Vaterland- Die Moldau.wav 00:12:04.7600000 = 63923832 samples / 2-ch @ 44100Hz Encoded at 255.3869 x 2.8378906 secs ------------------------------------------------------------------------------- H:\Evangelion_3.33.0_You_Can_(Not)_Redo.wav WAVE_FORMAT_EXTENSIBLE 00:01:47.9160000 = 31079808 samples / 6-ch @ 48000Hz Encoded at 74.81786 x 1.4423829 secs ------------------------------------------------------------------------------- H:\Konami Kukeiha Club - UNIVERSE -STAGE 1-.wav 00:02:55.9066666 = 15514968 samples / 2-ch @ 44100Hz Clipped 0.2162019 dB. Retry... Encoded at 104.5435 x 1.6826172 secs ------------------------------------------------------------------------------- H:\Luis Fonsi - Despacito (feat. Daddy Yankee).wav 00:03:49.2400000 = 20218968 samples / 2-ch @ 44100Hz Clipped 0.3593756 dB. Retry... Encoded at 104.8891 x 2.1855468 secs ------------------------------------------------------------------------------- H:\M - A Recordings - Shadow Bright by Bruce Stark M0011A.wav 00:03:00.0400000 = 15879528 samples / 2-ch @ 44100Hz Encoded at 254.9944 x 0.7060547 secs ------------------------------------------------------------------------------- H:\Phil Collins - Another Day in Paradise.wav 00:05:22.9600000 = 28485072 samples / 2-ch @ 44100Hz Clipped 0.2162019 dB. Retry... Encoded at 106.2014 x 3.0410156 secs ------------------------------------------------------------------------------- It is recommended to use RAM drive for benchmarking, especially when decoding, and the input files should be long enough so that the timer has enough ticks (it runs at 10000000 ticks/sec) to get meaningful stats instead than showing something like "Decoded at +∞ x 0 secs". Also, when using something like foobar2000 to convert files, it launches multiple encoder instances (FLAC, mp3, Wavpack...) in multiple threads. The UA-law demo, being a demo, needs to show info in a console and does not support foobar2000's encoder pipeline at this moment. Check the attached demo compared to IMA/MS ADPCM. The "-ComP.waV" file is smaller than them when encoded with FLAC, and the decoded file has lower distortion and noise than the ADPCM files. It is possible to convert existing CDDA files to 16-bit but with higher sample rates, UA-law's noise shaper will further reduce the noise in audible frequencies, and the encoded files will still be smaller than the 44k ones with FLAC. DSD files must and DXD files may contain lot of ultrasonic noise and will harm UA-law's performance, these files should be lowpassed or resampled to a lower rate (e.g. 96k) before encoding. After RG and/or resampling, simple 1-bit TPDF dither like Case's Smart Dither (make sure "high-pass" is checked because it is faster) should be used instead of heavily shaped dither like the one from foobar2000, and should give enough headroom to avoid intersample over or clipping the UA-law encoder so that there is no need to retry.