Extracting voice over audio

+
Extracting voice over audio

Hi folks, I was wondering wether anyone has figured out what files store the voice over audio in Witcher 3 files and maybe even a way how to extract them? Had anyone had any success?
 
Gizmo0;n9153390 said:
Hi folks, I was wondering wether anyone has figured out what files store the voice over audio in Witcher 3 files and maybe even a way how to extract them? Had anyone had any success?

Voice over is stored in .w3speech files. Regarding how to extract them, there are probably better tools for that, but my "w3unpack" utility posted in this thread (download link) is suitable for this purpose. However, the extracted files are in a proprietary format (AudioKinetic Wwise), you need further tools to convert them, see ww2ogg and revorb here. Also, the files are named according to the string ID of each line, so you need those as well from .w3strings files to find the line you are looking for.

Edit: w3dialog_id.txt in this package contains all the dialogue from the game with the string IDs, that might be helpful when searching for lines.
 
Last edited:
Hey, thank you for this, could you give me a bit of a quick instructions on how to use the w3unpack utility? I found the .w3speech files - depending on content they are in their own folders, but then what - how do I extract them with that tool? Once that is solved I will move on to Wwise


I have a great wwise unpacker tool that can convert things automatically if the audio is in .pck or .bnk files

Thanks
 
It is a command line program, to extract files, you need to use commands like below from wherever w3unpack.exe has been extracted (change the path to the game files as needed):

Code:
.\w3unpack.exe -u "F:\SteamLibrary\steamapps\common\The Witcher 3\content\content0\enpc.w3speech" w3speech

.\w3unpack.exe -u -i 0x0007 "F:\SteamLibrary\steamapps\common\The Witcher 3\content\content0\enpc.w3speech" w3speech

.\w3unpack.exe -u "F:\SteamLibrary\steamapps\common\The Witcher 3\content\content0\soundspc.cache" w3sounds
.\w3unpack.exe -u "F:\SteamLibrary\steamapps\common\The Witcher 3" w3content

The first command unpacks everything from the specified file to "w3speech". The second one ignores file names that do not include 0x0007, the -i option can be used multiple times. You can also extract from sounds.cache and .bundle files, as shown by the third and fourth commands, the latter are searched recursively under the installation folder of the game. If you replace -u with -n, then the contents of the archive are only listed and no files are written.

To extract all the voice over from the game, it is best to use a batch file:
Code:
set W3DIR=F:\SteamLibrary\steamapps\common\The Witcher 3
set W3LANG=en

.\w3unpack.exe -u "%W3DIR%\content\content0\%W3LANG%pc.w3speech" w3speech
.\w3unpack.exe -u "%W3DIR%\content\content1\%W3LANG%pc.w3speech" w3speech
.\w3unpack.exe -u "%W3DIR%\content\content2\%W3LANG%pc.w3speech" w3speech
.\w3unpack.exe -u "%W3DIR%\content\content3\%W3LANG%pc.w3speech" w3speech
.\w3unpack.exe -u "%W3DIR%\content\content4\%W3LANG%pc.w3speech" w3speech
.\w3unpack.exe -u "%W3DIR%\content\content5\%W3LANG%pc.w3speech" w3speech
.\w3unpack.exe -u "%W3DIR%\content\content6\%W3LANG%pc.w3speech" w3speech
.\w3unpack.exe -u "%W3DIR%\content\content7\%W3LANG%pc.w3speech" w3speech
.\w3unpack.exe -u "%W3DIR%\content\content8\%W3LANG%pc.w3speech" w3speech
.\w3unpack.exe -u "%W3DIR%\content\content9\%W3LANG%pc.w3speech" w3speech
.\w3unpack.exe -u "%W3DIR%\content\content10\%W3LANG%pc.w3speech" w3speech
.\w3unpack.exe -u "%W3DIR%\content\content11\%W3LANG%pc.w3speech" w3speech
.\w3unpack.exe -u "%W3DIR%\content\content12\%W3LANG%pc.w3speech" w3speech
.\w3unpack.exe -u "%W3DIR%\DLC\DLC1\content\%W3LANG%pc.w3speech" w3speech
.\w3unpack.exe -u "%W3DIR%\DLC\DLC2\content\%W3LANG%pc.w3speech" w3speech
.\w3unpack.exe -u "%W3DIR%\DLC\DLC3\content\%W3LANG%pc.w3speech" w3speech
.\w3unpack.exe -u "%W3DIR%\DLC\DLC4\content\%W3LANG%pc.w3speech" w3speech
.\w3unpack.exe -u "%W3DIR%\DLC\DLC5\content\%W3LANG%pc.w3speech" w3speech
.\w3unpack.exe -u "%W3DIR%\DLC\DLC6\content\%W3LANG%pc.w3speech" w3speech
.\w3unpack.exe -u "%W3DIR%\DLC\DLC7\content\%W3LANG%pc.w3speech" w3speech
.\w3unpack.exe -u "%W3DIR%\DLC\DLC8\content\%W3LANG%pc.w3speech" w3speech
.\w3unpack.exe -u "%W3DIR%\DLC\DLC9\content\%W3LANG%pc.w3speech" w3speech
.\w3unpack.exe -u "%W3DIR%\DLC\DLC10\content\%W3LANG%pc.w3speech" w3speech
.\w3unpack.exe -u "%W3DIR%\DLC\DLC11\content\%W3LANG%pc.w3speech" w3speech
.\w3unpack.exe -u "%W3DIR%\DLC\DLC12\content\%W3LANG%pc.w3speech" w3speech
.\w3unpack.exe -u "%W3DIR%\DLC\DLC13\content\%W3LANG%pc.w3speech" w3speech
.\w3unpack.exe -u "%W3DIR%\DLC\DLC14\content\%W3LANG%pc.w3speech" w3speech
.\w3unpack.exe -u "%W3DIR%\DLC\DLC15\content\%W3LANG%pc.w3speech" w3speech
.\w3unpack.exe -u "%W3DIR%\DLC\DLC16\content\%W3LANG%pc.w3speech" w3speech
.\w3unpack.exe -u "%W3DIR%\DLC\ep1\content\%W3LANG%pc.w3speech" w3speech
.\w3unpack.exe -u "%W3DIR%\DLC\bob\content\%W3LANG%pc.w3speech" w3speech
.\w3unpack.exe -u "%W3DIR%\content\patch0\%W3LANG%pc.w3speech" w3speech
.\w3unpack.exe -u "%W3DIR%\content\patch1\%W3LANG%pc.w3speech" w3speech
If .cr2w files are not needed, they can be excluded with the -x .cr2w option.
 
Last edited:
Gizmo0;n9164130 said:
Ok what do I use to give the command? - do I use cmd?

Yes. To create a batch file, just paste the above code to a file with .bat extension in the same folder where w3unpack.exe is, edit the path to the game installation, and run the .bat file. If you extract everything, it is about 128,000 files and 4.8 GB, or half of that without the .cr2w files.
 
ok thank you i'll give it a go. Where will it output the files, into folder where the bat file is?
 
Ok Its extracting them all, seems to be working I see it has created .wav files, but they don't play - I take I need to use 2ogg program to convert them now? do I need to somehow point 2ogg towards to w3speech folder or how do I use it?
 
Gizmo0;n9164390 said:
Ok Its extracting them all, seems to be working I see it has created .wav files, but they don't play - I take I need to use 2ogg program to convert them now? do I need to somehow point 2ogg towards to w3speech folder or how do I use it?

The wav files are in AudioKinetic Wwise format, to convert them to .ogg, you can use ww2ogg, revorb and this batch file:
Code:
cd w3speech
del *.ogg
for %%i in (*.wav) do ..\ww2ogg.exe %%i -o %%i.ogg --pcb ..\packed_codebooks_aoTuV_603.bin
ren *.wav.ogg *.ogg
for %%i in (*.ogg) do ..\revorb.exe %%i
cd ..
 
Hmm so I created the .bat file, ran it it ran for like 5 mins, and then stopped - however where does it output the files?

just to confirm the process, I moved 2ogg and revorb files into the w3utils folder then ran batch it ran and then stopped....can't find outputs, the w3speech wav files still don't play so those are not it.
 
Gizmo0;n9165220 said:
just to confirm the process, I moved 2ogg and revorb files into the w3utils folder then ran batch it ran and then stopped....can't find outputs, the w3speech wav files still don't play so those are not it.

All .bat and .exe files and packed_codebooks_aoTuV_603.bin need to be in and run from the same folder, and w3speech is created under that with the extracted and then converted files.
 
Ok it worked - Also - is there a way to change where it outputs the ogg files in the ogg batch converter - ideally it be better if it outputs all the ogg files in different folder

last step, i have the .ogg files, i can play them in foobar2000 - i need them now either in wav or mp3 so I could edit them - any idea how to do that again in batch?

 
Gizmo0;n9167060 said:
last step, i have the .ogg files, i can play them in foobar2000 - i need them now either in wav or mp3 so I could edit them - any idea how to do that again in batch?

This modified version of the above batch file converts to .ogg and .wav format in separate folders, it needs oggdec to work:
Code:
mkdir ogg
mkdir wav
del ogg\*.ogg
del wav\*.wav
cd w3speech
for %%i in (*.wav) do ..\ww2ogg.exe %%i -o ..\ogg\%%i.ogg --pcb ..\packed_codebooks_aoTuV_603.bin
cd ..\ogg
ren *.wav.ogg *.ogg
for %%i in (*.ogg) do ..\revorb.exe %%i
for %%i in (*.ogg) do ..\oggdec.exe -w ..\wav\%%i.wav %%i
cd ..\wav
ren *.ogg.wav *.wav
cd ..
 
Hey, I just wanted to say it has worked perfectly! Thank you so much for taking time and patients to explain and help! I was thinking to putting it all into single zip file for future people maybe?
 
Here is the full rundown:

1. Open 'Batch Extraction' file with notepad or notepad++
2. Change the 'set W3DIR="Your Witcher 3 install directory"' to where your Witcher 3 is installed
3. Change the 'set W3Lang="use the language you wish to extract i.e. en is for english"'
4. Run the batch file by double clicking on it and let it run till it closes. It will create the w3speech folder where it will extract the audio files
5. The extracted files are in a proprietary format (AudioKinetic Wwise) - these need to be converted further.
6. Run the 'Convert to WAV and OGG' batch file.
7. 2 folders will be created Wav and Ogg - both containing their respective formats.
8. Use Witcher 3 dialogue excel file for finding the dialogue you want, use the ID number to finding the sound clip.

Not sure where I can upload the zip file.
 
let's say i edited some extracted files from w3speech, how can i repack again as w3speech and get the edited voice in the game?
 

Guest 2364765

Guest
dodoshade15;n9612011 said:
let's say i edited some extracted files from w3speech, how can i repack again as w3speech and get the edited voice in the game?

You can't "edit" a single line and push it back in, to make such kind of mod you'd have to extract entire w3speech file (all of the voice lines it contais) edit the ones you want and then recompile it again using original and modified files.
 
Top Bottom