PSFs of Rhapsody: A Musical Adventure, possible? by CyberBotX at 2:14 AM EST on January 28, 2013
So I know there is a rip of the PSX version of Rhapsody: A Musical Adventure, but that rip seems to only contain the XAs from the game (which is only 10 of 26 songs from the game, and are the ones with singing in them). The official soundtrack of the game has 26 tracks, and the other 16 tracks consist of the rest of the game's background music.

I suspect that the rest of the background music is sequenced as opposed to streamed, but I am at a loss to finding out if this is the case. I have looked up some guides on ripping PSFs as well as trying to use VGMToolbox to locate any SEQ strings in the the game's files, but to no avail.

Has anyone else tried to do this as well? Is it even possible to get the rest of Rhapsody's music in PSF format (or even some other format)?
by peronmls at 12:09 PM EST on January 28, 2013
Unless you know programming I don't think it will be possible. There are guides but they don't explain very well
by CyberBotX at 1:08 PM EST on January 28, 2013
Well, I do know C/C++, and I tried to look at how Assembly programming is done. The latter seems to go over my head regardless of my previous programming knowledge, though. So while I'd like to be able to rip the sequenced music from Rhapsody (assuming that the music is actually sequenced), I don't think I can do it.
by manakoAT at 3:23 PM EST on January 28, 2013
It uses standard seq/vh/vb stuff... they just cut out the headers of these files, and there are some streamed songs.
by CyberBotX at 9:21 PM EST on January 28, 2013
So would it be possible to use the generic PSF driver from VGMToolbox? If so, then what should I be looking for in the game's files? I've never tried to do anything with sequenced PSX music before, but I really want to get Rhapsody's sequenced music extracted. The streamed songs are already covered.
by derp at 1:13 AM EST on January 30, 2013
?

edited 1:13 AM EST January 30, 2013
by CyberBotX at 2:40 PM EST on January 30, 2013
I talked to manako on IRC yesterday for a bit. He told me what file contains the seq/vh/vb information. But I have been unable to find any information about the format of the headers for SEQ or VAB, or rather, I found one but it isn't very detailed in explanation. Where can I find the format specifications for SEQ and VAB? If I had those, I believe I could try to hack in the headers so I could get them to be recognized by VGMToolbox.
by mogikihei at 3:26 PM EST on January 30, 2013
Do you use the XEBRA?
You can dump memory in File> Save> Running Image If you could use XEBRA, To play as far as the music is playing. (Like a spc and vgm)
You can find a seq/vh/vb if you search in VGMToolbox the dump data.
by CyberBotX at 4:23 PM EST on January 30, 2013
I think you missed where both manako and I have said that the headers for the seq/vh/vb are missing. Because of that, VGMToolbox will not find them. I would need to manually insert the headers, but I cannot do that without the specification of those headers.
by mogikihei at 6:31 PM EST on January 30, 2013
Looks as if the data is compressed.
There is a header in the data memory dump.

psf and the data is in the memory dump XEBRA
sample (1 Track)
http://www.mediafire.com/?cs2lweei0kp7z5b

I think I need to find a way of decompression check the compression format.
by CyberBotX at 9:36 PM EST on January 30, 2013
Was that with a custom driver? Also, I'm not sure if the data is compressed, because the VBs are uncompressed (at least as far as I can tell, with looking at how VGMToolbox searches for VB files).

Edit: In fact, it appears that the ONLY thing that was stripped from KERNEL.PAK (the file manako told me to check) was the pBAV and pQES parts of the headers. I only realized this after comparing the header from the .bin in your archive and what was in KERNEL.PAK. I added the missing parts of the headers in and got... something... out of VGMToolbox's PSF Maker. So far all that got me were sound effects. I'll do some more digging.

Edit 2: Turns out that some of the other tracks from the English OST are in BATTLE.PAK and TOWN.PAK. There are also a few non-OST tracks in those. But some of the OST tracks are still missing, they might be in other .PAK files. I am not sure how I'd find out, since the pQES header is missing.

edited 4:52 AM EST January 31, 2013
by mogikihei at 6:22 AM EST on January 31, 2013
Sorry, did not compress the data.
Please replace the header in hex editor Pak File.

04 00 00 00 00 00 00 00 00 00 00 00 01 E0
(It is a header that is used in the seq)

to
04 00 00 00 70 51 45 53 00 00 00 01 01 E0
(1 Track seq)
or
04 00 00 00 70 51 45 53 00 00 00 00 01 E0
(Multi Track seq)
by CyberBotX at 1:59 PM EST on January 31, 2013
That worked out! Combined with the SEQs I found using your .bin as a reference, finding that hex string and adding in the pQES to them gave me the rest of the songs. There are about 10 extra songs that don't appear on the OST. I'll post a complete rip (including the XAs) once I'm done identifying everything.
by Knurek at 4:17 PM EST on January 31, 2013
No need for XAs, unless I'm missing anything in the psf.joshw.info rip, just upload the PSFs, and I will add them to the archive.
by CyberBotX at 4:32 PM EST on January 31, 2013
Knurek, I have the XAs tagged, for one thing, and also I had re-extracted them from the game's BGM.STR file because the End of Track identifier is technically invalid on Rhapsody's music. If you listen to SLUS-01073_E_BGM_02.XA, for instance, at the very end is an extra bit with the singing "Atlus USA" in it. When I re-extracted them, I used VGMToolbox's Silent Block method instead. Although, I did not include the Japanese versions in my current rip, I could always do those ones as well.
by Knurek at 5:15 PM EST on January 31, 2013
Please do include the Japanese tracks if possible. :)
by CyberBotX at 8:47 PM EST on January 31, 2013
Alright, here we go!

Rhapsody - A Musical Adventure [Marl Oukoku no Ningyou Hime - The Adventure of Puppet Princess] (1998-12-17)(Nippon Ichi Software).7z

Tagged to the English OST, SLUS-01073.

I'll just explain what I did here, even though I explained some of it earlier. Props to manako and mogikihei for their help, and props to VGMToolbox for having the tools to make the PSFs.

For the XAs, I extracted them from BGM.STR and BGMJ.STR using VGMToolbox's CD-XA Extractor, but instead of using the End of Track marker to determine EOF, I used Silent Blocks to determine EOF, and set it to use the two-pass method. This not only got me all the sung tracks, but also split things apart so I could exclude the sound effects that were streamed.

For the PSFs, manako pointed me towards KERNEL.PAK, which contained the VH/VB files, as well as SEQs of the game's sound effects. There were 2 VH/VB sets, the first was used mostly for the sound effects (with the exception of the tune that plays when a battle transition starts) and the second was used for all the background music. The background music was contained in BATTLE.PAK and TOWN.PAK.

I initially used mogikihei's .bin dump to locate where the pBAV and pQES were in the game, and used the bytes following each to manually patch KERNEL.PAK, BATTLE.PAK, and TOWN.PAK. This got me a small portion of the background music, but not all of it. To get the rest of the SEQs, I used the bytes that mogikihei pointed out and manually edited those as well.

Once I had done the editing to the files, I shoved the files through VGMToolbox's PSF Data Finder. The SEQs wouldn't work when set as single-track files, so I had to set them as multi-track (which got me SEPs out of the Data Finder), and then I had to split them with the SEP Splitter. I was then able to put the proper SEQ files into a folder with the proper VH/VB, and used the PSF Maker with Davironica's Generic Driver. I used this one because it sounded nicer to me than Mark Grass's (maybe because of reverb? Not sure...), and then I used the PSF Timer and tagged the files. I had a friend from Speed Demos Archive, Zastbat, identify a few of the remaining extra tracks there were not on the OST.
by snakemeat at 11:14 AM EST on February 1, 2013
Thanks for all the research.
by Knurek at 11:41 AM EST on February 1, 2013
Thank you, I shall upload it to the mirror once I get back from work.

Just a quick question - I haven't gotten around to doing it myself, so maybe you would want to take a look at this game's Japan only sequel. We have PSF rip from that, but not the (surely existing) streams. I might get around to it some time, but I'd greatly appreciate if someone would look at the game a bit sooner. :)
by CyberBotX at 12:37 AM EST on February 2, 2013
Thinking about that, I don't think I'd be able to do it without access to a copy of the game. I wouldn't be buying it since I don't know Japanese.
by Clov at 12:40 AM EDT on April 19, 2013
I noticed something which makes me think this is an imperfect rip of the games audio. For example, when I listen to the psf rip version of 'The Wanderer' at 1:12 or so and compare to any audio on youtube I can hear in the psf version some cutting in and out of one of the wind instruments. I noticed it in some other songs as well. I am guessing that this isn't just limited to my own copy of Winamp + highly experimental.

Can anyone else confirm that this is happening on this rip?
by CyberBotX at 3:01 AM EDT on April 19, 2013
Now that you mention it, I can tell that it does sound a little different. I have the game's original soundtrack on CD and starting at about 0:05 until about 0:11, it sounds like the PSF version is possibly missing an instrument. It's not as noticeable in the version I put up here (which uses the Davironica generic driver), but it sound a lot worse in the Mark Grass generic driver version, sounding like there is only 1 instrument playing instead of multiple.

Considering that the only other option would've been to try extracting the game's music playing code, and I didn't have the skills to do that, I would say that this rip is probably as close as we'll get to having a PSF set of Rhapsody.
by snakemeat at 8:52 AM EDT on April 19, 2013
Another possibility is that since the original files were SEPs (which have multiple SEQs inside it), is that the game played more than one of SEP file's SEQs. Shin Megami Tensei Devil Summoner does this.

VGMToolbox doesn't support using SEPs with Mark Grass's driver. But, his driver does support playing SEPs, and playing up to 2 at a time.

A custom stub could be used as well if this is the case.
by CyberBotX at 12:02 PM EDT on April 19, 2013
Hmm, if that is indeed the case, how would I go about handling that? I would love to put up a more valid PSF set for this game. I have no idea what values I would put in for such a stub or how to handle that.
by snakemeat at 10:03 PM EDT on April 19, 2013
You'll have to look at the source for Mark Grass's driver and change a couple of the constants. Then compile it. If named correctly, you could theoretically replace the driver in the VGMToolbox "tools" folder. It's been awhile since I did some of this stuff, so you may need to experiment.
by CyberBotX at 12:56 AM EDT on April 20, 2013
Where would I get the source of his driver from? I tried looking here on the forums but any links of his appear to be invalid now.

On a side note, I was going to see if I could use the PSF Stub Creator in VGMToolbox to handle this, but I'm not exactly sure how to work with it. I was able to create a stub from the Rhapsody PS-EXE, but from there I'm not sure what to do, or if it would even help to have done so.
by snakemeat at 10:23 AM EDT on April 20, 2013
I'll try to upload some detailed instructions, but life is very busy these days. Take a look at the sample driver in Neill Corlett's PSF-o-Cycle to get a picture of what is going on.

VGMToolbox just automates a lot of the steps required to make a stub.

Real quick series of steps:
1) Using the Stub Creator: Load the defaults. Put the max vb, vh, and seq file sizes in the appropriate boxes.
2) Push the "highest address"
3) Select the stub you want to make (SEP/SEQ).
4) Make the stub.
5) Use psf-o-cycle to patch the original driver.
6) use the psf maker in vgmtoolbox. everything is the same as normal except, chose "load values from stub creator."

For playing multiple tracks in a single SEP, you'll need to edit the "psfdrv.c" in VGMToolbox's "external/psf" folder. See the "multi-sep" driver stub in Devil Summoner: Soul Hackers PSF set, line 373-4.

edited 10:25 AM EDT April 20, 2013
by CyberBotX at 5:54 PM EDT on April 20, 2013
OK, so those steps helped a lot. I'm not 100% sure if the final output is fully correct or not.

The original rip, using Davironica's driver, can be found here:

Rhapsody - A Musical Adventure [Marl Oukoku no Ningyou Hime - The Adventure of Puppet Princess] (1998-12-17)(Nippon Ichi Software) {Davironica}.7z

The new rip can be found at the URL from earlier in the thread, but I'll relink it here anyways:

Rhapsody - A Musical Adventure [Marl Oukoku no Ningyou Hime - The Adventure of Puppet Princess] (1998-12-17)(Nippon Ichi Software).7z

I think the new rip sounds a tad better than the earlier rip, but I think it still sounds off compared to the OST's version. At this point, I'm not sure what else to do. The new rip is larger if only because it uses the original game's PS-EXE patched with the stub created via VGMToolbox and all the extra psflib files because of the SEP usage.

I also noticed I didn't need to edit psfdrv.c because it matched the driver stub of Devil Summoner: Soul Hackers already.

edited 9:11 PM EDT April 20, 2013
by snakemeat at 11:45 PM EDT on April 20, 2013
I also noticed I didn't need to edit psfdrv.c because it matched the driver stub of Devil Summoner: Soul Hackers already.

Strange, it really shouldn't. Soul Hackers had one extra line added to play the first and second sequences in an SEP file.
by CyberBotX at 12:50 AM EDT on April 21, 2013
I downloaded the PSF set from Zophar because the one on JoshW's site is lacking the source code, and it only has a single call of SsSepPlay at line 373. Maybe it's not the latest version of the rip? I'm looking up how SsSepPlay functions, gonna mess around with it a bit.

So, the more I look at this, I more I think that maybe there isn't multiple SEQ tracks in the SEPs. Each SEP in the Rhapsody files seems to contain 1 actual SEQ and 16 dummy SEQs that are all 29 bytes each (when split from the SEP with VGMToolbox) which do nothing more than play a single note that sounds kinda like a strike being plucked, which doesn't match up to anything at all. So I have no idea why the PSF rip sounds like it's missing an instrument then. Maybe the VB/VH I used isn't complete? There were only 2 that I found, and the second one only produced valid sounds with the sound effects, not with the background music.

edited 2:41 AM EDT April 21, 2013
by snakemeat at 8:57 AM EDT on April 21, 2013
Hmm, I'm at a loss. I know occasions where the OST is different than the actual game. It'd be interesting to see if these missing instruments are present during game play in an emulator or real PSX.
by CyberBotX at 12:40 PM EDT on April 21, 2013
I could check, it would just take some time to get to a point in the game where it plays that track, since if I recall right, it plays pretty late into the game, and the in-game music player only plays the first 10 tracks from the OST, which are all the sung tracks. I'll post back about it when I get around to that.
by CyberBotX at 10:11 PM EDT on April 25, 2013
Alright, so I finally got to a point in the game where The Wanderer plays (first instance of it playing is in past Orange Village inside Kururu's head, right after you talk to Cherie in the church, the music changes to that song). I captured the audio through a capture device and played it back, then listened to both versions of the PSF, the one with the Davironica driver and the one with the original patched driver. The original driver version does actually sound correct compared to the Davironica version, it does indeed contain the missing notes. Neither the Davironica driver nor the Mark Grass driver play those notes. However, I found that I do not need to handle more than one SEP to have it play correctly. So the 7z I linked earlier works fine.
by snakemeat at 9:33 AM EDT on April 26, 2013
Wow, that's nice to hear. Thanks for all the research and comparison info and game
play comparisons.

Also, thanks for motivating me to write instructions on how to use the stub creator ;-)
by Mouser X at 11:19 AM EDT on April 26, 2013
Question: This just occured to me, but I've heard that the reason there's no PSF rip of Megaman Legends 2 is because it uses a custom driver, thus making the sequences non-compatible to generic drivers. Could VGMTb's "stub tool" be used to create a MML2 PSF rip? Obviously, this is a question, not a request. If the answer is "possibly" (or similar/yes), then I'm going to have to ask for help using the tool, because I've been wanting a MML2 PSF rip for years!


Back on topic - congradulations! I'm glad you were able to find, and fix the problems. That's pretty cool that the tools have been developed enough to make ripping PSFs much easier than it used to be. Mouser X over and out.
by snakemeat at 12:34 PM EDT on April 26, 2013
The stub creator is typically used for standard PSF sequences. Someone could potentially write a custom stub "psfdrv.c" file, but they'd still need to reverse the custom driver. At that point, there wouldn't be much advantage to using VGMToolbox to do it.


Go to Page 0

Search this thread

Show all threads

Reply to this thread:

User Name Tags:

bold: [b]bold[/b]
italics: [i]italics[/i]
emphasis: [em]emphasis[/em]
underline: [u]underline[/u]
small: [small]small[/small]
Link: [url=http://www.google.com]Link[/url]

[img=https://www.hcs64.com/images/mm1.png]
Password
Subject
Message

HCS Forum Index
Halley's Comet Software
forum source