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.

Traveller's Tales PS1 VH VB and BIN file extraction

Featured Replies

  • Author
  • Localization

PeaksPender, posted Thu Feb 02, 2023 7:31 am (75254)


New member here. Came to see if anyone could help me with this issue.

Recently I've been going through the files of some old Traveller's Tales' games on the PS1 (A Bug's Life, Toy Story 2, and Buzz Lightyear of Star Command) to try and extract their sound effects. In just about all these games there are various ".VB", ".VH", and ".BIN" files. The ".VB" and ".VH" files contain the sample data for sound effects and I've had some luck ripping them using programs like PSound and PSXSND, but in certain instances a few of the sounds would not rip properly, either being shorter than they should be, having pops, or just not ripping at all. They also tended to sound more compressed than whats heard in-game. I assume the ".BIN" files contain sequence data for playing some of the samples multiple times to create things like echo or delay effects, but I have no idea how to even start ripping those. I tried using the tool bin2seq, but it couldn't detect anything. If someone could help me with ripping these files it would be appreciated.
  • Author
  • Localization

BloodRaynare, posted Thu Feb 02, 2023 7:39 am (75255)


Can't help without the sample file. Send those sample files here.
  • Author
  • Localization

PeaksPender, posted Thu Feb 02, 2023 7:47 am (75256)


BloodRaynare wrote:
Can't help without the sample file. Send those sample files here.

Right, sorry

Here are some files I extracted from Toy Story 2 with CDMage
  • Author
  • Localization

PeaksPender, posted Thu Feb 02, 2023 8:05 am (75257)


In case what you meant was the actual sounds here's some PSound rips I did as well
  • Author
  • Localization

PeaksPender, posted Thu Feb 02, 2023 8:05 am (75258)


also some PSXSND rips
  • Author
  • Localization

BloodRaynare, posted Thu Feb 02, 2023 8:22 am (75259)


Just the VB/VH files is enough.
The BIN files are the level's bytecode which loaded by the game whenever it needs.
  • Author
  • Localization

PeaksPender, posted Thu Feb 02, 2023 8:24 am (75260)


BloodRaynare wrote:
Just the VB/VH files is enough.

Ah okay, sorry for the excess
  • Author
  • Localization

PeaksPender, posted Thu Feb 02, 2023 8:32 am (75261)


BloodRaynare wrote:
The BIN files are the level's bytecode which loaded by the game whenever it needs.

Okay, so probably no sequence data for playing back the samples then. I guess its done through some other means. there where some ".DAT" files on the disc as well, but judging by this github page (https://github.com/juanmv94/TravellersT ... sionViewer) I think those just have model data.
  • Author
  • Localization

PeaksPender, posted Thu Feb 02, 2023 1:13 pm (75262)


Realized I also probably should have shared some samples from Bug's Life and Buzz Lightyear of Star Command for comparing with. Sorry about that
  • Author
  • Localization

BloodRaynare, posted Thu Feb 02, 2023 2:23 pm (75263)


Okay, here's BMS script to extract the VH/VB combos to individual VAG files which then can be played with PSound or any media players that supports it (ex: foobar2000 w/ vgmstream plugin installed).

tt_vag_extractor.bms

Code:
open FDDE VH
open FDDE VB 1

math VAG_OFF = 0
math FREQ = 16000

goto 0x12
get PROGS short
get TONES short
get VAGS short
xmath TEST "VAGS % 0x10"
if TEST != 0
   math VAGS x 0x10
endif
xmath VAGS_INFO_OFF "0x20 0x800 ((VAGS * 0x20) 0x2)"
goto VAGS_INFO_OFF
for i = 0 < VAGS
   get VAG_SZ short
   math VAG_SZ * 8
   if VAG_SZ != 0
      log MEMORY_FILE 0 0
      string NAME p "d" i
      callfunction AddVAGHeader 1
      get VAG_SZ2 asize MEMORY_FILE
      string NAME .vag
      log NAME 0 VAG_SZ2 MEMORY_FILE
      math VAG_OFF VAG_SZ
   endif
next i

startfunction AddVAGHeader
   endian big
   append
   putDstring "VAGp" 4 MEMORY_FILE
   put 2 long MEMORY_FILE
   put 0 long MEMORY_FILE
   put VAG_SZ long MEMORY_FILE
   put FREQ long MEMORY_FILE
   putDstring "" 12 MEMORY_FILE
   putDstring NAME 16 MEMORY_FILE
   log MEMORY_FILE VAG_OFF VAG_SZ 1
   append
   endian little
endfunction


Use QuickBMS to run the script
  • Author
  • Localization

PeaksPender, posted Fri Feb 03, 2023 1:52 am (75269)


Wow, thanks for the script. There still seems to be some pops in a few of the sound effects. I guess they're just baked in there and maybe the ps1 spu does something to hide them in post processing. I can always just go into a program like audacity and try to edit or smooth them out I suppose.
  • Author
  • Localization

BloodRaynare, posted Fri Feb 03, 2023 2:04 am (75270)


PeaksPender wrote:
Wow, thanks for the script. There still seems to be some pops in a few of the sound effects. I guess they're just baked in there and maybe the ps1 spu does something to hide them in post processing. I can always just go into a program like audacity and try to edit or smooth them out I suppose.


Keep in mind that PS1's SPU (Sound Processing Unit) RAM is only 512KB, so of course devs had to compress and downsample the SFXes/voices to fit within the constraints of the said SPU RAM. But, to make it sound a bit better, the SPU then interpolates it.
  • Author
  • Localization

PeaksPender, posted Fri Feb 03, 2023 2:15 am (75271)


BloodRaynare wrote:
Keep in mind that PS1's SPU RAM is only 512KB, so of course devs had to compress and downsample the SFXes/voices to fit within the constraints of the said SPU RAM. But, to make it sound a bit better, the SPU then interpolates it.


Ah, okay then.

By the way, I tried importing some of the rips I did earlier with PSXSND into OpenMPT and they sounded way less compressed then when I was just editing them in Audacity. Actually a little clearer than the in-game audio I think.
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.