Note: All tools used are linked at the bottom of the post.
Download and install Deus Ex Invisible War Sound Drone
Run the application - it should automatically detect your game installation and you should be greeted with a window and a list of audio files
Unlike a lot of audio extractors, this one also accesses the subtitle files (for conversational audio). If you resize the subtitle column to enlarge it you can view the full text of the audio
You can also play them by right-clicking and selecting Play from the drop down menu
As the list is very long (nearly 40,000 files!), and there is no text search option. To help narrow down the search of specific audio files, check the Tags tab which showed how the audio is organised in a hierarchical tree. For example, for conversational audio for a specific character like Nicolette DuClare, you can check for them under the voice category
After finding the relevant tags for what you need, go back to the Sounds tab and right-click the content list and select Filter from the dropdown menu
A new window should pop up where you can search for and apply the tags using two drop-down lists
Just selecting the tags might still generate a very long list with some irrelevant files, to circumvent this, you can play around with deselecting Show Mission Sounds, and Show Missing Files, as well as selecting audio from specific missions with the tick boxes
The list should update with files that match the tags you added to the filter, for this example, I selected the voice tag and projectdirector subtag, and as you can see all the names have "projectdirector" included in the name
To extract the audio files, right-click the file you want and select Extract from the drop-down menu. You can also select multiple from the list using Shift or CTRL click and extract all of the selected files. A confirmation window will appear once the files are done extracting too
You will probably notice it did not ask you for an extraction destination, that is because the files automatically extract to the installation location of DXIW Sound Drone (or AppData, see second screenshot for path). Navigate there to find your extracted files
Note: All tools used are linked at the bottom of the post.
Locate the video files. They should be .bik files within the VideoTextures folder. For the Steam version of the game, they can be found in this directory:
Steam\SteamLibrary\steamapps\common\Deus Ex Invisible War\content\DX2\VideoTextures
The .bik files can already be played with RAD Video Tools (Bink Video Player). You can convert these files into .mp4 files using the same software. To do this, open RAD Video Tools and navigate to the .bik file, select it and click the Convert a file button in the tools section
In the converter window, select .mp4 as the output format, and make sure Convert Video and Convert Audio are checked.
Note: .bik files come up a few times in my guides for extracting video from other Deus Ex games, and in those circumstances I had avoided converting the audio this way. This is because those .bik files normally have multiple audio channels and the ones that play in the converted video may have some missing. In those situations, I split the audio channels using a different tool and mix them down into the resulting video. As the Invisible War videos seem to just have one audio channel, this is unnecessary, so it's fine to just check the Convert Audio box - you do not need to worry about losing any of the audio tracks.
Click Convert and a window should appear showing the progress of the conversion
When complete, the folder with the .bik file in it should now have an .mp4 file with the same filename, and can be played with a normal video player
Note: All tools used are linked at the bottom of the post.
Deus Ex: The Conspiracy (2002) is the PlayStation 2 port of the original Deus Ex. While it can't be said to have been an improvement over the original as it had to be simplified for a console release, it had some interesting additions. Most notably the character models and the cinematic cutscenes that replaced the Intro and the three ending sequences--Merge with Helios, Illuminati Rule, and A New Dark Age. In this post I will demonstrate how to extract these four videos from the game.
Locating the video files
Insert the PS2 disk or mount an .ISO image file of the PS2 disk
Browse the contents of the disk to find the .PSS files (PS2 video)
Copy these files off the disk and into a folder on your Desktop
Extracting the audio and video stream from the .PSS file
Extract the contents of the PSS Demux archive and run PSS_demux.exe
Drop the .PSS files onto the window
The window will now display the progress of the conversion and will inform you once it is done
In the folder, there should now be video (in .M2V) and audio files (in .WAV) for each of the cutscenes
Combine the audio and video stream into one file using MKVToolNix (simple/GUI)
Open MKVToolNix > Multiplexer tab > Source files > right click the box > select Add files
Select the video and audio stream for a specific cutscene, in this example I chose the Helios ending > click the Start Multiplexing button at the bottom
When the progress bar at the bottom right says 100% it should be complete
In the output folder, there will be an .MKV file that has the audio and video combined
It can now be played as normal
Combine the audio and video stream into one file using FFmpeg (complex/CLI)
Note: This method assumes you already have FFmpeg installed and accessible via Command Prompt (it has been added to your path environmental variable). If you don't, here are installation instructions for Windows.
In the same folder as all the video and audio streams, go to the address bar at the top where it displays the folder directory, and type in cmd. This opens up a Command Prompt window with the directory automatically set to the folder.
Enter the following command, replacing the name with what video and audio you want to combine, for example for the Intro cutscene:
This script not only merges the audio and video, it also crops the black bars at the top and bottom of the video, leaving the final .MP4 output with a 16:9 aspect ratio.
Once complete, within the folder there should now be a video called output.mp4 which has the video and audio streams combined into one file
It can now be played as normal
Rename the output.mp4 file and repeat the same process with the rest of the files
View the results on YouTube:
Note: I'm currently in the middle of upscaling these to 4K, they will be uploaded soon and I will update this post with instructions on how to do this.
Note: In this post, I will not be covering how to unpack the game content as I have already covered this before in a previous post. You must unpack the game files before starting here, so for instructions on how to do that please follow the other guide I created, and then come back to this post which is purely focusing on textures and models.
Exporting textures to .png using DEMDDatabase
Run DEMDDatabase.exe and open the unpacked database from the DXMDExtract extraction
In the file tree, search for the texture(s) you want, for example for character textures, they are usually found under characters > {character you want} > {character you want}_material, etc.
Select the .tex file and go to File > Export as... > and then you can save the individual texture
Exporting meshes using DEMDDatabase
Similar to the above, character models can be exported following the same method, just instead of going into the character materials, go back one step and find the character model file. This can be exported as an .obj file
You can also export all the textures and meshes for a specific character by going to their parent node in the tree > File > Mass fast export.
Note: This will not work unless you set your fast export savepath. To do this, go to File > Settings > Fast export tab > select the folder you wish to save to, and you can also change the automatic Image format and Models format from here too
This provides the basis of extracting meshes, but anything more complicated such as functional wireframes and animations goes beyond the scope of this instruction guide. It is possible to load and combine the different mesh parts and material textures into Blender (or preferred 3D software):
Extracting the files from the game using DXMD Extract
Unpack the DXMDExtract archive and move DXMDExtract.exe to the installation location for the game,
for example, for the Steam version:
Main game:Steam\steamapps\common\Deus Ex
Mankind Divided\runtime DLC: Steam\steamapps\common\Deus Ex
Mankind Divided\DLC\runtime
In that same folder, create a new text file. Open it in a text editor, and enter the following
line:
DXMDExtract . .\extracted
Example:
Save and exit, and then rename the file to unpack.bat
Double-click on it, and then the Command Prompt will appear and begin to unpack the game
Once complete, the unpacked files should be in
a subfolder within the runtime folder named extracted
Browsing the contents of the extracted files using DEMDDatabase
Unpack the DEMDDatabase archive and run DEMD Database.exe
File > Open > Open unpacked DB
Navigate to the NameMap.txt file from the extracted folder created previously when unpacking with
DXMDExtract
After loading, the file trees are now displayed graphically and can be browsed, for example if you’re
searching for conversational dialogue, you can expand the file list until you find what you need
Convert unsorted audio files with HxD
Navigate to the runtime folder for either the main installation of Mankind Divided or the DLC runtime
folder. Here the audio and video files appear to be unsorted and scattered. Audio files have the extension
.pc_fsbm
Open the file you want to convert with HxD and
remove the first 24 bytes of information (the header), until it starts with FSB
Save the file with HxD editor, this will
automatically create a backup of the original .pc_fsbm file in the same folder
Rename the file and change the file extension
to .fsb
As a .fsb file, it can now be converted to.wav
using vgmstream or FSB Extractor - this is covered in detail in my other guide on extracting audio and video from Deus Ex: Human Revolution -
the process is identical.
Extract specific audio (i.e. conversational dialogue) with DEMD Database
For a more targeted approach, the NameMap.txt file that is generated from the DXMD Extraction comes in
useful as it lists every file and where they can be found within the file tree
Opening it with a text editor and using the find function can help narrow down the search, in this instance
I was searching for a specific conversation, and in the .txt file it is called dlc_1_441_con. I was able to
find this easily in the file tree
It is possible to export the entire
conversation in one go, but in order to do that the fast export savepath needs to be set first. To do
this, go to File > Settings
In the Settings window, you can set the Fast
export savepath under the Fast export tab. Save to commit the changes
Select the parent node for the conversation
you want to export > File > Mass fast export
A dialogue box will appear when the process is
complete
The audio files from the conversation have now
been exported as .ogg can be found in the folder you added to the Fast export savepath
Fix corrupted .ogg audio files with QuickBMS
Some audio, upon extraction and conversion becomes corrupted, and sounds garbled and distorted when it is
played. This appears to be some kind of problem with DEMD Database failing to properly convert the .bin files
found within the .pc_headerlib files--which is where most the game audio is stored.
Why this happens is unclear, but it might have something to do with when the source file has multiple audio
layers and the conversion process is unable to produce a file that contains this layer information, or is unable
to produce a stereo mixdown of those layers (more on that at the end of this section).
To bypass this issue, we have to extract the audio a different way by using a QuickBMS script:
Assuming you've already extracted the game files using the above instructions, and you have DEMD
Database set up to explore the extracted content, you need to find the problematic audio files again
in the file tree. You should have the names of the corrupted audio already from the failed
conversion, so just search for the name.
After you find it, check the right panel for more information. The first line should display a long
string of numbers and letters, a forward slash and then another string of text followed by a .bin
extension. The second line displays the name of the file. We need the first line, as these strings
are actually pointing to a path to where the audio is actually located. The first section is the
name of the .pc_headerlib file the audio was contained within, and the second section the name of
the .bin file that contained the actual audio.
In your game directory, go to the /extracted folder made earlier when extracting the game where the
NameMap.txt is located (either the default runtime or DLC runtime, in this case I've extracted from
the DLC). In this folder, you should be able to find a subfolder with a name that matches the first
section of the path displayed in the panel. Within that folder, should be the .bin file with the
audio. You can also use the search function and type the .bin names in manually to find the files.
Depending on how many corrupted files you may need to repeat this process again, for me I had
multiple corrupted audio within the same dialogue "conversation", so all the .bin files I needed
were located within just one folder. I copied these .bin files to my Desktop so I could continue
working outside of the game installation files.
Next you need to create a script file for converting the .bin files into .fsb audio files. You can
do this by opening up Notepad or any text editor of your choice, pasting this code in, and then saving it as a .bms file.
Download and extract QuickBMS. In the QuickBMS folder, place the bin2fsb script and also make a
subfolder called extraction.
Run QuickBMS.exe - when prompted, select the script you created, the input files (.bin files),
and the output destination (extraction subfolder) and continue. The progress will display for every
file selected as well as any errors.
Once done, various .fsb audio files should have been extracted in the output folder set.
To convert the .fsb files to .wav you need to use vgmstream. Download and extract vgmstream on your
computer, and either drag each of the .fsb files one-by-one onto vgmstream-cli.exe or create a batch
script, making sure to set the path to match where vgmstream-cli.exe is located on your drive, like
so:
FOR /R
%%a IN (*.fsb) DO "...\vgmstream-cli.exe" -l 2 -f 10 -o "%%a.wav" "%%a"
To run the batch convert, first place all the .fsb files into the vgmstream folder, and then
double-click the .bat file.
The audio should now all be converted to playable .wav files in the same folder.
This step is optional, but I found that it helped with organising, I renamed each of the .wav file
to match the corresponding name in DEMD Database.
I opened one of the .wav files in Audacity to compare it to the corrupted ones. The properly
converted .wav files appear to have multiple layers of audio, the first two being the stereo channel
for the voice, the second two appearing empty, and the third two with environmental effects such as
reverb and echo. The corrupted ones are just one channel with various peaking blips and noise. Here
are screenshots of the difference:
Convert unsorted video files (cinematics, loading screens) with HxD
Before starting, you need RAD Video Tools (Bink Video Player) to play the videos after converting them.
Download and install it, as you'll need it for the next section of this guide to convert the audio streams
from the video.
Navigate to the runtime folder for either the main installation of Mankind Divided or the DLC runtime
folder. Here the audio and video files appear to be unsorted and scattered. Video files have the extension
.pc_binkvid
Open the file you want to convert with HxD and
remove the first 24 bytes of information (the header), until it starts with KB2
Save the file with HxD editor, this will automatically create a backup of the original .pc_binkvid file
in the same folder
Rename the file and change the file extension to .bk2 (the icon should change)
The .bk2 files should now be able to play with RAD Video Tools (Bink Video Player)
Note: Due to localisation, audio streams, usually the
voices, will not play and need to be extracted and split if you want to access them, as covered
in the next section.
Extract and split audio tracks from .bk2 files with VGMToolbox
Open VGMToolbox > Misc. Tools > Stream Tools > Video Demultiplexer > Options > set the Format
to BIK (Bink Video Container) > check Split Audio Tracks > check Extract Audio and Video
Drag and drop the .bk2 file you want to extract into the grey area and it will automatically run with the
options set
Multiple files will then be extracted into the
same folder the .bk2 file was in. The extracted files will have the file extension video.split.bik
or audio.split.bik
Note: In the EU version of the game, layer 00000004 contains the English
voices, and layers 00000005, 00000006, 00000007, 00000008, 00000009, 0000000C, and 0000000D all have other European
localisations such as Spanish, German, Russian, etc. Layer 00000000 seems to have the main background music and
effects, 00000001, 00000002, and 00000003 have additional effects such as footsteps, etc.
Convert the audio streams using RAD Video Tools
Open RAD Video Tools > navigate to and select every .audio.split.bik file you want to convert >
Convert a File > Yes to Batch Process dialogue box if you are converting multiple files
Within the Bink Converter window > change
the Output Type to .wav > leave the other settings as default > click the Batch button on the
right
The RAD Batch Editor window will then appear
> click Close (might have to click this several times until all the files appear in the Batched
commands list) > Start
The audio.split.bik files should now be
converted to .wav files
Note: Some audio streams will not appear in the Batch command list file, and RAD will ignore them
and fail to convert. They can be converted in an alternative way, covered in the next section.
Convert the audio streams using VLC Media Player
Open VLC Media Player > Media > Convert/Save
The Open Media window will open. Click the
Add... button > select the .bik file you want > drop-down arrow to the right of Convert/Save >
Convert
The Convert window will open. Under Settings
> Profile drop-down > Audio - FLAC > profile edition (wrench icon)
The Profile edition window will open.
Encapsulation tab > check WAV > Video codec tab > keep it unchecked (there is no video) >
Audio codec tab > check > Codec - WAV, Bitrate - 320kb/s, Channels - 2, Sample Rate - 44100
or 48000 Hz > Save
Back in the Convert window set the destination
path by clicking Browse > select folder you want to save the converted file (make sure to change the
file extension to .wav in the save dialog) > Start
The .bik file should now be converted into a
.wav file and can be found in your set destination folder
Convert the video stream using RAD Video Tools
Open RAD Video Tools > navigate to and select the original .BK2 file you want to convert > Convert
a File
Within the Bink Converter window > change the Output Type to .MP4 > leave the other settings as
default > make sure Audio is NOT selected > click the Convert button on the right
A window will appear showing the progress of the conversion
The .BK2 file should now be converted to an .MP4 file without audio
Combine the video stream and the audio streams using FFmpeg
Note: You can use FFmpeg (a command line interface program, instructions to install on Windows are
here) to add map
each audio stream as separate channels, but the problem with this is that a video player can only play one
channel at a time. If all channels are to play, an amix filter would need to be applied that will combine all
the channels into one track, for example:
But for the sake of simplicity, another way to do this without having to write up a complex command and enter
all the file names is to import all of the audio streams (i.e. all the SFX ones and ONE voice one depending
on the localisation you want) into Audacity, and then export all of them into one .wav file:
Then, with one video file and one audio file, you simply need to combine the two into one file using the
following command:
To understand the command, the video and
audio are set as inputs (filename will be different depending on which files you are doing this
with), it will copy the same codec settings to avoid quality
loss, it will cut to the shortest stream length to avoid overrunning if the lengths differ, and the output name will simply be output.mp4:
When played, the video remains with a very high quality and all the audio
channels are audible in one audio track: