High quality command-line audio sample rate converter
When using a linear-phase FIR as an anti-aliasing filter, a small delay is introduced due to the nature of the filter's impulse response (ie peak value occurs in the middle).
In this release, by default, this small delay is compensated for and corrected, resulting in the timing of transients in the output file matching the input file precisely.
This appears to be the accepted practice among sample rate converters. Nevertheless, if desired, this behavior can be deactivated using the --noDelayTrim command-line option.
More information is available in the documentation
Dither profiles can now be activated by using the --ns <n> option in conjunction with the --dither option. (where n is the ID of the dither profile in the range 0-12)
A list of Dither Profiles can be obtained by invoking ReSampler with the --showDitherProfiles option
Generally, the noise shaping becomes more intense (has higher amplitude) as the Dither Profile ID increases, with ID 0 corresponding to flat (no noise shaping; which is also equivalent to using the --flat-tpdf switch).
As the dither profile ID increases, the noise shapes are designed to have progressively less perceived noise (despite actually having more noise added to the output).
The noise source for all dither profiles is TPDF noise (Triangular Probability Density Function).
Most of these noise-shaping curves are designed for 44.1kHz playback. Curves for other samplerates may be provided in future versions.
Although the noise-shaping curves are primarily designed for 44.1kHz, you can use any dither profile with any sampling rate, with the result being that the curve will be 'stretched' to scale with the sampling rate, which means that the notches and bumps may no longer be in their optimal positions. Nevertheless, for very high sample rates (88.2kHz+), ID 1 or ID 2 work well in practice
The algorithm used for noise shaping in previous versions of ReSampler is still available as ID 1. However, in this release the default dither profile is now ID 6 ("standard")
For additional information on Dither Profiles, including frequency response plots, please refer to this document.
Invoking ReSampler with the --sndfile-version option will confirm the version of libsndfile in use by ReSampler.
Native metadata now works for the following file types: wav, aiff, caf, flac, oga, rf64
This means that when converting between these file types, metadata will be transferred from the input file to the output file.
Please note that aiff files only support the "name" and "artist" fields.
To disable the transfer of metadata from input file to output file, use the --noMetadata option
ID3 tags are not supported yet. The above refers only to the native (built-in) metadata supported by each of the above formats. Also, Since dsf files use ID3 chunks, this means that metadata from dsf files is not read
Changed Kaiser Window sidelobe attenuation from 140dB to 160dB for complex ratios.
when reducing the gain, clipping detection will nudge the gain down by an addional fraction of an LSB to avoid unnecessary clipping detection loops.
Note: 27th March 2017: fixed error with incorrect dlls : updated zip to include libsndfile v1.0.27 dlls
Added support for bext (broadcast extension) and cart chunks in .wav files, as used by the Radio industry.
If the input and output files are both .wav files, and the input file contains bext or cart metadata, then this metadata will be transferred to the output file.
Note: 27th March 2017: fixed error with incorrect dlls : updated zip to include libsndfile v1.0.27 dlls
Bugfix: for output files greater than 4GB, the file format was being changed to rf64 even when an output format other than "wav" was selected. This has been corrected in this release.
If the output format is a type suitable for large files (eg W64, CAF, FLAC etc), the 4GB warning will still be shown, but the output format will be whatever you requested (and not changed to rf64)
If the output format is wav, and the output size is going to be greater than 4GB, the format will be changed to rf64
Note: 27th March 2017: fixed error with incorrect dlls : updated zip to include libsndfile v1.0.27 dlls
new in this release:
1. Automatic promotion to rf64 : For wav file output, if the data contained in the output file will exceed 4 Gigabytes after conversion, ReSampler will automatically "promote" the file format to rf64
Background: Traditional wav files only have 32-bits to quantify the size of the data they contain, which means that the data size cannot exceed 4 Gigabytes (2^32). The rf64 specification was designed to extend the wav format to remove this limitation.
ReSampler will calculate the expected size of the output file (based on number of samples, channels, bytes per sample in input file, multiplied by the conversion ratio), and if it exceeds 4GB, a warning is output to the user. If the output file is a wav file, the file format will be changed to rf64 (the file extension remains the same). Typical console output is as follows:
Warning: output file ( 5,644,800,000 bytes of data ) will exceed 4GB limit
Switching to rf64 format !
2. upgrade to libsndfile v1.0.27
Note: 27th March 2017: fixed error with incorrect dlls : updated zip to include libsndfile v1.0.27 dlls
I am pleased to announce the release of v1.2.0 of resampler.
Resampler now has the ability to read SACD/DSD .dff and .dsf files, and convert them to any other format / subformat of your choosing.
(Note: dff files that have DST compression are not supported.)