[Tutorial] How to make BGM.bcstm files for 3DS Themes

Discussion in '3DS - Homebrew Development and Emulators' started by Xenon Hacks, Jan 8, 2015.

  1. Xenon Hacks
    OP

    Xenon Hacks GBAtemp Guru

    Member
    7,050
    3,367
    Nov 13, 2014
    United States
    Hello gbatemp this is a simple tut for those who are stuck or don't know where to begin.
    This will allow you to make the file necessary to play music in your themes that you have made or are using on your 3DS.

    Requirements:
    An MP3 To Use - https://www.mediafire.com/?1vbipgyu7y3jw35 [Example]
    A way to convert MP3's to the WAV format [I use dbpoweramp]
    BRSTM Converter 3.4.1 - http://www.lakora.us/brawl/brstm/
    BRSTM2BCSTM - http://www.mediafire.com/download/a3oc4deshm7srs7/BRSTM2BCSTM.rar

    Rules:
    The WAV file should be at a minimum 22.050 kHz, 16 Bit in quality and have stereo sound [This is a standard to prevent garbled sound]
    The max file size of the bcstm must be 3.371.008 bytes (or 3.3MB)

    Ok lets get started
    1) Convert your MP3 to the WAV format using a converter of your choosing
    (Your WAV can be above 3.3 MB as it will be compressed once converted in the next step)

    2) Run BRSTM Converter C# and select tools -> Simple WAV and select your WAV file

    3) At the bottom left you can select if you want this file too loop while your 3DS is open [Optional] and hit ok

    4) Click the OK button to the right and once again select the WAV File this will dump a .brstm file into
    BRSTM Converter 3.4.1\output if the file is above 3.371.008 bytes (or 3.3MB) try to shorten it using a program or a site like http://mp3cut.net/ and recreate your WAV file with the above steps.

    5) Now Run BRSTM2BCSTM.exe and select the brstm file you just created this will automatically create a file with the same name but with the extension of bcstm.

    6) Rename this file to BGM.bcstm and place it into ?:\3ds\3ds_homemenu_extdatatool
    Heres a picture if your confused - [​IMG]

    7) On your 3DS Run The Ninjhax exploit created by smealum and run 3ds_homemenu_extdatatool which can be found here https://github.com/yellows8/3ds_homemenu_extdatatool/releases Select with the A button "Enable persistent theme-cache" then select "Copy theme-data from sd to extdata" and exit the app with the B button.

    8) now just hit Select+Start too reboot your console and thats it your done!

    Question- Im not hearing anything what did I do wrong?
    Answer - Make sure you have Background Music checked for your theme in the Theme Editor.

    If theres anything in here that breaks any rules MODS please fix it and not remove the tut :)

    ill add Credits and a video tutorial late on.
     


  2. TidusWulf

    TidusWulf Real Aloha

    Member
    598
    232
    Jul 27, 2007
    United States
    Hawaii
    Now if someone could just write a script to turn an Mp3 into just that file to save lazy people like me the time and energy.
     
    Adeka likes this.
  3. Xenon Hacks
    OP

    Xenon Hacks GBAtemp Guru

    Member
    7,050
    3,367
    Nov 13, 2014
    United States
    Thats what im hoping for aswell it seems like alot when you read it but its really only 4 steps
    MP3->WAV->BRSTM->BCSTM
     
  4. KeepPlanC

    KeepPlanC GBAtemp Regular

    Member
    117
    46
    Jan 8, 2015
    United States
    thanks this helped a lot
     
  5. Xenon Hacks
    OP

    Xenon Hacks GBAtemp Guru

    Member
    7,050
    3,367
    Nov 13, 2014
    United States
    No Problem
     
  6. TidusWulf

    TidusWulf Real Aloha

    Member
    598
    232
    Jul 27, 2007
    United States
    Hawaii
    So just to be clear, there's currently no tool that allows bootup sounds or gamelaunch sounds, right? just the looping bg sound?
     
  7. Xenon Hacks
    OP

    Xenon Hacks GBAtemp Guru

    Member
    7,050
    3,367
    Nov 13, 2014
    United States
    From what i've seen so far no theres no tool, though I understand you can hex that kind of stuff in (can be wrong about that) if a tool does show up it will be posted here.
     
  8. nastys

    nastys ナースティス

    Member
    1,487
    863
    Aug 5, 2014
    Italy
    Earth
    You should avoid converting from MP3 or other lossy formats, else the sound quality will be bad, expecially if you convert it to MP3 again just to cut it.
    Please convert from lossless audio (WAV, FLAC, ALAC, etc...) if possible.
    Use lossy formats only if you can't find lossless versions if you want to make quality themes.
     
  9. The Real Jdbye

    The Real Jdbye Always Remember 30/07/08

    Member
    GBAtemp Patron
    The Real Jdbye is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    11,804
    4,991
    Mar 17, 2010
    Norway
    Alola
    You're converting it to 22khz anyway so it's a moot point.
     
    Xiphiidae likes this.
  10. nastys

    nastys ナースティス

    Member
    1,487
    863
    Aug 5, 2014
    Italy
    Earth
    But lowering the sampling frequency isn't the same thing. It's like having a low resolution PNG image instead of a JPG one. Besides waves can be interpolated to look like the original ones.
    Try converting a 64 kbps 44100 Hz MP3 to a 22050 Hz WAV then do the same with a higher bitrate source.
    If you play both using the best Sinc interpolation, you should hear the difference.
     
  11. The Real Jdbye

    The Real Jdbye Always Remember 30/07/08

    Member
    GBAtemp Patron
    The Real Jdbye is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    11,804
    4,991
    Mar 17, 2010
    Norway
    Alola
    No one uses 64 kbps MP3s. Realistically you will never notice the difference between a 320kbps or VBR MP3 converted to 22khz WAV and a lossless file converted to 22khz WAV. 22khz cripples it a lot more than MP3 compression.
     
    Xiphiidae likes this.
  12. nastys

    nastys ナースティス

    Member
    1,487
    863
    Aug 5, 2014
    Italy
    Earth
    Results may vary depending on the song and the source encoder. Some people don't even care about the quality at all so they convert an MP3 to MP3 again (like this tutorial in step 4), degrading the quality a lot.

    EDIT: and anyway it doesn't need to be 22050 Hz; you can leave it at 44100 Hz if it's not too big.
     
  13. TidusWulf

    TidusWulf Real Aloha

    Member
    598
    232
    Jul 27, 2007
    United States
    Hawaii
    64kb mp3 would sound like absolute garbage. nobody seriously has music like that in their media player, I hope to god.
     
  14. nastys

    nastys ナースティス

    Member
    1,487
    863
    Aug 5, 2014
    Italy
    Earth
    MP3 in general sounds like garbage. Try to compare a 64 kbps MP3 to a 64 kbps Ogg Vorbis.

    Anyway, I'm making my theme and the music is at 32000 Hz which is harder to distinguish from a 44100 Hz file and it works fine.
     
  15. Xenon Hacks
    OP

    Xenon Hacks GBAtemp Guru

    Member
    7,050
    3,367
    Nov 13, 2014
    United States
    You can using higher quality MP3 or even use a FLAC file as your base I just tested and thats the lowest quality you can go without noticing a significant difference in audio quality
     
  16. Xenon Hacks
    OP

    Xenon Hacks GBAtemp Guru

    Member
    7,050
    3,367
    Nov 13, 2014
    United States
    Just too clear that up
     
  17. Xenon Hacks
    OP

    Xenon Hacks GBAtemp Guru

    Member
    7,050
    3,367
    Nov 13, 2014
    United States
    I changed the tut to say The WAV file should be at a minimum 22.050 kHz, 16 Bit in quality and have stereo sound [This is a standard to prevent garbled sound]
     
  18. Xenon Hacks
    OP

    Xenon Hacks GBAtemp Guru

    Member
    7,050
    3,367
    Nov 13, 2014
    United States
    You can make an MP3 with the quality of 240 VBR, 320 CBR, 320 ABR, or a free format with 640 kbs quality. The point is to get it too sound good enough (thats why I set a minimum standard) but not to exceed the 3.3mb limit
    once converted into the BRSTM

    (Note using these higher quality files might result in high pitched garbled nonsense once converted into BCSTM and ran on your 3DS)
     
  19. nastys

    nastys ナースティス

    Member
    1,487
    863
    Aug 5, 2014
    Italy
    Earth
    At 32000 Hz the sound is good and it is the same sampling rate used for the soundtrack of Mario Kart Wii. I noticed no garbled sounds at 44100 Hz but it takes too much space so I prefer using a rate of 32000 Hz. At 22050 Hz the quality is much lower for some songs and just a bit for others.
    I think the garbled sound depends more on the song than on the sampling rate.
     
  20. Xenon Hacks
    OP

    Xenon Hacks GBAtemp Guru

    Member
    7,050
    3,367
    Nov 13, 2014
    United States
    Yeah most people are going too rip youtube mp3 and not torrent OST too use