ROM Hack [RELEASE] BRSTM/BCSTM Conversion Tool (BETA)

nastys

ナースティス
Member
Joined
Aug 5, 2014
Messages
1,730
Trophies
0
Age
23
Location
Earth
XP
1,737
Country
Italy
BRSTM/BCSTM/BFSTM Conversion Tool
Latest version: 2.0 BETA

b2.0u.png

b2.0w.PNG

BRSTM/BCSTM/BFSTM Conversion Tool is an audio to BRSTM converter with the following features:
  • Full sampling rate control
  • Automatic sampling rate to limit the output to 3.3 MB (or whatever you want)
  • Precise loop control
  • Multithreading
  • GNU/Linux (32 and 64 bit), Windows and PlayOnMac support

It uses froggestspirit's and soneek's converters for BRSTM → BCSTM/BFSTM conversion.

8svx aif aifc aiff aiffc al amb amr-nb amr-wb anb au avr awb caf cdda cdr cvs cvsd cvu dat dvms f32 f4 f64 f8 fap flac fssd gsm gsrt hcom htk ima ircam la lpc lpc10 lu mat mat4 mat5 maud mp2 mp3 nist ogg paf prc pvf raw s1 s16 s2 s24 s3 s32 s4 s8 sb sd2 sds sf sl sln smp snd sndfile sndr sndt sou sox sph sw txw u1 u16 u2 u24 u3 u32 u4 u8 ub ul uw vms voc vorbis vox w64 wav wavpcm wv wve xa xi

Changelog:
2.0
  • BRSTM → BFSTM converter and alternate BRSTM → BCSTM converter
  • Volume boost
  • Trim
  • Multithreading always enabled
  • (GNU/Linux) Native file manager
  • (GNU/Linux) Check if a program is missing and prompt the user to install it
1.1.1
  • Much faster conversion if auto-quality is enabled! (approximation can be disabled in Options)
1.0.1
  • Support for Windows
  • Slight differences in the interface
  • Fixed error dialog
  • Fixed disabled loop

Known bugs:
  • The second time you convert an audio to BRSTM in the same instance of the tool, it will use the sampling rate used for the file before
  • Mono input not supported
  • The interface freezes and shows no progress until the conversion is done
  • (GNU/Linux) If sox is missing, the user will not be prompted and the conversion will fail
  • (Windows) The path of the program must not contain spaces in order for soneek's converter to work

Future features (maybe):
  • Test loop directly
  • BRSTM and BCSTM as input

You will also notice that if you use the automatic quality ("Limit bytes to: ") the conversion will be slower. You can set the "Precision" to a higher value if you have a slow CPU.

BRSTM/BCSTM Conversion Tool is released under the GNU General Public License version 3 (or later). The tools included are released under their respective licenses.
This is a BETA version. If you find any bugs please report them (sending me the audio file would help).

How to install/run (please read before reporting bugs):

  • Extract the archive of the GNU/Linux version
  • Install install-dependencies.deb (not needed if you have Wine and SoX installed)
  • Double-click on BRSTMConversionTool
  • Extract the archive of the GNU/Linux version
  • Install wine, sox, libqt5widgets5, libqt5gui5, libqt5core5a and optionally, libsox-fmt-all and php7.0-cli (on older distros install php5-cli instead).
  • Double-click on BRSTMConversionTool
<DOWNLOAD> from MEGA
<DOWNLOAD> from MediaFire
  • Extract the archive of the Windows version using 7-Zip or a similar tool to a directory that does not contain spaces
Screenshot from 2015-08-27 17:30:47.png
Screenshot from 2015-08-27 17:31:01.png

  • If you want MP3 support (though I recommend using lossless sources instead), put libmad-0.dll into tools\sox
  • Double-click on BRSTMConversionTool.exe. If you have any issues, try running it as administrator by right-clicking on it and selecting "Run as administrator" instead.
  • If you have trouble converting MP3 files, try converting them to 44100 Hz, 2 channels FLAC or WAV first.
<DOWNLOAD> from MEGA
<DOWNLOAD> from MediaFire
Please run the Windows version with PlayOnMac.

<DOWNLOAD> from MEGA
<DOWNLOAD> from MediaFire
BRSTM → BCSTM/BFSTM conversion: the new file will be saved in the same folder as the original one.
 
Last edited by nastys,

weatMod

Well-Known Member
Member
Joined
Aug 24, 2013
Messages
3,177
Trophies
1
Age
44
XP
2,710
Country
United States
but what does it actually do? what a incomplete description
does it just convert brstm to scstm? or does it take an mp3 or wav and convert it into a brstm or bcstm
 
  • Like
Reactions: HinaNaru Cutie

nastys

ナースティス
Member
Joined
Aug 5, 2014
Messages
1,730
Trophies
0
Age
23
Location
Earth
XP
1,737
Country
Italy
but what does it actually do? what a incomplete description
does it just convert brstm to scstm? or does it take an mp3 or wav and convert it into a brstm or bcstm
It supports any audio file (WAV, FLAC, Ogg Vorbis, MP3, etc...) and converts it to BRSTM. Then you can use BRSTM2BCSTM to convert it to BCSTM.
Its key feature is to create 3.3 MB files using any input file. The program lowers the quality until the output is <= 3.3 MB, so you can use it for your theme easily.
 

froggestspirit

D/P/Pt Demix Guy
Member
Joined
Jul 28, 2011
Messages
1,270
Trophies
0
XP
1,485
Country
United States
It's not too difficult to convert the BRSTM to BCSTM. Having little to know knowledge on the formats, I made the converter by comparing the two files of the same song in a hex editor. If you implement that into the source code, it could be cleaner, not having to use the BRSTM2BCSTM, making the process simpler
 
  • Like
Reactions: Margen67

nastys

ナースティス
Member
Joined
Aug 5, 2014
Messages
1,730
Trophies
0
Age
23
Location
Earth
XP
1,737
Country
Italy
Would you be willing to provide the source code? Thank you :)
It is included in the release. :)

Whats the difference between this and BRSTM Converter 3.4.1?
  • Full sampling rate control
  • Automatic sampling rate to limit the output to 3.3 MB (or whatever you want)
  • Precise loop control
  • Multithreading
  • GNU/Linux support

ah nvm its not for windows
It will be released for Windows too, probably today.

It's not too difficult to convert the BRSTM to BCSTM. Having little to know knowledge on the formats, I made the converter by comparing the two files of the same song in a hex editor. If you implement that into the source code, it could be cleaner, not having to use the BRSTM2BCSTM, making the process simpler
I tried comparing the two formats too but I couldn't get an algorithm from it. The differences between brstm and bcstm change depending on the file.
If you could implement it in this tool it would be great. After all, it's free software :)
 
  • Like
Reactions: Margen67

froggestspirit

D/P/Pt Demix Guy
Member
Joined
Jul 28, 2011
Messages
1,270
Trophies
0
XP
1,485
Country
United States
The header is just data in different locations, and different endianness. as for the rest of the file, the part before DATA is in different endianness, but the main sound data is identical between the two
 

nastys

ナースティス
Member
Joined
Aug 5, 2014
Messages
1,730
Trophies
0
Age
23
Location
Earth
XP
1,737
Country
Italy
ah nvm its not for windows
This will be very useful! Looking forward to the Windows version. Cheers. :)
Windows version released :)


The header is just data in different locations, and different endianness. as for the rest of the file, the part before DATA is in different endianness, but the main sound data is identical between the two
Thanks, I'll try but I don't think I have enough knowledge of formats.
 

nastys

ナースティス
Member
Joined
Aug 5, 2014
Messages
1,730
Trophies
0
Age
23
Location
Earth
XP
1,737
Country
Italy
can you post link to windows version?
just a simple exe?
In the first post there is a huge "DOWNLOAD" link, which points to the downloads folder (https://www.mediafire.com/folder/62tbbrjw4xp0t/BRSTM_Conversion_Tool).
There are also instructions for running the program:
  • Download and extract both BRSTMConversionTool_X.X.X-X_Windows_XXX.zip and QtX.X.XLibs_Windows_for_BRSTMConversionTool_X.X.X-X.zip into the same folder
  • Double-click on BRSTMConversionTool.exe
I will make it easier once it's more stable.
 

nastys

ナースティス
Member
Joined
Aug 5, 2014
Messages
1,730
Trophies
0
Age
23
Location
Earth
XP
1,737
Country
Italy
Added 32 bit GNU/Linux build along with GNU/Linux 64 bit and Windows 32 bit! :lol:
Now only Mac builds are missing...
 

Myria

Well-Known Member
Member
Joined
Jul 24, 2014
Messages
452
Trophies
0
Age
40
XP
790
Country
United States
I wish there were some documentation around of the .bcstm format... This program is just a front end for the Nintendo SDK tool.
 

liomajor

Well-Known Member
Member
Joined
Jun 10, 2008
Messages
1,468
Trophies
0
XP
1,368
Country
United States
  • Download and extract both BRSTMConversionTool_X.X.X-X_Windows_XXX.zip and QtX.X.XLibs_Windows_for_BRSTMConversionTool_X.X.X-X.zip into the same folder
  • Double-click on BRSTMConversionTool.exe
I will make it easier once it's more stable.

I followed your instructions and get this:

BRSTMConversionTool

This application failed to start because it could not find the QT platform plugin "windows".
 
General chit-chat
Help Users
    Psionic Roshambo @ Psionic Roshambo: https://youtu.be/HeVzl0CeoJ8