Lossless Audio Extraction From PSX ROMs? by Bs at 8:55 AM EST on January 26, 2012
Hi there, something that I've been planning to do for a while but not had the chance until now is to start extraction lossless quality audio from PSX games that I have a particular nostalgia for, and I just want to know what I need to do to be able to do it properly.

Thanks to sites like this, I've had great joy in listening to Game Boy .gbs files, and also the audio from a few PS2 games in original audio quality, far exceeding anything I'd actually heard while playing on the original console or on an emulator, so I'm now hoping to start doing the same for the rest of the games I feel the same way about.

I have Foobar 2000 and the Game Emu Player (something like that?) plug in, and I also used to have Vgmstream until a couple of days ago, until updating to Foobar 1.1.10 or whatever recent version it was, stated that it was no longer compatible and deleted it. I haven't been able to get it working again since, despite trying newer downloads of the plugin so if anyone can point me in the right direction of that too, then that would be great.

Otherwise, explanations about which files I need to look for in the ROMs if it's possible, and how to go about doing it and getting them playing properly or converting them to saved files or whatever. Thanks for any help. :-)
by bxaimc at 9:20 AM EST on January 26, 2012
Well, here's the thing. Some games use CDDA for music. And then you have other formats like ADPCM which are NOT LOSSLESS

Put it like this:

ADPCM (lossy) to PCM (WAV, FLAC, APE, etc.) is a big no no.

edited 9:21 AM EST January 26, 2012
by Bs at 9:40 AM EST on January 26, 2012
Hmmmm...So what's the best solution? What I'm basically trying to get is the audio from my favourite old games in the quality it's originally in, rather than poor quality mp3s over the web or whatever, so without losing quality from the game itself...

I remember I used to be able to put some of my PSX games into a CD player and listen to the music that way, but sadly, all my old games got sold a number of years back when I didn't have the knowledge or foresight to think about these kinds of eventualities.
by SmartOne at 10:49 AM EST on January 26, 2012
Lossless = original audio quality. "Original" in this case is a game source. Thus, ADPCM and similar formats are lossless.

It is as "lossless" as you can get.

Semantics matter.
by Bs at 11:07 AM EST on January 26, 2012
Well, I wasn't expecting that I'd be able to get as lossless as I couldn't get. Just the best that's possible. Sorry if I wasn't precise enough, but any advice for extracting it at the best quality it can be from the game is still very much appreciated. I'm not sure exactly what I'm looking out for or what I need to do, etc, at the moment. Thanks.
by SmartOne at 12:03 PM EST on January 26, 2012
I was referring to bxaimc's post. I think you use VGMToolbox to extract XA files from a disc image. For CDDA tracks, use EAC.
by bxaimc at 7:36 PM EST on January 26, 2012
Still isn't real lossless which really counts. That isn't the true original source.
by SmartOne at 10:38 PM EST on January 26, 2012
CDs aren't real lossless, then. They aren't the true, original source.
by nothingtosay at 8:54 PM EST on January 27, 2012
^ This talk is assuming the music he wants is streamed. Quite likely many are sequenced.

Bs, you said that you've listened to some PS2 music. Does that mean you're aware of PSF and PSF2 files?
by cooljacker at 4:51 AM EST on January 28, 2012
Shit, this thing again... Then adx/aax/xma and bunch of others are all lossless. Why don't people call mp3/ogg lossless too if the game uses those codecs?

That's why all are making awesome FLAC rips from games that use lossy codecs... Because it's the original <lossy, and sometimes lossy as hell> game quality.

Nobody would ever hear the difference between <insert lossy game codec> and an ogg q10 transcode of it.

edited 4:52 AM EST January 28, 2012
by SmartOne at 11:56 AM EST on January 28, 2012
Why don't people call mp3/ogg lossless too if the game uses those codecs?

In that case, the MP3/OGG/etc. are lossless in the context of the source because nothing is lost. A lossy transcode of the source files would then be lossy.

Lossless transcodes (ADX to FLAC) of such files are a waste as space and shouldn't exist on the Internet.
by neo_chip at 2:19 PM EST on January 28, 2012
Question: Can a lossy source such as mp3 be an archive format?

For Example: Let's say I rip audio from a game, such as Sonic Colors which contains AAX as source [ADX variation I assume]. If I convert from AAX to MP3 Lame VBR-0 tagged properly and for some reason I decide to want to use AAC. If I convert from MP3 VBR-0 to 400kps AAC wouldn't you lose quality?

FLAC VGM rips seems reasonable for that purpose, to archive and convert with ease "IF" disk space is not an issue (at least to some it isn't).

Note:
Please keep the responses clean, I want to get this cleared and hopefully provide a reasonable answer for the next person that asks.
by Infernus Animositas at 6:35 AM EST on January 29, 2012
Yes you would lose quality neo_chip from converting MP3 to AAC because both codecs are lossy and converting lossy to lossy reduces quality.

For your archive question: Depending on the game's source files, most people on the forum listen to them in its native format i.e. AAX using VGMstream.

When it comes to this though, it's all a matter of personal preference. Some like saving disk space and listen to the original files and only convert them into another format when they need to. Others like having the music in a format like FLAC for archive purposes / tagging and having the ability to readily convert it into another format with their tags.

Others like MP3 or OGG so they can listen to it practically anywhere on anything without having to rely on a plugin or having to convert it before hand.

But there are some formats that can't be listened to in their native source i.e. XMA which need to be converted into another format to be listened to.

edited 6:36 AM EST January 29, 2012
by Elven Spellmaker at 7:20 AM EST on January 29, 2012
I think the main point of this topic stands though.

VGMStream isn't compatible with his device/player and so having MP3/WAV/etc. rips of the audio is the best he can get.

It's not a big no no if the device you are playing it on doesn't support that file-type for whatever reason.

For example I'm pretty sure any mobile phone can't play VGMStream files and so if you wanted to hear them on a mobile you'd have to convert to another format.

@Bs: If you convert to a high enough quality of practically any format you probably won't be able to hear the difference, but it will not be lossless any more. If you want to continue the way you are then just bear in mind they won't be lossless and there will be some loss (But if done properly no-where near as bad as some of the crappy rips that are out there).

Surely it's better for him to have the rips even in a lossy format (but encoded well) rather than either having no audio or the crappy rips some people produce. (Like CBR 128kbps)

@bxaimc: The losslessness depends on how good the VGMStream plug-in is. One bug and it's no longer interpreting the audio 100% lossless and in its original format.
Are you sure that every format in the VGMStream plug-in is 100% interpreted correctly?
A good exmaple of this is USFs which don't always play the intended speed (ignore that it's not VGMStream) or Paper Mario BRSTMs which you had to put in a hack and reanme the file (which while that doesn't change the file format itself it still changes the filename which means its no longer original excactly) and the Wii didn't have to rename them (as far as I know) to play them properly.
You can go even further and say that most of the audio of the Wii is in 32kHz which is stripped down from the 44.1/48kHz originals and so what's the point in having anything but the original CD which is the original quality in FLAC/CD format and then set loop-points manually if possible?

All Bs wants is a good enough rip to be as close to the originals as possible so that he may continue listening to these rips on a player/device that doesn't support VGMStream.

@Infernus Animositas: Surely if XMA can be converted, a plug-in can be made?
Or is the source for the converter not open?
by Mouser X at 9:23 PM EST on January 29, 2012
The tool being used to convert XMA to WAV is called "toWave.exe", and no, it's not open source. Someone has run it through a disassembler, so theoretically, a plugin could be made (that is, using the assembly to discern what's going on, and re-write it in C or C++ or something), but that's a lot of work....

So, unfortunately, no, a plugin is not entirely realistic at this time. :( Mouser X over and out.
by neo_chip at 2:04 AM EST on January 30, 2012
Got my answer thanks IA.
by Bs at 12:14 PM EST on January 30, 2012
"All Bs wants is a good enough rip to be as close to the originals as possible so that he may continue listening to these rips on a player/device that doesn't support VGMStream."

"Surely it's better for him to have the rips even in a lossy format (but encoded well) rather than either having no audio or the crappy rips some people produce. (Like CBR 128kbps)"


Thank you, Elven Spellmaker, I'm glad someone understood the angle I was going for. Thank you to everyone who has replied though, I really appreciate the willingness to help here.

I managed to get VGMStream working with Foobar again, so that's an option again, and I used VGMToolbox to test out ripping streamed XA files from a PSX image, which worked for those tracks that were streams only.

Then I came up against a problem with certain file types being unreadable or whatever, so today I've downloaded a few more programs and plugins to try and take care of most of that. I was also unaware of the existence of PSF type files until today too, so I'll try and make the most of this, combined with some of my own extractions and see what I can get from the different options put together, to minimise missing tracks or whatever.

A lot of this I had no idea about until the last couple of days, so I'm kind of learning as I'm going along and a bit of my own research added with your input is really helping so thank you. I'll see what I can get from what I have so far in the next night or two, and then I'll add a post about anywhere that I've got stuck, as somewhere, I undoubtedly will. Thanks for everything so far.
by Bs at 10:30 AM EST on February 4, 2012
Okay, thanks to everone who helped so far. Here's the point I'm at at the moment. I downloaded some PSF files for some of the games I wanted the audio from, and a number of them seem to work very well, but I still have some problems.

Problem #1 : My computer doesn't seem to like this obsession with using xxxlib files. If I take the Crash Team Racing audio as an example, Foobar will play the tracks streaming from ctr.psflib, but tracks streaming from any of the others won't play. In this case, Winamp will play them, but not Foobar. For Crash 2 + 3, Foobar will play all of the tracks, even though they're coming from different .psflib files too, but not with CTR for some reason.

However there are others were nothing plays at all, in the case of MINIGSF and GSFLIB files or whatever. Is there anyway of converting files back into separate files that have their own data (like normal psf files or whatever), or indeed doing something similar from .gbs files (so I could have each track in its own file somehow), to solve cases like this.

Also I don't know if it's possible to edit the data for things like the PSF files, for example, each of them has a "Time/Duration" set, presumably to fade out after being played once or twice or whatever, but I have them set to infinite loop anyway, so I don't know if there's a way of getting rid of that. For example, with .gbs files, it will show the duration simply as ? which I quite like. So if I've been listening to a track looped for 10 minutes, it shows as 10.00/? which I think is pretty cool. Similarly I don't know if details like Artist/Album tags can be changed in files like this, blah, blah, blah, so on and so forth...

Problem #2 : Missing tracks. From what I can gather, this is something to do with the difference between streaming or sequenced tracks or something along those lines. So there are some tracks that are missing that, fair enough, I could record a decent quality version through an emulator and it wouldn't be too much of a difference, but what I love about the original files is being able to loop them infinitely in Foobar so if it's possible to do something similar with this missing tracks then it would be great to know how to get them.

For example, Crash Bandicoot 1, the PSF files include all tracks (I think) apart from the Intro/Main Menu/N.Sanity Beach (Part I) track and the N.Sanity Beach (Part II) track. These play in the game on infinite loop in the same way as all the others so I don't know if there's a way of getting them in the same way somehow. Part of the problem seems to be how/where they're stored in the game files, as often they're in no location that something like VGMToolbox can find, and are perhaps stored in other larger archives within the game with other data, I don't know. I don't know if anyone else knows solutions to this.

I think there was another point I was going to mention but I've typed enough for now, so I'll leave these here as they are at the moment. Thank you to everyone who continues to help. :-)
by SmartOne at 1:57 PM EST on February 4, 2012
I'm using foobar2000's ZIP/GZIP/RAR Reader 1.6, and all the Crash Team Racing tracks play as they should from a ZIP file.

XMPlay, unfortunately, cannot use LIB files from within archives with its native archive plugins.

Not sure why yours won't play.

edited 4:50 PM EST February 4, 2012
by Bs at 8:04 AM EST on February 11, 2012
Hmmmm, I'm not playing them from a Zip/Rar file as I extracted them all first, so I'm just playing from the extracted folder or whatever. Is that generally not the right way to do it?

Is there any way of converting MINIPSF and PSFLIB files back into PSF files as I seem to find them easier to use? Similarly with GSFLIB or whatever. Any solutions, or any ideas about the part I said regarding missing PSF tracks which are obviously in the game data somewhere? Thanks.
by Mouser X at 3:18 AM EST on February 12, 2012
What tool(s?) did you use to extract the Zip/RAR files? Does it support subdirectories? The PSF format supports putting the LIB files in a different directory (than the xSF files), and it's possible that when you extracted the files, the LIB files didn't end up where the xSF files expected them to be. Most sets are set up to have the LIB and xSF files in the same directory, but there are a few that do it differently.

Can you provide specific file names of the files that do, and don't play, and in what set? Mostly, I'm looking for examples. It'd be useful, to try and narrow down what the problem might be. It'd be even more useful, if you can view the "RAW" tags, and see how the LIB files are being called/addressed (as in, what the tags look like).

To me, it sounds more like the LIB files are being called/addressed improperly, and thus, the files aren't playing. While my memory tells me there are programs to "combine" the LIB and xSF files together (to get rid of minixSF), I don't remember what they are, or how to use them. Not to mention that, really, there's not any especially good reason to do so. Try playing the xSF files from the original RAR/ZIP file, and see if that works. If it does, then there's most likely a problem with your extraction method. If they don't work, then it sounds like there's more going on, and therefore "we" would need more information to figure out what it might be.

Anyway, answering those questions (in the paragraphs above) would be helpful. Hopefully my post is beneficial, and you get this problem solved. Mouser X over and out.
by Bs at 12:50 PM EST on February 15, 2012
Hi Mouser,

For extracting RAR files, I use Winrar, and for extracting ZIP files, I just use Windows Explorer (opening the ZIP and clicking Extract All Files), but they're all extracted to the same folder.

For the Crash Team Racing example, there are a number of different PSFLIBs. The main one is ctr.psflib, which most of the files are read from, and they all work in Foobar. There are 3 others, dingo.psflib, map.psflib, and intro.psflib, and the Intro tracks, Map tracks and Dingo Canyon track which obviously have data in these don't work in Foobar (although they do in Winamp).

Crash 2 has 9 separate psflib files and Crash 3 has 7 but all the tracks included there work in Foobar. Crash 1 is just normal PSF files and they all work perfectly, so I don't know if there's anyway of converting the versions with psflibs back into PSF files like that if that would make it easier to move them around.

I also downloaded a number of GBA (GSF) audio files though, Kuru Kuru Kururin, Pokemon Fire Red/Leaf Green, Pokemon Ruby/Sapphire, Pokemon Emerald, and I think there would have been more, except all of these use minigsf and gsflib format, and I haven't managed to get any of those tracks working yet, although that might be due to a plugin issue, as I've just realised that I'm not sure my plugins at the moment cover that format.

Anyway, I just tried the suggestion of playing the Crash Team Racing files straight from the ZIP file, and interestingly the same thing happened. The files that worked before worked, and the files that there were problems with still didn't. If you want to try yourself, I've been using Zophar's Domain to download most of the files, although I think I found alternative downloads elsewhere that had the same issue.

Thanks for your help.

edited 12:51 PM EST February 15, 2012
by Bs at 10:52 AM EDT on March 22, 2012
Heh, I didn't realised this has slipped so far back in the pages. Did anyone manage to figure out a solution to the problems I was having, as I haven't carried on with arranging them since. Thanks.


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