UT99 VoicePack Tutorial - by Turtle49
Posted: Fri Sep 11, 2020 7:10 pm
Here is the tutorial that helped me make my voicepacks back in the day. I learned later to use VoiceMale2 instead of VoiceMale1 template simply because it allows for more sound clips.
=========================================================================================================================================
How to create a Voicepack using Unreal Editor 2.0
by Turtle49
Keep in mind I wote this tutorial using after doing my first Voice Pack using two different tutorials that were on the internet and then I modified it to work under Unreal editor 2.0. So if you find any mistakes DON’T blame the beginner!
1) -----Introduction & Setup-----
First off, you should probably convert All waves to 8 Bit 11 Khz mono. You can do this by opening the .wavs in Sound Recorder, click on File/Properties, and click the "Convert Now..." button. Use the menus there to change the sample rate, then save it.
All the existing voice sounds in UT are at this sample rate to cut down on ram/cpu hogging. Make sure your wav filenames contain only letters and numbers, and no spaces. Also, be sure that the names of any folders in the path to your .wav files contain only letters and numbers as well. Putting them in the Unreal Tournament/sounds directory is your best bet. Otherwise you may have trouble when importing them.
-->>>In this tutorial, you should replace all of these -> ****** with a cute little name for what type of voice you're doing (i.e. Wolverine).<<<--
Make it not much bigger than 6-7 letters. You can replace all of the "******" easily by using the search & replace function of WordPad.
This is quite possibly the most crucial part of the voicepak process, as to make voicepacks you gotta have samples. Not just any samples though. That mostly determines a good voicepack from a bad one.
Voicepacks have a structure that needs to be observed if your voicepack is to be a success. You may have noticed that the orders you have at your disposal in the game have a purpose. For example, the 'Freelance' command will order your men to think for themselves and the sample used for this order should reflect this.
The list of samples you need are as follows :
1-4 Acknowledgments (such as 'Yes' or 'No')
1-4 Friendly Fires shouts (such as 'Oi Stop shooting me')
7 Orders (A good voicepack should have all theses orders)
1-17 Other/Misc voices (such as 'I've got the flag')
1-32 Taunts (the fun stuff )
A good voicepack should have at least 2 Acknowledgments, 2 Friendly Fires, all 7 Orders, all 17 Others/Misc and and good selection of Taunts around 16. Sometimes the source material makes it difficult to fulfill these requirements. At the very least you should have 2 Acknowledgements, 1 Friendly Fires, all 7 Orders, 1 Others/Misc and 1 Taunt (although it would be a very boring voicepack).
A good sample should be no more than 5-6 seconds in length and not be clipped (ie have horrible clicking sounds in the playback). For UT to make good use of it, it should be saved as an 8bit , Mono at 22 kHz. If you want to save space on the final product you could use 11 kHz samples but the quality will go down (mind you, who really notices when you're fraggin left, right and center?)
When saving, simply save as a Windows PCM wav file. DO NOT use any compression or Ued will have a small fit at you.
2) -----Make a .uax file out of your wave files-----
Copy all the wav files you want in the voice pack to the UnrealTournament/Sounds directory. Open UnrealEd 2.0. Go for a nice, leisurely walk while it loads. By the time you come back, it should be up & running.
Select [View] on the top left and go to [Sound Browser].
Now on the upper left of the sound browser hit the [File] button and [Import from wav] you should see the wav files you want in the window that comes up.
Select the file you want and hit the open button. A note here, when I tried to multi-select the wav files this editor gave me an error…so I selected them one at a time.
The first wav file you import you will have to assign a Package. (I used ‘WolverinePackage’)
You should now see this…if you see the announcer on top just scroll down to your pack.
Now repeat the process for all the wav files. When your complete you should see something like this….
To make sure your sound files don't conflict with existing sounds, put something like your name at the front of the [Name] for the sound. This isn't necessary if you're sure that no other sound in the game has the same name.
[Group] is useful if you want to do multiple sets. If you're making a small voice pack with only 10-12 sounds, don't worry about it, leave it at "(All)". If you are going to try to make a full voice pack, I recommend making different [Group]s for each voice category. For example, you could put all the sounds you want to use for Acknowledgements in a group named "Ack". Remember, even if the groups are different you still have to name the sounds differently.
Now got to [File] and [Save] on your Sound Browser to save this file as a .UAX file in the Unreal Tournament sound directory.
Note: I saved this as "WolverinePackage.uax" to keep continuity thru the whole process.
3) -----Setting up your .u file-----
Now select [View] on the top left drop-down menu and got to [Actor class Browser].
A directory tree-type display will appear. Make sure the "Actor classes only" box is checked. There will be a plus sign next to "Actor", then a whole lot of stuff beneath it with minus signs next to them. Click the minus sign next to "Info", then "VoicePack", and then "ChallengeVoicePack". Now, what you click next depends on what kind of voice you are making. For a Boss voice, click the minus sign next to "VoiceBoss". For male voices, click "VoiceMale", and, of course, if you're making a female voice pack, click the minus sign next to "VoiceFemale"
For this example I’m using VoiceMale. Now, right-click "VoiceMale". From the pop-up menu, choose "[New]… below VoiceMale".
In the dialog box that pops up, set "Name" to 'Voice******'. Set the "Package" to '******Package'. Then click "OK" when you do this, the script window for '******Package' will open up. Leave this open for now.
Go back to the Actor browser that is open in the background and double click on "VoiceMaleOne" (or VoiceFemaleOne, or VoiceBotBoss, depending on what kind of pack you are making). This will bring up the script window for this entry. We're doing this so that we can use some of the script for our voice pack. Now, select everything in this window, starting at where you see "#exec", on down to the bottom. Hit Ctrl+C on your keyboard to copy this text.
Now go back to your Voice Pack script and you should see the first script window that opened for the '******Package'. Now, click in the blank area of this window, and hit Ctrl+V to paste all that script you just copied into our '******Package' script. On the "#exec" line, change both places where you see 'Male1Voice' to '******Package'.
To compile the script select [Tools] and [Compile changed].
Close the window.
In the Actor class browser highlight '******Package' in the directory tree listing and down in the lower pane at the same time.
Click on [Save Pkgs] in the Middle left. Note: you need to always compile prior to saving.
Now you should find that you saved a ".U" file in the Unreal Tournament / system directory. (WolverinePackage.u)
4) -----Putting it all together-----
In the Actor Class Browser right click on [Voice******] and select [Default Properties...] This will bring up the properties box for your voice pack.
In this window, click the + mark next to [ChallengeVoicePack].
Now take a look at the properties box, at all the stuff undreneath [ChallengeVoicePack]. There's a bunch of stuff that could be confusing there. There are 5 prefixes for the types of voices in this game: "Ack"
(Acknowledge), "FFire" (Friendly Fire), "Order", "Other", and "Taunt". These are the places where we want to put our new sounds in. If you have an Acknowledgment sound, you put it in the "Ack" section, and so on. For the next section, the "..." represents one of these prefixes.
IMPORTANT: You need to put at least one voice in the "Ack", "FFire", "Order", "Other", and "Taunt" categories, or your voice pack may not work properly, if at all. Your pack *may* work if you don't do this, but I always have trouble with mine unless I put at least one in each.
[...Abbrev] is where you type in the short names of the sound bites for the command menu (typically 'v' held down when playing the game and the commands can be picked by mouse). The menu spacing means that Strings over 17 characters are cropped to fit the button. However they usually spill over the sides making the voicepack seem unprofessional. The Abbrev section gives an alternative for UT to put in the menu. This should be 17 characters (inc spaces) or less [ I'm unsure of the max characters allowed here but 17 is a safe bet].
[...String] is the text that appears in the message box at the top of your HUD when you play UT. And if it's not too long, this will be in the voice menu during the game. If it is too long, you should type a shorter name for the sound in the [...Abbrev] section (in the slot with the corresponding number). You should enter a text version of your sample here along with helpful additions if the meaning isn't that clear (i.e. if your sample for defend says "Lets hang around here" you could put in the String 'Lets hang around here - Defend').
With both these, the number of sample should relate to the String and Abbrev (i.e. a sample placed in FFireSound slot 2 relates to slot 2 in the String and Abbrev.
[...Sound] is the area where the sounds are set-up. Bing up the Sound Browser as well as the Properties window and click on the sound in the Sound Browser that you want to use then click in the slot in the properties window that you want to have it, then click on [Use].
[...Time] I'm not sure what significance this has. I tried lowering it to be able to say things quicker but it didn't work.
[MatureTaunt] is a binary setting for the taunts to toggle whether to play if NoMatureTuants is selected in UT. If a particular sound bite is "mature" (and you want to enable this feature), set it's [MatureTaunt] value to 1.
[NameSound] is the team leader names. 'Red leader ...'
[NameTime] I would assume tells it when to play the following string. ?
[num...] In this section, type the number of sound files you have for each type: numAcks, numFFires, and numTaunts.
Orders and Other/Misc operated slightly differently. The sounds that go in these slots must go in a specific order, or UT gets confused.
The order of samples for Orders is :
Slot 0 - Defend
Slot 1 - Hold
Slot 2 - Attack
Slot 3 - Cover Me
Slot 4 - Freelance
Slot 5 to Slot 9 are left blank
Slot 10 - Take Their Flag (CTF)
Slot 11 - Search and Destroy (DOM)
The Order of samples for Others/Misc is :
Slot 0 - Base Is Uncovered
Slot 1 - Got Our Flag Back
Slot 2 - I've Got The Flag
Slot 3 - I've Got Your Back
Slot 4 - I'm Hit
Slot 5 - Man Down
Slot 6 - I'm Under Attack
Slot 7 - You've Got Point
A note here, under other/misc the slot #9 didn’t work for me. So you might want to skip that slot. It doesn’t hurt anything as long as you skip it in all three sections.
Once you are done setting these up, close the [Default Properties] window.
At this point you need to do your Final Save. (don’t forget you always compile prior to saving.)
Bring up your Actor Browser and right click on your voicepack.
(Make sure you’ve right clicked on your voice pack not a generic one like shown above…) and go to [Edit script]
Select [Compile Changed]
Now close this window and return to your Actor Browser.
Now you can complete your .u file by doing your final save.
Highlight '******Package' in the directory tree listing and down in the lower pane at the same time.
Click on [Save Pkgs] in the Middle left. (Note: you need to always compile prior to saving. )
I always check the Ureal Tournament/system directory to verify that the size of your .u file and the date that it was last saved is indicative of what they should be.
Almost Done!!!!!!
5) -----Make an .int file for your voice pack-----
Create a new text document, and copy & paste the following 2 lines into it:
[Public]
Object=(Name=******Package.Voice******,Class=Class,MetaClass=BotPack.VoiceFemale,
Description="******")
(From Object to the end of the parenthesis, it must all be in the same line. I just edited like this because the layout was looking funny)
Change the "VoiceMale" part to "Voicefemale" if it's a female voice. The part in quotes will be what shows up in the UT menus, so it can be upper & lower case, and have spaces too.
Close and save the text file in your /UnrealTournament/System directory as '******Package.int'
6) -----Set up UnrealTournament.ini-----
Go to your /UnrealTournament/System folder. Open UnrealTournament.ini and scroll down to [Engine.GameEngine] tag, and under the last Server Packages line:
Add a line...
ServerPackages=******Package
Close & Save it.
7) -----That's it, you're done!-----
When you save your voice pack and wanna send it to someone (Like the very cool site Utterance http://www.planetunreal.com/utterance/ ), you just need to save the .int and the .u file. The .uax was just used temporarily in UnrealED while you made your pack.
If you want to make life easier (and gain more respect for yourself) you should Umod your pack. Check out http://www.planetunreal.com/umodwizard/ for a utility that will make this much easier.
A couple of notes…..when I went back in to edit my Pack the Editor was having trouble loading my .u file back in. I found that its was putting .tmp files in my windows temp directory and they were stopping me from pulling it up. To fix this just reboot your computer and as soon as it comes back up go to c:\windows\temp and delete all the files in there. One note of caution don’t ever just delete everything in there without at least rebooting it could mess up your computer. Typically windows puts everything away that it wants when it reboots.
Now, make some voice packs & share them with the world!
I want to take a moment to thank the authors of the two tutorials that I chopped up to make this one,
Rene Mcleod and the guy’s over at http://www.planetunreal.com/parametric_eq/ you should check them out!!!
I hope this tutorial helps in your voice creation process…PLEASE feel free to distribute it to every one so we can have thousands of cool voices to choose from!!!
=========================================================================================================================================
How to create a Voicepack using Unreal Editor 2.0
by Turtle49
Keep in mind I wote this tutorial using after doing my first Voice Pack using two different tutorials that were on the internet and then I modified it to work under Unreal editor 2.0. So if you find any mistakes DON’T blame the beginner!
1) -----Introduction & Setup-----
First off, you should probably convert All waves to 8 Bit 11 Khz mono. You can do this by opening the .wavs in Sound Recorder, click on File/Properties, and click the "Convert Now..." button. Use the menus there to change the sample rate, then save it.
All the existing voice sounds in UT are at this sample rate to cut down on ram/cpu hogging. Make sure your wav filenames contain only letters and numbers, and no spaces. Also, be sure that the names of any folders in the path to your .wav files contain only letters and numbers as well. Putting them in the Unreal Tournament/sounds directory is your best bet. Otherwise you may have trouble when importing them.
-->>>In this tutorial, you should replace all of these -> ****** with a cute little name for what type of voice you're doing (i.e. Wolverine).<<<--
Make it not much bigger than 6-7 letters. You can replace all of the "******" easily by using the search & replace function of WordPad.
This is quite possibly the most crucial part of the voicepak process, as to make voicepacks you gotta have samples. Not just any samples though. That mostly determines a good voicepack from a bad one.
Voicepacks have a structure that needs to be observed if your voicepack is to be a success. You may have noticed that the orders you have at your disposal in the game have a purpose. For example, the 'Freelance' command will order your men to think for themselves and the sample used for this order should reflect this.
The list of samples you need are as follows :
1-4 Acknowledgments (such as 'Yes' or 'No')
1-4 Friendly Fires shouts (such as 'Oi Stop shooting me')
7 Orders (A good voicepack should have all theses orders)
1-17 Other/Misc voices (such as 'I've got the flag')
1-32 Taunts (the fun stuff )
A good voicepack should have at least 2 Acknowledgments, 2 Friendly Fires, all 7 Orders, all 17 Others/Misc and and good selection of Taunts around 16. Sometimes the source material makes it difficult to fulfill these requirements. At the very least you should have 2 Acknowledgements, 1 Friendly Fires, all 7 Orders, 1 Others/Misc and 1 Taunt (although it would be a very boring voicepack).
A good sample should be no more than 5-6 seconds in length and not be clipped (ie have horrible clicking sounds in the playback). For UT to make good use of it, it should be saved as an 8bit , Mono at 22 kHz. If you want to save space on the final product you could use 11 kHz samples but the quality will go down (mind you, who really notices when you're fraggin left, right and center?)
When saving, simply save as a Windows PCM wav file. DO NOT use any compression or Ued will have a small fit at you.
2) -----Make a .uax file out of your wave files-----
Copy all the wav files you want in the voice pack to the UnrealTournament/Sounds directory. Open UnrealEd 2.0. Go for a nice, leisurely walk while it loads. By the time you come back, it should be up & running.
Select [View] on the top left and go to [Sound Browser].
Now on the upper left of the sound browser hit the [File] button and [Import from wav] you should see the wav files you want in the window that comes up.
Select the file you want and hit the open button. A note here, when I tried to multi-select the wav files this editor gave me an error…so I selected them one at a time.
The first wav file you import you will have to assign a Package. (I used ‘WolverinePackage’)
You should now see this…if you see the announcer on top just scroll down to your pack.
Now repeat the process for all the wav files. When your complete you should see something like this….
To make sure your sound files don't conflict with existing sounds, put something like your name at the front of the [Name] for the sound. This isn't necessary if you're sure that no other sound in the game has the same name.
[Group] is useful if you want to do multiple sets. If you're making a small voice pack with only 10-12 sounds, don't worry about it, leave it at "(All)". If you are going to try to make a full voice pack, I recommend making different [Group]s for each voice category. For example, you could put all the sounds you want to use for Acknowledgements in a group named "Ack". Remember, even if the groups are different you still have to name the sounds differently.
Now got to [File] and [Save] on your Sound Browser to save this file as a .UAX file in the Unreal Tournament sound directory.
Note: I saved this as "WolverinePackage.uax" to keep continuity thru the whole process.
3) -----Setting up your .u file-----
Now select [View] on the top left drop-down menu and got to [Actor class Browser].
A directory tree-type display will appear. Make sure the "Actor classes only" box is checked. There will be a plus sign next to "Actor", then a whole lot of stuff beneath it with minus signs next to them. Click the minus sign next to "Info", then "VoicePack", and then "ChallengeVoicePack". Now, what you click next depends on what kind of voice you are making. For a Boss voice, click the minus sign next to "VoiceBoss". For male voices, click "VoiceMale", and, of course, if you're making a female voice pack, click the minus sign next to "VoiceFemale"
For this example I’m using VoiceMale. Now, right-click "VoiceMale". From the pop-up menu, choose "[New]… below VoiceMale".
In the dialog box that pops up, set "Name" to 'Voice******'. Set the "Package" to '******Package'. Then click "OK" when you do this, the script window for '******Package' will open up. Leave this open for now.
Go back to the Actor browser that is open in the background and double click on "VoiceMaleOne" (or VoiceFemaleOne, or VoiceBotBoss, depending on what kind of pack you are making). This will bring up the script window for this entry. We're doing this so that we can use some of the script for our voice pack. Now, select everything in this window, starting at where you see "#exec", on down to the bottom. Hit Ctrl+C on your keyboard to copy this text.
Now go back to your Voice Pack script and you should see the first script window that opened for the '******Package'. Now, click in the blank area of this window, and hit Ctrl+V to paste all that script you just copied into our '******Package' script. On the "#exec" line, change both places where you see 'Male1Voice' to '******Package'.
To compile the script select [Tools] and [Compile changed].
Close the window.
In the Actor class browser highlight '******Package' in the directory tree listing and down in the lower pane at the same time.
Click on [Save Pkgs] in the Middle left. Note: you need to always compile prior to saving.
Now you should find that you saved a ".U" file in the Unreal Tournament / system directory. (WolverinePackage.u)
4) -----Putting it all together-----
In the Actor Class Browser right click on [Voice******] and select [Default Properties...] This will bring up the properties box for your voice pack.
In this window, click the + mark next to [ChallengeVoicePack].
Now take a look at the properties box, at all the stuff undreneath [ChallengeVoicePack]. There's a bunch of stuff that could be confusing there. There are 5 prefixes for the types of voices in this game: "Ack"
(Acknowledge), "FFire" (Friendly Fire), "Order", "Other", and "Taunt". These are the places where we want to put our new sounds in. If you have an Acknowledgment sound, you put it in the "Ack" section, and so on. For the next section, the "..." represents one of these prefixes.
IMPORTANT: You need to put at least one voice in the "Ack", "FFire", "Order", "Other", and "Taunt" categories, or your voice pack may not work properly, if at all. Your pack *may* work if you don't do this, but I always have trouble with mine unless I put at least one in each.
[...Abbrev] is where you type in the short names of the sound bites for the command menu (typically 'v' held down when playing the game and the commands can be picked by mouse). The menu spacing means that Strings over 17 characters are cropped to fit the button. However they usually spill over the sides making the voicepack seem unprofessional. The Abbrev section gives an alternative for UT to put in the menu. This should be 17 characters (inc spaces) or less [ I'm unsure of the max characters allowed here but 17 is a safe bet].
[...String] is the text that appears in the message box at the top of your HUD when you play UT. And if it's not too long, this will be in the voice menu during the game. If it is too long, you should type a shorter name for the sound in the [...Abbrev] section (in the slot with the corresponding number). You should enter a text version of your sample here along with helpful additions if the meaning isn't that clear (i.e. if your sample for defend says "Lets hang around here" you could put in the String 'Lets hang around here - Defend').
With both these, the number of sample should relate to the String and Abbrev (i.e. a sample placed in FFireSound slot 2 relates to slot 2 in the String and Abbrev.
[...Sound] is the area where the sounds are set-up. Bing up the Sound Browser as well as the Properties window and click on the sound in the Sound Browser that you want to use then click in the slot in the properties window that you want to have it, then click on [Use].
[...Time] I'm not sure what significance this has. I tried lowering it to be able to say things quicker but it didn't work.
[MatureTaunt] is a binary setting for the taunts to toggle whether to play if NoMatureTuants is selected in UT. If a particular sound bite is "mature" (and you want to enable this feature), set it's [MatureTaunt] value to 1.
[NameSound] is the team leader names. 'Red leader ...'
[NameTime] I would assume tells it when to play the following string. ?
[num...] In this section, type the number of sound files you have for each type: numAcks, numFFires, and numTaunts.
Orders and Other/Misc operated slightly differently. The sounds that go in these slots must go in a specific order, or UT gets confused.
The order of samples for Orders is :
Slot 0 - Defend
Slot 1 - Hold
Slot 2 - Attack
Slot 3 - Cover Me
Slot 4 - Freelance
Slot 5 to Slot 9 are left blank
Slot 10 - Take Their Flag (CTF)
Slot 11 - Search and Destroy (DOM)
The Order of samples for Others/Misc is :
Slot 0 - Base Is Uncovered
Slot 1 - Got Our Flag Back
Slot 2 - I've Got The Flag
Slot 3 - I've Got Your Back
Slot 4 - I'm Hit
Slot 5 - Man Down
Slot 6 - I'm Under Attack
Slot 7 - You've Got Point
A note here, under other/misc the slot #9 didn’t work for me. So you might want to skip that slot. It doesn’t hurt anything as long as you skip it in all three sections.
Once you are done setting these up, close the [Default Properties] window.
At this point you need to do your Final Save. (don’t forget you always compile prior to saving.)
Bring up your Actor Browser and right click on your voicepack.
(Make sure you’ve right clicked on your voice pack not a generic one like shown above…) and go to [Edit script]
Select [Compile Changed]
Now close this window and return to your Actor Browser.
Now you can complete your .u file by doing your final save.
Highlight '******Package' in the directory tree listing and down in the lower pane at the same time.
Click on [Save Pkgs] in the Middle left. (Note: you need to always compile prior to saving. )
I always check the Ureal Tournament/system directory to verify that the size of your .u file and the date that it was last saved is indicative of what they should be.
Almost Done!!!!!!
5) -----Make an .int file for your voice pack-----
Create a new text document, and copy & paste the following 2 lines into it:
[Public]
Object=(Name=******Package.Voice******,Class=Class,MetaClass=BotPack.VoiceFemale,
Description="******")
(From Object to the end of the parenthesis, it must all be in the same line. I just edited like this because the layout was looking funny)
Change the "VoiceMale" part to "Voicefemale" if it's a female voice. The part in quotes will be what shows up in the UT menus, so it can be upper & lower case, and have spaces too.
Close and save the text file in your /UnrealTournament/System directory as '******Package.int'
6) -----Set up UnrealTournament.ini-----
Go to your /UnrealTournament/System folder. Open UnrealTournament.ini and scroll down to [Engine.GameEngine] tag, and under the last Server Packages line:
Add a line...
ServerPackages=******Package
Close & Save it.
7) -----That's it, you're done!-----
When you save your voice pack and wanna send it to someone (Like the very cool site Utterance http://www.planetunreal.com/utterance/ ), you just need to save the .int and the .u file. The .uax was just used temporarily in UnrealED while you made your pack.
If you want to make life easier (and gain more respect for yourself) you should Umod your pack. Check out http://www.planetunreal.com/umodwizard/ for a utility that will make this much easier.
A couple of notes…..when I went back in to edit my Pack the Editor was having trouble loading my .u file back in. I found that its was putting .tmp files in my windows temp directory and they were stopping me from pulling it up. To fix this just reboot your computer and as soon as it comes back up go to c:\windows\temp and delete all the files in there. One note of caution don’t ever just delete everything in there without at least rebooting it could mess up your computer. Typically windows puts everything away that it wants when it reboots.
Now, make some voice packs & share them with the world!
I want to take a moment to thank the authors of the two tutorials that I chopped up to make this one,
Rene Mcleod and the guy’s over at http://www.planetunreal.com/parametric_eq/ you should check them out!!!
I hope this tutorial helps in your voice creation process…PLEASE feel free to distribute it to every one so we can have thousands of cool voices to choose from!!!