Manhunt sfx|.SDT and Headerless Raw WaveForm files by Jack Krowell at 6:26 PM EDT on March 9, 2020
Hello there, I'm looking for the voice sfx used in a hidden message, that plays out on the main menu screen for Manhunt PS2.
I have reason to believe that they could be stored in some files found within said game, under the filename(s): "SFX0.Headerless Raw WaveForm, SFX0.SDT, SFX1.Headerless Raw WaveForm, and SFX1.SDT." Is there any way at all that I can extract/convert those 2 specific file formats to a playable audio format, such as wav?
Here's a shareable link for the folder containing the SFX files I'm talking about:
Wow, SO many sound samples. I ignored SFX0 pair, as it has only minor SFXs. .SDT is some sort of offsets/filesizes/indicator (frequencias maybe?) We'll use VGM.toolbox to help extract the files. As there are no names you'll have to search which of these many extracts will have the sound you want to procure. (You can use this same process for SFX0 if you want to examine that).
2º Data File: browse to "SFX1.RAW" [x (check!) ] Header File: browse to "SFX1.SDT" (Optional) [x] Output Extraction Log ...
3º (*) Read Header to EOF (End.Of.File)
4º File records begin at offset [ 0x0 ] and each record has size [ 0xC ] Individual File Offset (*) File Offset is at Offset [ 0x0 ] ... Individual File Length (*) File Length is at Offset [ 0x4 ] ... Individual File Name Location/Offset [x] File Name is Included in the VFS (I'll use this trick as values @0x8 or file record MAY be important (frequency maybe?), so better to keep them after extraction than manually search afterwards in the .SDT. VGMt is handy enought that will autorename with (##) for "repeated" filenames ) (*) File Name is Included in the Individual File Record at offset [ 0x8 ] Individual File Name Size (*) Has Static Size [ 0x4 ]
5º < Extract Files >
You can use any batch renamer tool to change the filenames to more readable ones. Let's first change extension: > ren *.bin *.adpcm
Use this .TXTH file (Simply a .txt file with these contents, then change extension), and put it with the extracted files, with name ".adpcm.txth" (no quotes). ##### codec = PSX channels = 1 sample_rate = 16000 num_samples = data_size #####
Choose also from these sample rates (values ARE in .SDT) 14750, 11025, 6000, 7500
Thank you very much for your help. But there's just some things I don't at all understand.
Such as, what batch renamer tool are you talking about? I downloaded something called: "Advanced Renamer Portable", but I have no better understanding of that really.
Also, I tried making a txt file, and then renaming it by right clicking on it and pressed rename, but it's still a txt file, for some reason.
And what .bin files are you talking about exactly?
Hello. I wrote 'any'... well yes, some of them are obtuse / somehow high learning curve, for me, ant renamer 2 goes well, you just have to get accustomed with their functions to get maximum yield/usage. These kind of software makes renaming MANY files less tedious.
In text editor you have to change "file type" to " (*.) all" or similar, then append extension to your filename. Or to your text file, simply cmd: ren your_text_txth.txt your_text_txth.txth
The .bin files are automatically created by (any of) VGMtoolbox ( extractors), when it does not know file extension, as e.g. the files contained in this SFX0.RAW. So extracted files have .bin extension, meaning UNKNOWN data type (that's the purpose of file extractors, you'll have to decide what type/format those files should be.
First, extract the .RAW file using the instructions I posted, then after extraction, open the folder where extracted files are, then [SHIFT]+(right-click), select "open command here", and write the following command: ren *.bin *.adpcm
This command will rename all files with extension .bin, to .adpcm, i.e. will change extension.
Then, create ".adpcm.txth" (filename HAS to have the leading dot, else playback won't work).
Keep informed of your progress. Summary: 3 steps * Extract files using VGMtoolbox * Rename .bin files to .adpcm * Create .txth file for vgmstream playback.
O.K. thanks, I'll try my best at what you suggested, it's just, for the .bin files stored within the vgmt_vfs_cut folder, their file type is just the word "File", for some reason. Is there something wrong there?
(I just found those .bin file you were talking about, deep within those other "File" files, how stupid of me, my bad sorry)
Yeah, I had some problems. I opened the .adpcm in foobar2000, but it didn't at all play out. just the typical error message stating: "Unsupported file type" or something like that you know. I even put the .adpcm.txth file in the same directory folder as the other .adpcm files. (Also, it goes by the name: Codec.adpcm.txth)
I made the .txt file with the following copy and pasted:
No. The TXTH file should be named .adpcm.txth NOTE the starting/leading DOT, and the H after txt. Filenames should be (example) *(? $ .adpcm Ugly symbols in filenames due to extraction process.
The idea for using batch renamer was that we could get information on "frequencies" (I do NOT know if that REALLY is the case, but testing some of these values with txth yielded feasible sound), so that with it, we could sort/group those thousand of files based on that value (frequency), that are now part of their filenames put by VGMtoolbox, even if they are converted to ugly characters.
What is important, is that all extracted filenames must have extension ".adpcm", and there should be only one (for now) TXTH file named ".adpcm.txth", with the very same contents as you posted. You renamed that .txt file into .TXTH , did you ???
I do not use fb2k (only tested it), so I cannot suggest what workaround to apply for this error message. Maybe file associations? In winamp, I NEVER, NEVER associate vgmstream extensions with the (default) player; I leave vgmstream plugin take command of playback with the TXTH or TXTP files, or its included file extensions (e.g. FSB, ADX, XA, etc). Last resort workaround would be renaming extracted files to have panacea ".vgmstream" extension, and the same for txth file ".vgmstream.txth".
You can post pictures of resulting files to see if there are filename errors. Based on what you wrote, I do not see anything that would trigger errors, except some configuration in plugin/fb2k.
I post this separately as an alternative to above troubleshoot.
You can start all the extraction all over, BUT unchecking (i.e. NOT doing) this step:
(*) File Name is Included in the Individual File Record at offset [ 0x8 ] Individual File Name Size (*) Has Static Size [ 0x4 ]
and thus leave VGMt to do the autorenaming, with hex numbers; only drawback is that we must get their correct (?) frequency/sample rate for some extracted files from .SDT file (because "sample_rate = 16000" is only one posibility of many according to .SDT)
The TXTH file should be the same, no problem with this file.
Alright then, I managed to give the .txth file a proper name, and by changing the sample rate to 11025, I ran one one of the files through test.exe, and it played out perfectly, just like it did in game.
Thanks in advance, you were very helpful, I appreciate that very much.
But, one thing though, how do I convert all "13,758" .adpcm files at the same time with test.exe exactly?
################ echo off for %%a in ("*.*") do { "D:\Path\to\test.exe" <options> "%%a" "%%~na.wav" } pause ###############
Where <options> are the parameters of test.exe (I do not know this program's convert options). With this batch a file named "file001.ext" will be converted to "file001.wav". Put this batch file together with your extracted files to convert them. (The pound '#' characters are just delimiters; they do not go in the .bat script. Because I put "*.*" in the loop selector, you make sure that there is only ONE folder with only your extracted files there, and put this script with them.)
But you do not need text.exe with the .txth file, that's its purpose with vgmstream plugin. But you're welcome if you want to convert them for playback/testing purposes.