Description: |
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
Features:
- 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. |
Comments (15)
Tested on Windows 10, 22H2 (OS Build 19045.2075)
output:
Resampling by effective ratio of 1.000000...
Size of file to encode : 2960 samples = 185 BRR blocks.
Initial BRR block added.
Done !
Position of the loop within the BRR sample : 1040 samples = 65 BRR blocks.
Filter 0 used on 1 blocks.
Filter 1 used on 7 blocks.
Filter 2 used on 75 blocks.
Filter 3 used on 102 blocks.
You need to open it with CMD. You can't just run it like a normal app.
As with the previous version, I've only done testing to assure general functionality and haven't tested every single feature, since I'm not experienced with music and porting stuff.
This version was also missing the Readme, so I went ahead and included the Readme from the previous version.
Feel free to do so and submit an update, it would definitely make it more useful for SMW hacking purposes. If you do so, I recommend enabling it via a new command line parameter for the executables. Also if you do, make sure to update both the encoder and decoder to work with the new .brr format.
EDIT (2018-06-22T07:08:32+00:00, Fri, 22 Jun 2018 07:08:32 +0000) I previously uploaded a 32-bit build of the unfixed source, by accident.
Why is compiled with minigw64 that means is a x64
I also removed the source code from the ZIP file and instead added a link to GitHub.