ROM Hack [TUTORIAL] - How to make a Multi-Stream (more than 1 pair of channels) BCSTM for 3DS Hacking

Was this helpful?

  • Somewhat helpful....

    Votes: 0 0.0%
  • No!!! - Gives me an ERROR or doesn't work

    Votes: 0 0.0%

  • Total voters


Gaming since 4
Aug 24, 2016
Your head
United States
I've seen a lot of confusion going around the Internet on this topic, so here's a simple, precise Tutorial.

Note that in this Tutorial I'll be using Microsoft Windows OS. Please mind that few steps might not be the same on other OS like Macintosh OS X and you might need to download additional programs.

First of, a Multi-Stream BCSTM is a BCSTM with more than 1 Pair of Channels. It's usually 4ch (4 Channels), but can be 6ch (6 Channels) and Maximum 8ch (8 Channels). Games like Mario Kart 7 make use of such BCSTMs.

Here's what you'll need on your PC:
1. Python 2.7.0 (Download Here)
2. Smash 3DS Pack (it's a 7-Zip Archive - unzip using WinRAR / 7-Zip) (Download Smash 3DS Pack Here) (Download 7-Zip Here) (Download WinRAR Here)
3. Audacity (Download here)

Let's begin!
Install Python 2.7.0 and Audacity. Once done, unzip Smash 3DS Pack in a suitable location (I'd say your Desktop would be fine). Now open Smash 3DS Pack folder and navigate to Sound\Smash IDSP Build and right click > edit on the file named "sm4shidspbuild.bat". Now it should open up Notepad with some text written. Scroll till you reach the line where it says ":Smash". On the line right below this, the following text will be written:

revb --build-idsp "%~n1.idsp" !wdrevBuild!

Change that to the following:

revb --build-bcstm "%~n1.bcstm" !wdrevBuild!

Once done click on File > Save.

Now open the song file which you want to convert to a Multi-stream BCSTM in Audacity. Once you open it check whether the song is a Stereo Track or Mono Track. If it's mono, then just copy and paste the song one below the other (for 4ch, make 3 copies, for 6ch make 5 copies and for 8ch make 7 copies). If you wish to have different tracks of each stream then open the song via File > Import Audio (OR Ctrl+Shift+I) and make a copy of those as well. If your imported songs are stereo, just click on the arrow near the song name and click on Split Stereo track. Now you have 2 mono tracks for each stream. Once you have created all channels, just go to Edit > Preferences (OR Ctrl + P) and under Import / Export Section, select Use Custom Mix. Click on OK. Now on the bottom bar where the time is shown in hh:mm:ss:msmsms, click on the arrow and change it to Samples. Now huge numbers like 123,456,789 will be displayed. Find the loop points of the song and note them down. Go to File > Edit Metadata and make new labels called "LOOPSTART" and "LOOPLENGTH". Under these put the "Loop Start Sample" and "Loop End Sample" Numbers respectively. Now click on File > Export Audio (OR Ctrl + Shift + E) and save the file in the folder "Smash IDSP Build" as an OGG Vorbis File (.ogg). Once done, drag and drop your OGG Vorbis file onto the "sm4shidspbuild.bat" file. Let it do the rest of the job. Once done it should output your OGG Vorbis file with the same name but a .bcstm extension. You've done it - you created a Multi-Stream BCSTM!!!!

Hope this was helpful!
Last edited by Gaming796,
  • Like
Reactions: PabloMK7

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • K3N1 @ K3N1:
    Cool emudeck released for windows
  • a_username_that_is_cool @ a_username_that_is_cool:
    Deck steam deck emulato edeck
  • BigOnYa @ BigOnYa:
    Hey, what happened to the user @godreborn? Did he quit or something?
  • K3N1 @ K3N1:
    Doesn't look like it some people just limit their profile because things bother them or something
  • BigOnYa @ BigOnYa:
    I havnt seen him around here in a while, and I PM him other day, about a PS question, but he didn't respond. Was just curious.
  • K3N1 @ K3N1:
    Could've just taken a break or some important life thing took okver
  • BigOnYa @ BigOnYa:
    Or he finally went to Mexico to be with his main love- @JuanMena , lol
  • K3N1 @ K3N1:
    If I could afford Mexico I'd be with him also
  • K3N1 @ K3N1:
    Juan loves everyone
  • K3N1 @ K3N1:
    Here I am downloading win11 yet again
  • BigOnYa @ BigOnYa:
    Backup the disk image this time, once downloaded
  • K3N1 @ K3N1:
    Too lazy
  • JuanMena @ JuanMena:
    @BigOnYa Godreborn sadly went crazy. I didn't spoke a lot with him, but on Discord he messaged me for some weeks before he left. Not sure if I may share his personal situation, but honestly it's nothing he didn't made clear over here. I'll try to be brief: He was having a bad time due to bipolarity. And he was messaging me that he wasn't feeling good emotionally speaking.
  • JuanMena @ JuanMena:
    Then something happened between Chary and him, again, nothing he didn't made publicly already, but if curious you should check his last threads.
  • JuanMena @ JuanMena:
    Then, after that last thread, sone users began to mock him. I tried to mock him because he was giving me over 80 notifications per day about his "jokes", but I just stopped replying. I think he took personal the whole situation of me not replying to his same jokes repeated over and over and his personal thingy with Chary was the drop that spilled the glass or whatever. So he got banned fir his behavior towards Chary or something.
  • JuanMena @ JuanMena:
    Really can't tell much as the last thing he wrote me via Discord was: "you hurt me really bad with your last joke" (He joked I sucked hus BaNaNa all day and I told him that Chary wouldn't even touch him with her bat whilst his mom sucked my BaNaNa every night) and I think he took it really personal. Mind you, that was my first response after 3 months of constant "Juan sucks my BaNaNa" jokes every day.
  • K3N1 @ K3N1:
    Oh yeah forgot about the entire Chary thing lol
  • JuanMena @ JuanMena:
    And then he went even crazier and began blaming everyone for his situation (be aware that he's bipolar and I personally live with a bipolar person and I know how bipolars behave and excuses their behavior against others) so I immediately knew something was gonna get awfully wrong, even Flame and I talked a bit about that, and I warned Flame something like this would happen soon.
  • JuanMena @ JuanMena:
    But yeah, basically that... Godreborn couldn't take a joke when he was the one that started it all. Again... not justifying my one joke... but it kinda got me tired. Hehe. So... there...
  • HiradeGirl @ HiradeGirl:
    that was such a rabbit hole
  • JuanMena @ JuanMena:
    The only time I answered to his constant jokes left him with a bigger rabbit hole. He basically asked for the tip and I gave him the whole BaNaNa. I'm kind, gave him more than he could take.
  • JuanMena @ JuanMena:
    No but seriously... heh... he kinda asked for it... for 3 months or so. I'm kind.
    JuanMena @ JuanMena: No but seriously... heh... he kinda asked for it... for 3 months or so. I'm kind.