Worms 4 Speech Bank Editing

Whatever you're working on - be it Art, Music, a Fan-Game or a program for use with existing Team17 games - we want to hear about it.

Moderator: Dream17 Staff

lyllo
Newbie
Posts: 7
Joined: Sat Jan 20, 2007 1:50 pm

Post by lyllo » Sat Jan 20, 2007 8:20 pm

K^2 wrote:I think it expects a stereo file. If you feed it a mono file, it will be played at 2x speed. Could that have been the problem?
oh no i've sampled every file as a MONO one..

so now i have to resample them as a STEREO one isn't it??

is there a waty to do it faster instead of doing it manually one by one?

thank you.

K^2
Regular
Posts: 216
Joined: Thu May 26, 2005 4:02 am

Post by K^2 » Sun Jan 21, 2007 12:50 am

Yes. You can try using the attached version of sbcompile. It should recognize mono files and copy the data to two channels, which is what I should have done from the start. I didn't exactly test it, so let me know if it works.
Attachments
sbcompile_ms.zip
(17.07 KiB) Downloaded 853 times
None of my projects (Minus One converter, W3D/W4 Map Viewer, and WMapEditor) are endorsed, supported or otherwise affiliated with Dream17. I just find Dream17 forums to be a nice place to share and discuss my work with others.

lyllo
Newbie
Posts: 7
Joined: Sat Jan 20, 2007 1:50 pm

Post by lyllo » Sun Jan 21, 2007 2:36 pm

hi there.
i'0m happy to say that the compiler works fine.

there are few question i wanna do, pls.

1) sound quality after the compiliing is much coarser than the original one.
2) is teere any way to avoid this fact?
3) speeches volume is far lower than the game sounds, is there any hint to avoid this too?

thank you.
u did a great job :)

lyllo
Newbie
Posts: 7
Joined: Sat Jan 20, 2007 1:50 pm

Post by lyllo » Sun Jan 21, 2007 7:55 pm

can u suggest me a program that can adjust volume to all the files at the same time instead of one by one?
and that can remove noise?

thank you.

K^2
Regular
Posts: 216
Joined: Thu May 26, 2005 4:02 am

Post by K^2 » Sun Jan 21, 2007 11:20 pm

There is a way to perform manipulations on the whole sound bank, but it involves using a hex editor. If that does not scare you, here is how you do it.

1) Open the .sab file with the Hex editor. Go to offset 8. There you will find 4 bytes that together make up the total number of sound samples in the file. Most likely, only one byte will be used, and you just want unsigned value of that. If it gives you negative value, add 256 to it to get the actual value.

2) Now you need to go to decimal offset 48 + <number of samples> * 28. That's where the actual audio will begin. It runs together in a continuous block, so all you need to do is copy everything from that offset to the end of the file. Usually, if you select a byte, and then hold Shift+Ctrl and hit End, it will select everything from that point to the end of file. Then Ctrl+C will copy. Now create a new, empty file, and paste all the audio data into it. Save the new file.

3) Import the file with just the audio data using import raw option in Audacity. Manipulate the file. You can use various filters to change the volume, do some noise filtering, etc. Finally, save the file as .wav. Audacity's export controls aren't great, so you might have to resample the whole file to be 16kHz and stereo.

4) Finally, you want to copy all the audio data back. Open the .wav file with the hex editor. Find the word "data" near beginning. Skip the next 4 bytes after "data", and the audio data begins right after that. Copy everything from that point to the end of the file, now go back to the .sab file, and paste it over the old audio data. You might have to select it again. Now save the .sab file, and you should be done.
None of my projects (Minus One converter, W3D/W4 Map Viewer, and WMapEditor) are endorsed, supported or otherwise affiliated with Dream17. I just find Dream17 forums to be a nice place to share and discuss my work with others.

lyllo
Newbie
Posts: 7
Joined: Sat Jan 20, 2007 1:50 pm

Post by lyllo » Mon Jan 22, 2007 7:37 pm

first of all let me give youmthank for the great help u gave me.
there are few things not properly working to me.

1) followed what u said at step 1
2) found the offset 8 called Adr. Hex in my progam, maybe i was right since in a status bar note Char Dec it was written 151, and since my files were 151 i aruged i found the right byte :)
3) done the calculation 48+(151*28)=4276
4) jumped to decimal 4276 using a program option
5) selected and copied the part into a new one.
NOW:
6) tryed to import it in audacity, BUT,
a) don't know what knid of option should i use. i selcetd signed 16bit PCM, default endianess, 2 channels stereo, sample rate, in the last box 16000Khz.
(did this way because i thaught that could have been the right informations i wanted the file to be reated from)
b) the imported file is really short, no more than 0.2 seconds, but tryed anyway to apply AMPLFY effect to boost the volume, amplifiing up to +24.9db.
then exported the file as WAV, opened it with the hex editor, selected the whole file from the 5th offeset since counted 4 bytes after the word data, i started from the 5th one.
once re-opened the .sab went back to offset 4276, selected everything to the end, and CTRL+V to overwrite. recieved an information "block no longer valid".
saved and tested in the game.
nothing changed :(
where dya think was i wrong?

thank you.
can't find a proper guide to understad how audacity effects work :(

anyway thank you for this first help :)

K^2
Regular
Posts: 216
Joined: Thu May 26, 2005 4:02 am

Post by K^2 » Mon Jan 22, 2007 9:51 pm

Are you sure you selected all of the data starting with 4276 to the very end? Sounds like you only selected a few kB.
None of my projects (Minus One converter, W3D/W4 Map Viewer, and WMapEditor) are endorsed, supported or otherwise affiliated with Dream17. I just find Dream17 forums to be a nice place to share and discuss my work with others.

lyllo
Newbie
Posts: 7
Joined: Sat Jan 20, 2007 1:50 pm

Post by lyllo » Tue Jan 23, 2007 7:52 pm

K^2 wrote:Are you sure you selected all of the data starting with 4276 to the very end? Sounds like you only selected a few kB.
proceded with the shortcuts u suggested me, so i'm quite sure the selection is full.
maybe is a mathematical problem.
48 + 151 * 28
adding before multiplicating increases the number... :)

anyway i've solved resampling all the files. obtained quite a good result even if it is less satisfing than the result i've obtained creating speech for worms armageddon.
can't understand why they did all this mess.

thank you.
:)

K^2
Regular
Posts: 216
Joined: Thu May 26, 2005 4:02 am

Post by K^2 » Tue Jan 23, 2007 9:41 pm

lyllo wrote:can't understand why they did all this mess.
Me neither. Why create bank files if you are not going to compress them? At least they didn't do bundles, like in W3D. Otherwise, importer for custom hats would have to be 10x more complicated.
None of my projects (Minus One converter, W3D/W4 Map Viewer, and WMapEditor) are endorsed, supported or otherwise affiliated with Dream17. I just find Dream17 forums to be a nice place to share and discuss my work with others.

User avatar
HisDudeness
Newbie
Posts: 1
Joined: Tue Feb 07, 2017 12:31 pm

Re: Worms 4 Speech Bank Editing

Post by HisDudeness » Tue Feb 07, 2017 12:45 pm

I wanted to let K^2 know I won't be able to thank him/her enough. I remember having a lot of fun as a kid creating custom speechbanks in the easily editable Worms 3D, and know that I've come back to my childhood games I was stumped at understanding Worms 4 isn't that straightforward (bummer, as it improves many things on W3D). Those two utilities work as a charm. I still have to make them work on Wine, but I tried on my mother's Windows 7 machine and running them with administrator's rights goes smooth as mother's butter (quote). Running as a plain user makes it quit without writing any .wav file, but it could be a problem on my end, that machine's messed up.

I've got a couple of questions anyway:
  1. Suppose I want to edit a bank I don't care about, fully replacing it with a custom one. That bank has got, let's say, three waiting sounds, but I've only got two custom ones. Is there a way to make only those two play, or if I compile those some other file (like the .sob) tells the game that bank is supposed to have three, so the default third one is used? I understand your compiler keeps default sounds should a custom one be missing to avoid trouble in game, but is there a way to make the game choose between less files than it should?
  2. One thing I liked best in W3D is jumping: there were two sounds, one played when "charging" a jump, the second when the low jump was executed. In W4M, instead, any jump sound is randomly played when the low jump is executed. It sounds odd and incomplete. Is there a way to achieve W3D behaviour?
The Dude minds.

Post Reply