||BRRTools are currently the most evolved tools to convert between Microsoft standard WAV format and SNES's compressed BRR format.
The pack contains 3 programs:
- BRR Decoder can convert from BRR to WAV
- SPC Decoder can rip multiple BRRs from within a SPC sound file simultaneously into WAV files
- BRR Encoder can convert from WAV to BRR
- Supports resampling when encoding (anti-aliasing filter available)
- Fully supports encoding of looped samples for arbitrary loops
- Choose which "filters" to use for encoding
- Can select playback rate of decoded samples and get info about note tonality when it's possible
- When decoding looped samples, choose the length of the output sample and get info about looping stability
- Optional lowpass filter when decoding (simulate hardware) and treble-boost filter when encoding (compensating the lowpass filter)
Advantages of BRR Encoder over SnesBRR:
- You can pass in a loop point (-l###), and it will automatically resample the looped region to a multiple of 16 samples. (The final BRR block is encoded in a way where the loop-point block decodes properly.)
- You can pass a resampling ratio (-rb###) and it will resample such that in/out≈###, while keeping the looped section a multiple of 16 samples. (out/in = 1/###)
* -rb### is bandlimited sinc interpolation, and generates no downsampling artifacts, unlike other resampling methods (-rl###, -rc###, etc)
* -sb#### will resample the audio file to approximately #### Hertz.
- Passing -g to brr_encoder will prefilter the audio file to compensate for SPC700's Gaussian filtering (muffling).
- Passing -a### will multiply the loudness by ###. To fix clipping, try passing -w -a0.99 (or smaller) when using resampling or -g.
Note that loop points still have to be manually inserted into the output BRR files to make them usable with Addmusic.
v3.14+ (by nyanpasu64):
- Changed the internal calculations to operate on 32-bit samples (instead of 16-bit WAV samples). -g and -rb often increase signal amplitude and produce clipping. 32-bit samples ensure that clipped samples saturate, rather than producing loud overflow/wraparound artifacts.
v3.17 (by Kevin):
- Added support for the Addmusic header in samples made with brr_encoder (use the -m option).
- Added support for samples with bidirectional loops in brr_encoder (use the -b option).
Source code is available on GitHub.