Pages: [1] 2 3
|
|
|
Author
|
Topic: Star Control 3 STAR001.VOC archive WAV file format? (Read 20240 times)
|
Daktaklakpak
Guest
|
I am looking for some information about the audio format used for Star Control 3 voice clips contained in the game's sound file archive named "STAR001.VOC". There appear to be about 3500 references to single "WAV" format files within the archive, but upon extracting and loading them into a sound editor, they all come up as 8-bit 22,050 Hz Mono. This is fine for the sound effects, intro audio, and credits audio (150 out of ~3500 files), but on the in-game voice files, there exists a large amount of static, though you can tell that there is indeed speech within the noise. I've tried forcing different sample rates and byte ordering on the files to no avail, so I am assuming it's some kind of compressed format, though I've tried loading them as most common compressed formats with no results either.
So if you know what I'm talking about, please let me know what format these files are. If not, perhaps you could point me in the right direction to someone who might be able to provide this information.
|
|
|
Logged
|
|
|
|
|
Daktaklakpak
Guest
|
Thanks for trying to help, meep-eep. I'll try to be more precise:
Reiteration: STAR001.VOC appears to be an archive of 3,592 WAV format files.
Clarification: In this case, the extension does not denote the type of file; it is simply the name that the programmers of Star Control 3 used for this archive. The information I need is related to the format of the WAV files contained within the STAR001.VOC archive that are not Uncompressed PCM data. 150 of the files (sound effects and intro/cutscene/credits audio) are standard PCM data (22,050 Hz 8-bit Mono), while the remaining 3,442 files are identified by their headers as being WAV data, but neither I, nor any of my software, have been able to determine the exact format.
Errata: The software being utilized is:
MRIP for extracting the WAV files from STAR001.VOC SoundForge & Awave Studio for loading and analyzing the format of those WAV files
|
|
|
Logged
|
|
|
|
Daktaklakpak
Guest
|
Another Clarification: WAV format files usually contain PCM data. So, WAV data = PCM data. My previous response may not have been clear to those unfamiliar with digital audio engineering. Sorry for that.
|
|
|
Logged
|
|
|
|
|
Daktaklakpak
Guest
|
meep-eep: I did indeed try to load STAR001.VOC as a single Creative VOC, no luck. Also tried various ADPCM encodings on the individual WAV files with no results.
How do you recommend I send you one of the files for inspection?
|
|
|
Logged
|
|
|
|
|
|
Daktaklakpak
Guest
|
meep-eep: Right. The 4 bytes should be the length of the audio data, which can actually be a little less than the file length, since some WAV formats contain metadata at the end of the file. (or the beginning in FACT chunks, extended formatting, etc.)
These don't seem to have any metadata, and although most of the files do contain too much data truncated to the end of the file (including the RIFF header of the next file in the archive), it is mostly zeroed out. Even with this tacked on, the WAV data should still play properly, followed by static if the extra data is garbage. The header in these is probably the problem, since it also specifies that these files should be 22,050 Hz 8-Bit Mono, which they are clearly not. If you lower the sample rate of the files to 11,025 Hz, you can make out the speech a little better. The one I put up a link to: WAV00000.WAV sounds like it starts out "I offer you peace..." under the static. That's why I'm trying to get past this screwed up header to the data format itself; there is definitely something there.
As for the program, I put it in a sort of 'blind mode', which just searches for a specified 'header' (series of bytes) 'WAVEfmt' offset by -8 bytes, or just 'RIFF', then reads everything until the next 'header' is found and writes that part to a new file, then on to the next file, with no processing. It does have a default 'smart mode' which checks the data/header against a known format, but that only finds the 150 'good' WAVs in the archive, which the 'blind mode' does find as well, with no corruption.
|
|
|
Logged
|
|
|
|
Novus
Enlightened
Offline
Gender:
Posts: 1938
Fot or not?
|
STAR001.VOC seems to be a lot of WAV files concatenated together, like Dak says, but most of them seem to have bogus headers. The header says 8 bit PCM at 22 kHz, but that is definitely wrong. Given the time period, I'd guess the data is actually in some ADPCM variant, but so far I haven't found a decoder that produces a listenable result.
Star Control 3 uses Miles Sound System 3.5b, but tracking down specs for it is quite hard (the current version is completely different).
|
|
|
Logged
|
|
|
|
Daktaklakpak
Zebranky food
Offline
Posts: 11
|
Novus: You calling me a Dak?! Haha.
I have been researching Miles version 3.x actually, but I don't know if that will point to a specific format. Doesn't look like it so far, unfortunately. I agree about ADPCM being a likely format, since when you force most ADPCM formats to load as uncompressed PCM (Unsigned Little-endian 8-bit in this case) they do sound similar to the files in STAR001.VOC.
|
|
|
Logged
|
|
|
|
Novus
Enlightened
Offline
Gender:
Posts: 1938
Fot or not?
|
Novus: You calling me a Dak?! Haha.
Yeah, I know, "Daktaklakpak is short form".
I have been researching Miles version 3.x actually, but I don't know if that will point to a specific format. Doesn't look like it so far, unfortunately. I agree about ADPCM being a likely format, since when you force most ADPCM formats to load as uncompressed PCM (Unsigned Little-endian 8-bit in this case) they do sound similar to the files in STAR001.VOC.
If you take one fixed-length encoding (or close to fixed length) and play it as another, you'll probably be able to discern similar patterns amongst the static. Unfortunately, this makes it harder to guess the format.
I've had more luck with the structure of the archive. The first two bytes seem to be the amount of subfiles, followed by that many offsets to the subfiles (32-bit offsets from file start; some are zero). Each subfile seems to start with 20 00 and then four bytes that seem to be the real file size followed by what appears to be a WAV. The WAV file header seems to contain information about the unpacked file, which means that e.g. the file length in the WAV header is way too large. Each subfile is padded up to the next 4K multiple (for quick disk access?).
Assuming the file size in the WAV header is the unpacked file size, this would suggest a codec with a variable compression factor of something like 3 to 4. This rules out most popular fixed-rate ADPCM codecs (e.g. Creative ADPCM).
|
|
|
Logged
|
|
|
|
Daktaklakpak
Zebranky food
Offline
Posts: 11
|
Novus: That's about as far as I've gotten with the archive itself as well. One theory I had was that STAR001.VOC is a pseudo-compressed archive (or contains pseudo-compressed files), such that the 'pseudo' part would be referring to the WAV data itself being compressed while the headers become accurate for the files when Star Control 3 (or Miles) decompresses them at runtime, in which case we're at a dead-end if they used a proprietary compression algorithm. Pretty much what you said with regards to the WAV header referring to the unpacked size. It sounds like you've played with this file before But at any rate, I'm still hoping it is not a proprietary or in-house derived format. This is my 3rd attempt over the years to crack this thing, heh.
On a side note: I am trying to contact some of the old Legend programmers to see if they will let anything slip, though they are hard to track down. I found one on the Gamasutra (sp?) staff, but no response yet. Also tried to contact a user (Kohr-Ah Death) on this forum who claims to know the format in this post: http://uqm.stack.nl/forum/index.php?topic=2748.0 Maybe he's had the answer all along...
|
|
|
Logged
|
|
|
|
Novus
Enlightened
Offline
Gender:
Posts: 1938
Fot or not?
|
Somehow, I suspect Kohr-Ah Death noticed they were WAVs, but the extractor went crazy for the reasons outlined above.
|
|
|
Logged
|
|
|
|
Daktaklakpak
Zebranky food
Offline
Posts: 11
|
From reading K.Death's post, it sounds like he could not extract all the files; he never posted a follow-up to tell us if he did finally get them. So, for those who want to work on this, you can get all 3,592 files out of STAR001.VOC with Multi-Ripper (MRIP) v2.80 by specifying the /N switch on the command line. If you don't use the /N switch, it will only extract the 150 'good' files mentioned earlier (the intro/cutscene/credits and sound effects audio).
Syntax:
MRIP STAR001.VOC /N
You can use the default Windows WAVE search, or for a cleaner result use:
User Defined Pattern: RIFF File Extension: WAV Offset: 0
|
|
« Last Edit: May 10, 2006, 05:51:29 am by Daktaklakpak »
|
Logged
|
|
|
|
Pages: [1] 2 3
|
|
|
|
|