Getting hold of a large number of filesWhen you rip games that use the Unreal Engine 3 or simply when you have thousands of audio files to check for music, you can run into different kinds of problems. Here are some tricks that might help.
Sorting audio files by frequency / channelsIn many cases the music is only in a certin frequency and channels. Wouldn't it be nice to have a program that sorts audio files into folders? Well, I've coded a little script that does the job for *.wav, *.ogg and *.xma (other implementations upon request). If somebody can tell me how that process works for mp3, I'll be glad to implement it.
Code: Select all
# sort various audio formats into folders named .\[freq]_[ch]\
# supported formats: ogg, opus, RIFF, RIFX (all codecs)
# script for QuickBMS http://quickbms.aluigi.org
set CH ""
set FREQ ""
getDstring IDENT 4
if IDENT == "OggS"
goto 0x1c
getDstring TEST 4
if TEST == "Opus"
goto 0x25
get CH byte
get DUMMY short
else
goto 0x27
get CH byte
endif
get FREQ short
elif IDENT == "RIFF"
goto 0x14
get CODEC short
if CODEC == 0x165
goto 0x24
get FREQ long
goto 0x31
get CH byte
else
goto 0x16
get CH short
get FREQ long
endif
elif IDENT == "RIFX"
endian big
goto 0x16
get CH short
get FREQ long
endian little
elif IDENT == "VAGp"
endian big
goto 0x10
get FREQ long
set CH 1
endian little
else
goto 0
get IDENT long
if IDENT == 0xc000048
goto 6
get FREQ short
set CH ""
else
cleanexit
endif
endif
get FNAME filename
if CH == ""
if FREQ == ""
string NAME p= "others/%s" FNAME
else
string NAME p= "%d/%s" FREQ FNAME
endif
else
string NAME p= "%d_%d/%s" FREQ CH FNAME
endif
get SIZE asize
log NAME 0 SIZE
You should chose a complete folder for the script to run on. If you open *.bms files with quickbms.exe by default, just copy the folder you want to scan in the file name field at the bottom and click "open". Quickbms can only handle a list of about 1000 files in batch mode, so this is the option you need to go with.
The script will result in a bunch of folders with all the audio files sorted into folders named [frequency]_[channels]. The music can mostly be found in the 32000_2, 44100_2 or 48000_2 folder. But be sure to look everywhere - the script is only a helper but you still need to do some work.
Intelligent processingIf you're dealing with mp3 or some obscure format (that you can play of course), you're stuck with checking a lot of files manually by listening to their contents. Here are some suggestions what you could do to speed up the process of extracting the music.
The best way to start is to
check for duplicates, so you don't have to process them. You can easily do that with
Anti-Twin (
http://www.anti-twin.com/). The only thing you should do when you start the program is setting the limit to something higher than 1000 when you're dealing with more files than that. I've safely used 20,000 and it works fine. Now when the scan is over, auto-select the duplicate files ONLY by the criterion "Preferably delete files which have a newer creation date", for all others select "This is no criterion.", check the selected files and afterwards select "Delete files directly" in the deletion dialogue. Why delete the newer files? Because you want to keep the ones that were written to disk earlier. At least that's what I do.
I'll explain later how to do so-called "merge rips" with Anti-Twin.
Here are some other tips:
- search for "*mus*.*", "*cue*.*", "*stinger*.*", "*hit*.*" and sort them out.
- successively delete files that don't contain music (make sure via sample listening first) - e.g. (DOS command) "del amb_*.*", "del env_*.*", "del weap*.*"
- sort by size and check the large files first to get an idea how the music is named
What you should ALWAYS do to avoid accidentally deleting files AND to speed up the processing:
1. Create a folder named "ok" (ore something feasible) inside the folder with all the audio files you need to check
2. Start to listen to the files below (enter, down, enter, down....)
3. If you find a musical piece, mark all files above and delete them: up (to mark the file above the one that's playing), hold shift, home, down (to unmark the "ok" folder), release shift, del (or shift+del to perma-del).
4. Move the found file to the "ok" folder.
5. Once you're finished, you'll have all your music in the "ok" folder and can move the files somewhere you want them.
When you consistently use this method, you'll get quick quite soon. It's inevitable to use your keyboard quite often if you want to go fast. I can savely test and sort 1,000 files in a couple of minutes. Of course, only given that they are mp3, otherwise I use my script from above.
For Unreal Engine games there's the issue of HUGE numbers of files (we're talking about something like 100,000 here!), but I'll address this issue later.