Skip to content
View in the app

A better way to browse. Learn more.

ResHax

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
Help us keep the site running.

Midnight Club 2 (PS2) Audio File Extraction

Featured Replies

  • Author
  • Localization

bigsteve327, posted Thu Sep 09, 2021 7:55 am (66200)


Hi Everyone! I am trying to extract the audio files from Midnight Club 2 on the PS2 and I think I need a BMS script that can help do this. I know that the game runs on the Angel Game Engine and was developed by Rockstar San Diego. Given this, I found a few BMS scripts that might have done the job but didn't:

The Midnight Club 3 BMS Script was able to extract 13225 RSTM files but none of them play actual music. It plays 10 seconds of random noises (verified through WinAmp & FooBar2000). My extraction of RSTM files from Midnight Club 3 Dub Edition Remix worked just fine though.
The Dave script just failed immediately.

Can I get some help with extracting the audio / music files from this game? Specifically, can I get some guidance as to what BMS script I could use, or how I could modify one of the existing scripts I have downloaded to be able to rip this?

Thanks!
  • Author
  • Localization

BloodRaynare, posted Thu Sep 09, 2021 11:35 am (66207)


The problem with this game was the ambience/NPCs sounds and the musics are combined within one archives (STREAMS.DAT), so it get overwhelming to find the actual music files (And there's a lot of NPCs and the ambiences audio in there as well). Anyway, if you're looking for the music files, look for the RSTM files that weigh more than 15MB or so or sort the files in the explorer by the largest sized files first.
  • Author
  • Localization

bigsteve327, posted Thu Sep 09, 2021 3:47 pm (66223)


BloodRaynare wrote:
The problem with this game was the ambience/NPCs sounds and the musics are combined within one archives (STREAMS.DAT), so it get overwhelming to find the actual music files (And there's a lot of NPCs and the ambiences audio in there as well). Anyway, if you're looking for the music files, look for the RSTM files that weigh more than 15MB or so or sort the files in the explorer by the largest sized files first.


Thank you for the reply! Unfortunately, all files I tried >= 1MB (156 that I found) resulted in a weird audio clip that is 10 seconds in length. The good news is that in one of the clips I heard, it sounded like a kickdrum was playing in the background which means that maybe I have to change the way the files are being extracted in order to get this to work.

Though one other interesting find was that when I extracted the music for the PC game version, the full tracks were quite compressed! Between 112kbps - 146 kbps. Since the streams.dat file for PC is only 520 MB compared to the 2.18 GB version found from the PS2 game, this leads me to believe that the PS2 does in fact have the uncompressed music.

I attached a screenshot containing the playlist of the files I tried playing to show that they are all in fact, a weird 10 second length.

This is the BMS Script from MC3 that I am attempting to re-use for MC2:

Code:
# streams.dat and padding.dat

idstring Hash
get FILES long
for i = 0 < FILES
    get DUMMY long
    get OFFSET long
    get SIZE long

    set NAME string i
    string NAME = ".rstm"

    log NAME OFFSET SIZE
next i
  • Author
  • Localization

BloodRaynare, posted Thu Sep 09, 2021 8:23 pm (66229)


Ah I forget to tell you, MC2 uses a different extensions, it's .stm instead or .rstm (Though some file might be .rstm? I'm not sure).
Try rename all the files with that (Or edit the script by changing ".rstm" to ".stm" then extract all of them again). Also, try to update the vgmstream plugins too as well.
  • Author
  • Localization

bigsteve327, posted Thu Sep 09, 2021 9:41 pm (66232)


BloodRaynare wrote:
Ah I forget to tell you, MC2 uses a different extensions, it's .stm instead or .rstm (Though some file might be .rstm? I'm not sure).
Try rename all the files with that (Or edit the script by changing ".rstm" to ".stm" then extract all of them again). Also, try to update the vgmstream plugins too as well.


THIS DID IT! THANK YOU SO MUCH :D :D :D

I had to play them using foobar but that's okay.
  • Author
  • Localization

bigsteve327, posted Sat Sep 10, 2022 5:54 pm (73417)


BloodRaynare wrote:
Ah I forget to tell you, MC2 uses a different extensions, it's .stm instead or .rstm (Though some file might be .rstm? I'm not sure).
Try rename all the files with that (Or edit the script by changing ".rstm" to ".stm" then extract all of them again). Also, try to update the vgmstream plugins too as well.


Hi, I have one more request related to this extraction: For some reason, the main menu music doesn't appear in any of the files that I extracted. Do you have any idea of where that music might be? Thanks!
  • Author
  • Localization

BloodRaynare, posted Sun Sep 11, 2022 1:38 am (73420)


bigsteve327 wrote:
Hi, I have one more request related to this extraction: For some reason, the main menu music doesn't appear in any of the files that I extracted. Do you have any idea of where that music might be? Thanks!


Main menu music was inside the BANKS.DAT file (Extract it with this BMS script). Apparently it was sequenced. The file you were looking for is "fe_hard.bd", "fe_hard.hd", and "fe_hard.sq" and it's variants ("fe_hard_01", "fe_hard_02", and so on). Use VGMToolbox's mkpsf2 frontend section to make it into a PSF2 file (I'll recommend to make it into a psf2lib minipsf2 since it uses multiple SQ files. However, that means you need to copy all the fe_hard's SQ, BD, and HD file into a separate directory). You'll also need to supply the "LIBSD.IRX", "MODHSYN.IRX", and "MODMIDI.IRX" from the "SYSTEM" directory as well for the necessary PSF2 playback modules. Then you can play the miniPSF2/PSF2 files with the PSF Decoder plugin if you're using foobar2000.
  • Author
  • Localization

bigsteve327, posted Wed Sep 14, 2022 5:40 pm (73459)


BloodRaynare wrote:
bigsteve327 wrote:
Hi, I have one more request related to this extraction: For some reason, the main menu music doesn't appear in any of the files that I extracted. Do you have any idea of where that music might be? Thanks!


Main menu music was inside the BANKS.DAT file (Extract it with this BMS script). Apparently it was sequenced. The file you were looking for is "fe_hard.bd", "fe_hard.hd", and "fe_hard.sq" and it's variants ("fe_hard_01", "fe_hard_02", and so on). Use VGMToolbox's mkpsf2 frontend section to make it into a PSF2 file (I'll recommend to make it into a psf2lib minipsf2 since it uses multiple SQ files. However, that means you need to copy all the fe_hard's SQ, BD, and HD file into a separate directory). You'll also need to supply the "LIBSD.IRX", "MODHSYN.IRX", and "MODMIDI.IRX" from the "SYSTEM" directory as well for the necessary PSF2 playback modules. Then you can play the miniPSF2/PSF2 files with the PSF Decoder plugin if you're using foobar2000.


Thank you! So I have generate 5 psf2 files (each one with the corresponding fe_hard_xx). I did notice that the reverb was quite overpowering (a nice touch in some spots) so I set it to 0. And all of them played like a charm. Everything else I left default.

Do you happen to know about documentation for the mkpsf2 tool specifically? I couldn't find any in the readme nor online. It's okay if not, just curious.

For those who come across this post: For each of the fe_hard_01, 2, 3, 4: You need to make a copy of the fe_hard.bd & hd files and name it the same way. You can put all of them into one directory and batch convert the 5 files.
Guest
This topic is now closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.