======================================= BRRtools by Bregalad Special thanks to Kode54 Release 1.0 november 2009 ======================================= BRR tools is currently the most evolved tools to convert between microsoft standard RIFF .wav format and SNES's built-in BRR format. It has many features never seen before in any other conveter, is written in Java (run on all platforms), and is open source. I heavily borrowed algoritms by Kode54, which himself heavily borrowed code from some other ADPCM encoder. This is freeware, feel free to redistribute/improve but DON'T CLAIM IT IS YOUR OWN WORK THANK YOU. === How do I use that === You have to get either JRE (Java Runtime Environment) or Eclipse (an IDE) to run BRRTools. They are both available on all modern computer platforms, do a google search to find them. It currently comes into 3 parts : === BRRDecoder == Use this to decode a .brr sound sample to a .wav file Syntax : BRRDecoder infile.brr outfile.wav loop-amount loop-sample (last 2 are optional) If you specify only a loop amount, it will loop from the begining of the BRR sample. If you also specify a loop sample (number in amount of BRR blocks !) it will decode the samples many times and output the whole thing to a wav file. It will then tell you if the looping is stable, and if not it tries to detect when it gets stable. === SPCDecoder == Use this to decode one or multiple brr sound samples directly from a .spc file to .wav file(s) Syntax : SPCDecoder infile.spc loop-amount(opt) first_sample# last_sample#(opt) If you only specify one number, SPCDecoder will decode the sample of this number (0-255) and dump it a wav file. If you specify two numbers, it will loop the specified amount of times the specified sample number, dump it to wav, and tell info about looping stability If you specify 3 numbers, it will do the same for the specified range of samples. === BRREncoder === Use this to encode a .wav file to a .brr SNES native sound sample. Syntax : BRREncoder infile.wav outfile.brr -l -f0123 -rc1.0 -l enable looping for BRR sample (default disabled) -f enable filters for samples (default all enabled) -r resample input stream, followed by resample ratio (0.0 to 4.0, not included) Filter type : -rn no filter, -rl linear, -rs sine, -rc cubic, -rg SNES gaussian (experimental) NOTE : Only MONO .wav files of 8-bit PCM unigned or 16-bit PCM signed are accepted. For any other sound format, use another proramm to convert your files to an accepted format (or modify the source so your format is supported). You can select which filters are enabled or disabled. For example if you only want to use filter 1 and 2, you can do that by typing -f12 Currently -l just sets the bit, it don't test the stability of the loop or anything. The encoder allows you to resample your .wav before converting. This is usefull so you don't need any external programm to make the .wav file the desided length/sample rate. You can choose between several interoplation shemes, personally I'd recommand sine. SNES gaussian is NOT working yet. If anyone knowns how I can get it to work please write it to me. === Plans for future updates === - Get SNES gaussian interpolation working - Be able to select SNES-like freqency register on SPCDecoder with SNES gaussian interpolation - Test the stability of the loop when encoding - Any suggetions are welcome === Contact === Contact me to jmasur at microclub dot ch if you want to give ideas about how I can improve BRRTools. === History === v1.0 november 2009 First public release