Any good tools to edit VABs and loop VAGs?

Audio and Music (Sound Processing Unit) based area of development, including VAB, XA, etc
Post Reply
Xanvier
Curious PSXDEV User
Curious PSXDEV User
Posts: 10
Joined: Jan 05, 2016

Any good tools to edit VABs and loop VAGs?

Post by Xanvier » February 25th, 2018, 11:00 am

First off I'm sorry for being a friggin leech (I haven't logged in since January of 2016!), I wasn't very interested in PS1 modding and got myself busy with Need for Speed.

Anyhow, I've been playing around with some music on the PS1 and I decided a nice test would be to put some music for the Nintendo DS on the PS1! So I extract and convert a few files and this was the result with a generic PSF driver;

Link to PSF
YT link to the original song

I snooped around and found out that Awave Studio doesn't really export the VABs correctly. In fact it's very, very wrong.

Sounds aren't looped at all and ADSR is just nonexistent. Awave Studio somehow reads those values properly still? (exports VAB version as 32, so could it be using PS2 specific data?)

This has essentially led me to search for other tools (not the VABTool by Mark Breugelmans, EDIT: just checked I have an ancient version, whoops) that could handle this task if any should exist. I haven't checked out the PSYQ SDK yet either, hopefully it'll contain something useful!

Listening to this in Yu-Gi-Oh! Forbidden Memories was also a quite fun project while at it! I was hoping I could import my own samples into it and maybe make my own music like this. (especially now that I got the music entries in the file format somewhat cracked)

User avatar
Shadow
Verified
Admin / PSXDEV
Admin / PSXDEV
Posts: 2670
Joined: Dec 31, 2012
PlayStation Model: H2000/5502
Discord: Shadow^PSXDEV

Post by Shadow » February 26th, 2018, 9:19 am

Extract the audio as raw WAVE then use VABTool or VAGEdit. Then, you can play it back as a VAG. VAB's are only useful when you have small loops and also pair them with different channels (like sound effects, etc). Since you just want to play music, VAG is the best solution. There was an example here on the forums on how to do that actually.

http://www.psxdev.net/forum/viewtopic.php?f=64&t=153

To get that example working though, you need to upload the VAG file to the specified memory address. So that means using an Xplorer with CAETLA. Otherwise, you'll have to code up the CD-ROM routines to read it from the disc into memory.
Development Console: SCPH-5502 with 8MB RAM, MM3 Modchip, PAL 60 Colour Modification (for NTSC), PSIO Switch Board, DB-9 breakout headers for both RGB and Serial output and an Xplorer with CAETLA 0.34.

PlayStation Development PC: Windows 98 SE, Pentium 3 at 400MHz, 128MB SDRAM, DTL-H2000, DTL-H2010, DTL-H201A, DTL-S2020 (with 4GB SCSI-2 HDD), 21" Sony G420, CD-R burner, 3.25" and 5.25" Floppy Diskette Drives, ZIP 100 Diskette Drive and an IBM Model M keyboard.

Xanvier
Curious PSXDEV User
Curious PSXDEV User
Posts: 10
Joined: Jan 05, 2016

Post by Xanvier » February 27th, 2018, 6:35 am

Hm interesting, will check it out!

However my goal was to essentially hack the MIDI playback in games, like the music in Crash Bandicoot or Yu-Gi-Oh and similar so I was wondering if there are any good tools to allow me to do good VAB editing. I'd love to be able to import the sounds that go alongside the MIDI (like that song from Castlevania) which could mean absolute chaos for the sound chip :D

Awave Studio in fact exports correctly looped VAGs which is nice.

So far only VABTool and some tool for the old Mac Quadra (SoundDelicatessen, that was to be used with the DTL-H700) are the only ones that exist that were made by Sony. Seems I'm stuck with either using VABTool or even coding up my own tools to just convert a DLS/SF2 file to VAB.

EDIT: Uhh nevermind, it seems Awave Studio exports good VABs but not good SEQs... This was done with SMF2SEQ (had to fire up DOSBOX for this lol)
Link to new PSF

I guess I can go and make some edits to Yu-Gi-Oh or whatever is on MIDI on PS1! :D

User avatar
Shadow
Verified
Admin / PSXDEV
Admin / PSXDEV
Posts: 2670
Joined: Dec 31, 2012
PlayStation Model: H2000/5502
Discord: Shadow^PSXDEV

Post by Shadow » February 27th, 2018, 9:02 am

They didn't really use stuff along the lines of MIDI, but it was more like a tracker format (IE: Pro Tracker). So you have all your samples in sound RAM, and then the main program tells it when to play the notes and with what effects (delay, sustain, reverb, pitch, volume, etc).
Development Console: SCPH-5502 with 8MB RAM, MM3 Modchip, PAL 60 Colour Modification (for NTSC), PSIO Switch Board, DB-9 breakout headers for both RGB and Serial output and an Xplorer with CAETLA 0.34.

PlayStation Development PC: Windows 98 SE, Pentium 3 at 400MHz, 128MB SDRAM, DTL-H2000, DTL-H2010, DTL-H201A, DTL-S2020 (with 4GB SCSI-2 HDD), 21" Sony G420, CD-R burner, 3.25" and 5.25" Floppy Diskette Drives, ZIP 100 Diskette Drive and an IBM Model M keyboard.

Xanvier
Curious PSXDEV User
Curious PSXDEV User
Posts: 10
Joined: Jan 05, 2016

Post by Xanvier » February 27th, 2018, 12:45 pm

Yep, I'm very well aware of that fact as I've been converting all sorts of music formats from and to MIDI and playing them on all sorts of hardware for ages now. All of the data is technically translatable from one to another very easily through MIDI. (and besides aren't SEQ files / SQ's on PS2 essentially MIDIs? I mean the data is practically identical)

Nowadays we have all sorts of tools to convert practically anything from one format to another when it comes to sequenced music as the formula is pretty much: sequence data + synthesizer (either sampler or something more exotic). MIDI just happens to be a nice step in between or even the final format, depending on what you are targeting.

This Castlevania Dawn of Sorrow conversion is just one example of it, this could probably be done with music made for the SNES or the MegaDrive/Genesis etc. you name it, just needs a bit of work first done to it.

Unfortunately PS1 seems to be very limited in terms of actual playback, no crazy shenanigans are allowed with the actual MIDI data (64kB is the maximum size) so I can't exactly play some things I had hoped to play yet, such as some crazy quick timer volume envelopes or even audio spectrum data recreated with notes. (this would require a custom MIDI parser and player I'd imagine due to SEQ playback limitations)

But hearing Crash Bandicoot music in other PS1 games will always be fun! Currently working on a little tool to import music to Yu-Gi-Oh to allow at least sequence replacing.

User avatar
gwald
Verified
Net Yaroze Enthusiast
Net Yaroze Enthusiast
Posts: 282
Joined: Sep 18, 2013
I am a: programmer/DBA
PlayStation Model: Net Yaroze
Contact:

Post by gwald » February 27th, 2018, 3:08 pm

I feel for you man, that software is the worse!
I tweeted about this when I did it: :lol:
Damn you Playstation VAB format, you fight a good fight, but I've slain you! 👍 #PSXDEV #GameDev

I used tiny samples of, sawtooth, triangle, sine, square and noise.
And yeah, redoing the midi (3 tracks max) to use those sounds and pulsing them for sound effects :mrgreen:
funtimes!

Yeah, and it sounds as bad is it sounds.. but it's very retro!! :lol:
[BBvideo=560,315]https://www.youtube.com/watch?v=E5XPaKGQbII[/BBvideo]

Songs are where the slim lives, morbid angle & davidian, machine head lol butchered! lol

I used audacity for the waves and LMMS for midi

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest