Skip to content
View in the app

A better way to browse. Learn more.

ResHax

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
Help us keep the site running.
Zero Tolerance for Disrespect

The Witcher 3: Wild Hunt (.w3speech)

Featured Replies

  • Author
  • Localization

w3speech, posted Mon Jun 08, 2015 11:00 pm (5632)


Does anyone could unpack w3speech files of non-English languages?

First 4 bytes is: CPSW.

For example plpc.w3speech
  • Author
  • Localization

123185321f, posted Mon Jun 15, 2015 5:10 pm (5741)


hi, have you tried http://www.scampers.org/steve/sms/other.htm ?
the w3speech format is a collection of wwise audio files, and the header contains references to the position of where each audio file starts, among other things:

Thanks!
  • Author
  • Localization

hhrhhr, posted Tue Jun 16, 2015 8:20 am (5751)


"unpack" is simple, there is example of audio and lipsink data.

text: "Nooooo! I won't stand for it! They done roasted Yagoda! The wazzacks!"
0x000f5bbd.wav - audio
0x000f5bbd.cr2w - lipsync config and data
0x000f5bbd.cr2w.lua - "converted" to readable lua-code

the question is what kind of format/codec?

p.s.
Image
  • Author
  • Localization

w3speech, posted Sat Jun 20, 2015 1:35 am (5817)


hhrhhr, thank you, but your script doesn't always work. I found two variations of problem for PL and RU:

1.
\content_pl\content0\plpc.w3speech (314?100?394 bytes)
Code:
key: 0x8349C7A9 ..\lua-5.3_Win32_bin\lua53.exe: .\mod_w3strings.lua:17: attempt
to index a nil value (field '?')
stack traceback:
        .\mod_w3strings.lua:17: in function 'get_key'
        inspect_w3speech.lua:53: in main chunk
        [C]: in ?

\content_pl\content5\plpc.w3speech (537?324?067 bytes)
Code:
key: 0x834994F2 ..\lua-5.3_Win32_bin\lua53.exe: .\mod_w3strings.lua:17: attempt
to index a nil value (field '?')
stack traceback:
        .\mod_w3strings.lua:17: in function 'get_key'
        inspect_w3speech.lua:53: in main chunk
        [C]: in ?

\content_ru\content0\rupc.w3speech (340?495?042 bytes)
Code:
key: 0x634863E2 ..\lua-5.3_Win32_bin\lua53.exe: .\mod_w3strings.lua:17: attempt
to index a nil value (field '?')
stack traceback:
        .\mod_w3strings.lua:17: in function 'get_key'
        inspect_w3speech.lua:53: in main chunk
        [C]: in ?

\content_ru\content5\rupc.w3speech (565?978?214 bytes)
Code:
key: 0x6348C1E1 ..\lua-5.3_Win32_bin\lua53.exe: .\mod_w3strings.lua:17: attempt
to index a nil value (field '?')
stack traceback:
        .\mod_w3strings.lua:17: in function 'get_key'
        inspect_w3speech.lua:53: in main chunk
        [C]: in ?

2.
\content_ru\content4\rupc.w3speech (1?621?114?730 bytes)
Code:
key: 0x63481486 -> magic: 0x42386347 (ru)
sorting 20626 items... OK
saving I:\w3\content_ru\content4\w3speech/0x00026cfe.(wav|cr2w) ... OK

:

saving I:\w3\content_ru\content4\w3speech/0x0005cb0c.(wav|cr2w) ... OK
saving I:\w3\content_ru\content4\w3speech/0x0005cb14.(wav|cr2w) ... ..\l
ua-5.3_Win32_bin\lua53.exe: inspect_w3speech.lua:82: assertion failed!
stack traceback:
        [C]: in function 'assert'
        inspect_w3speech.lua:82: in main chunk
        [C]: in ?

When an error occurs the script is interrupted. In the first case, the file is not processed. In the second case, only a portion of the file is processed before the error occurred.

Polish file in content4 contains 20060 (total 40120) files, and they are processed successfully, so it's not because of the number of files.

I can't send the files because of their large sizes (it is listed above). You can google hash 896BCEAF9D647D0769496658AC131543A2F84351 and find torrent of language packs... They're packed and occupy a lot of space, but this is the fastest way to get the files if they are needed. if you want to fix your script. I used latest version of Lua assembly, so the problem shouldn't be in it.

inspect_w3speech.lua:52-54:
Code:
 
local magic, lang = get_key(key)
io.write(string.format("-> magic: 0xX (%s)\n", magic, lang))

inspect_w3speech.lua:81-83:
Code:
    local sz = r:uint32()
    assert(t.wave_size == sz 12)
    data = r:str(sz)
  • Author
  • Localization

hhrhhr, posted Sat Jun 20, 2015 4:03 am (5820)


the problem is the implementation of a function bit6(), i'm working on it.
  • Author
  • Localization

hhrhhr, posted Sat Jun 20, 2015 9:08 am (5823)


fixed (i hate this bit6...). i unpacked without errors all available .w3speech for RU, PL and EN.
  • Author
  • Localization

lovehate, posted Tue Jun 23, 2015 8:28 pm (5882)


hhrhhr wrote:
fixed (i hate this bit6...). i unpacked without errors all available .w3speech for RU, PL and EN.

It works, thanks
I suppose that for now we can't pack it back to w3speech?
  • Author
  • Localization

hhrhhr, posted Tue Jun 23, 2015 9:46 pm (5885)


"we" do not see the need.
  • Author
  • Localization

ex_audio, posted Fri Jul 03, 2015 6:03 am (6078)


I feel real stupid to ask this question, but ... could you please walk me through on how to extract the audio files? I downloaded all the tools suggested above but can't seem to make them work. I have no idea where to start. There are lots of text files. I clicked on "get_lang.cmb" and I got a screen saying "press any key to start," but nothing happened.
  • Author
  • Localization

hhrhhr, posted Fri Jul 03, 2015 7:09 am (6079)


edit "get_lang.cmd" and change:
set w3dir=path_to_game
set outdir=output_directory
  • Author
  • Localization

ex_audio, posted Fri Jul 03, 2015 3:19 pm (6088)


It says " 'lua' is not recognized as an internal or external command, operable program or batch file." Sorry, I am a noob on programming and have no idea what this means. By the way, can I only extract English audios?
  • Author
  • Localization

ex_audio, posted Fri Jul 03, 2015 4:36 pm (6090)


Thank you.
  • Author
  • Localization

ex_audio, posted Fri Jul 03, 2015 6:06 pm (6092)


...
  • Author
  • Localization

ex_audio, posted Sat Jul 04, 2015 7:28 pm (6123)


...
  • Author
  • Localization

ex_audio, posted Mon Jul 06, 2015 4:32 pm (6169)


...
  • Author
  • Localization

ex_audio, posted Mon Jul 06, 2015 9:50 pm (6170)


...
  • Author
  • Localization

ili, posted Wed Aug 26, 2015 8:12 pm (6947)


Image
result this missing somethink's ?
  • Author
  • Localization

Benji Tshi, posted Sat Oct 03, 2015 7:03 am (7913)


ex_audio wrote:
It says " 'lua' is not recognized as an internal or external command, operable program or batch file." Sorry, I am a noob on programming and have no idea what this means. By the way, can I only extract English audios?


I must be a noob too as even reading the page provided by hhrhhr about how to setup Loa didn't really help me. I've no idea how to setyp this piece of software :( Any help would be much appreciated

EDIT : finally, i've been able to compile Lua, however i now get this error from get_lang.cmd : lua: inspect_w3strings.lua:49: unexpected symbol near '
  • Author
  • Localization

hhrhhr, posted Sat Oct 03, 2015 1:47 pm (7925)


Benji Tshi wrote:
i've been able to compile Lua, however i now get this error from get_lang.cmd : lua: inspect_w3strings.lua:49: unexpected symbol near '<'

do you really read the requirements for the version of Lua???

Quote:
Lua 5.3 (http://www.lua.org/download.html) (with >2GB file support)
  • Author
  • Localization

rayleigh2116, posted Thu Jun 02, 2016 4:26 pm (13944)


need help this dont working !!
  • Author
  • Localization

hhrhhr, posted Fri Jun 03, 2016 4:34 am (13973)


you do not need help, because it works.
  • Author
  • Localization

whitewolve, posted Fri Jul 29, 2016 1:24 pm (15868)


Hello hhrhhr,

thank you so much for this! But I have a question.

Actually the german voice files are suffering from a "tinny effect" - like if everyone is wearing an armor (Here is an example: https://www.youtube.com/watch?v=ItWdEFT9cPc).
CD Projekt already got contaced by a lot of players. They stated that it is a recording fault and they can't do anything about it since the game is finished and it would be too costly (reasonable), detailed original answer here: https://www.reddit.com/r/witcher/commen ... do/d5u6oap

What I want to do is to extract all voice files and batch process the affected ones with an "anti-effect" in Adobe Audition. I already did that and it seems to work good.

Now what I have to do is to convert all .ogg files back to ww waves. Is there a ogg 2 ww-wave converter?

But the main point where I'm stuck is to pack all .wav and .cr2w files back together to an .w3speech file. May I please ask you to think about implementing a packing function for your tool/lua scripts? This would be truly awesome and you would help a lot of people in the end :-)

I am pleased to hear from you.

Thank you!
Guest
This topic is now closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.