11 users online: Dan2point5, fanfan21,  idol, Mario's GameBase, Rykon-V73,  Segment1Zone2, sio-kedelic, sL0Thiie, The_Uber_Camper, underway,  yogui - Guests: 101 - Bots: 315
Users: 65,986 (2,170 active)
Latest user: LuanVIIIR

BRRTools v3.17

Tools → BRRTools v3.17

Submission Details

Name: BRRTools v3.17
Authors: Bregalad, Kevin, nyanpasu64
Version History: View
Operating System: Windows
Platforms: SNES
Games: General, SMW
Source Available: Yes
Featured: No
Website: Link
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

  • 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.
Tags: addmusic brr brr samples music samples
Comments: 15 (jump to comments)
0.0 (0 ratings)
No rating
Download 124.99 KiB | 3,906 downloads


View all

Comments (15)

 Atari2.0 Pinned Link
The brr_decoder still chokes on headered samples but this update only adds features and doesn't introduce any meaningful new bug, therefore it's an improvement overall (even thought this tool could still use some more updates to properly fix the brr_decoder which has been neglected), so I'm accepting it.

Tested on Windows 10, 22H2 (OS Build 19045.2075)
playagmes169 Link
Why do these programs keep crashing on my windows 11?
Cem_Gunes From older version: BRRTools v3.14+ Link
While method '-l' exists, it doesn't seem to actually write a flag (or enable) loop at the agument.
brr_encoder -l1024 Marimba.wav Test.brr

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.
Vitor Vilela Link
It would be cool making a PR to Optiroc's repository so these changes could be part of the mainstream repository.
PalaceSwitcher From older version: BRRTools v3.14+ Link
Originally posted by MidniteMilo82
I can't get the applications to open for some reason #smrpg{gdi}

You need to open it with CMD. You can't just run it like a normal app.
Xboy1282 From older version: BRRTools v3.14+ Link
It doesn't work it just closes whenever I open it I thought it was supposed to do that so I put the .wav file in there thinking it would create a .brr file but it did nothing
MidniteMilo82 From older version: BRRTools v3.14+ Link
I can't get the applications to open for some reason #smrpg{gdi}
 RPG Hacker From older version: BRRTools v3.14+ Link
Mod's notes:

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.

Originally posted by "nobody1089"
MOD NOTE: Should I modify brr_encoder to output AMK loop header (if passed a flag), and modify brr_decoder to read +skip the loop headers if present?

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.
LupineDream From older version: BRRTools v3.14+ Link
Thanks for the update !
MarkVD100 From older version: BRRTools v3.14+ Link
So, there is no way to setup an automatic loop finder or something?
nyanpasu64 Author From older version: BRRTools v3.14+ Link
Replaced with msys2 mingw32 build. Should work on 32-bit OSes (but I haven't made sure).

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.
Yuzu From older version: BRRTools v3.14+ Link
It doesn't work for me!
Why is compiled with minigw64 that means is a x64
Brozilla From older version: BRRTools v3.12 Link
The version I used was from zophar's domain and personally I think it's better than SNESBRR. It gives you filtering options, gaussion compensation, etc. The control it gives is really nice.
 RPG Hacker From older version: BRRTools v3.12 Link
Mod's note: as I don't know anything about porting music (or music in general, for that matter), I only did very basic and minimal testing on this to assure that it generally works and is usable in a hack. I will leave it up for you to decide whether this actually has any advantages over SnesBRR.

I also removed the source code from the ZIP file and instead added a link to GitHub.
Vitor Vilela From older version: BRRTools v3.12 Link
Interesting... the prefiltering to compensate gaussian muffling sounds cool!