Results 1 to 5 of 5

Thread: Voicemod setup tutorial/guide

  1. #1
    Shigawire's Avatar VOXIFEX MAXIMVS
    Join Date
    Aug 2003
    Location
    Norway (NORGE), BRØNNØYSUND
    Posts
    3,458

    Default Voicemod setup tutorial/guide

    Ok I wrote this in the hidden EB-forum on the Org. Now I thought it was wasteful not to share it with all.. so here I copy and paste what I wrote in the internal EB forum.

    I'm using EB as a model to base the guide on, since in EB we have the most complex system of voicemods, I don't know many other mods that do this at all really.

    First, before we continue, I must explain voice_types. There are 4 voice_types:
    General_1, Heavy_1, Medium_1 and Light_1. There is even a 5th "Female_1", but ignore this red herring for now.
    Here is the thing with voice_types. In Vanilla, they allowed some variation in voice between "heavier" and "lighter" units. But since I didn't want to spend 4x the time just to get that, I made only 1 set of voices.

    Initially, I percieved a limitation to the amount of voicemods we could have.
    It seemed to be limited to culture. But in fact, we can use the aforementioned voice_types to differentiate between factions sharing the same culturegroup. So, the Aedui, Arverni, Casse, Sweboz, Getai and Lusitani share the same culture group. Is this a problem? Let's look at the situation closer:

    Once we have voicemods for all of these, we can divide them as follows (hypothetical):
    Aedui, Arverni, Casse = Barbarian_General_1 (Gallic)
    Lusitani = Barbarian_Heavy_1 (Lusitanian/Q-celtic)
    Sweboz = Barbarian_Medium_1 (ProtoGermanic)
    Getai = Barbarian_Light_1 (Greek with dacian influence?)

    So this is how we do it in the instances where one culture is shared by linguistically different factions, for example the Barbarian culture, and of course the Eastern culture with both greek, armenian and persian in one culture.

    We can relax for the Romans.. they don't share their culture. Same with the two greek culture groups.



    Secondly, here are the txt-files that are involved in the voices, they are all found in EB\DATA\

    THE FOLLOWING FILES POINT ONLY TO VOICE_TYPE:

    export_descr_sounds_units_voice.txt (the main battlecommands and responses)
    We call this one EDSUV

    export_descr_sounds_soldier_voice.txt (Yell_Charge sounds etc)
    We call this one EDSSV


    THE FOLLOWING FILES POINT TO VOICE_TYPE AS WELL AS INDIVIDUAL UNIT NAMES:

    descr_sounds_units_charge.txt (sets Group charge voices, many voices that yell charge)
    We call this one DSUCh

    descr_sounds_units_confirm.txt (sets group confirm voices, many voices that confirms an order, usually "Aye!")
    We call this one DSUCo

    descr_sounds_units_retreat.txt (sets group retreat voices)
    We call this one DSUR

    descr_sounds_units_celebrate.txt (sets group celebrate voices)
    We call this one DSUCe

    descr_sounds_units_taunt.txt (sets group taunt voices)
    We call this one DSUT



    THIS IS THE FILE WHERE ALL OF THE ABOVE FINDS REFERENCES TO UNIT NAMES AND VOICE_TYPE:
    export_descr_units.txt (set voice_type for units here)
    We call this one EDU



    NOT RELATED TO VOICE_TYPE:
    For the following 2 textfiles, we can set voices that are limited by culture.
    I say we should MUTE the battle_events until they actually get recorded.
    The user can read the message on the icon that drops down..

    export_descr_sounds_units_battle_events.txt (The enemy gate is captured, TEH DAY IS OURS! etc)
    We call this one EDSUBE

    export_descr_sounds_stratmap_voice.txt (campaign map voices)
    We call this one EDSStrat



    Now!
    Let's take the Latin voicemod as an example for this guide.
    Make appropriately named directories in RTW\EB\DATA\SOUNDS
    such as Latin for Latin, Gallic for Gallic
    RTW\EB\DATA\SOUNDS\LATIN
    RTW\EB\DATA\SOUNDS\GALLIC

    Copy the new Latin soundfiles to the appropriate directory (Latin). Pile all of them in the root.




    So we have copied the voicefiles over to the appropriate directories, and now we understand what voice_type is all about. What do we do next?


    We start editing EDSUV!

    First you must understand EDSUV...

    This file is set up hierarchically..
    Starts like this:

    culture roman (everything under this goes under "roman" culture group)
    --class General_1 (refers only to voice_type in EDU)
    -----vocal Group_Created (event-name)
    --------event (triggers an event)
    -----------folder data/sounds/voice/human/localized/battle_map (defines directory of the file)
    -----------Roman_General_1_Group_Created_1.wav (defines filename 1)
    -----------folder data/sounds/voice/human/localized/battle_map (defines directory of the file)
    -----------Roman_General_1_Group_Created_2.wav (defines filename 2)
    -----------folder data/sounds/voice/human/localized/battle_map (defines directory of the file)
    -----------Roman_General_1_Group_Created_1.wav (defines filename 3)
    -----------end (triggers the end, and start of another)
    ------vocal Group_Disbanded (ex. Group_Disbanded)
    ---------event
    -------------folder abc/def/ghi
    -------------Filename_1.WAV
    -------------folder abc/def/ghi
    -------------Filename_2.WAV
    -------------folder abc/def/ghi
    -------------Filename_3.WAV
    ----------end
    --class Heavy_1
    ------vocal Group_Disbanded
    etc..

    You understand so far?

    Ok farther down in EDSUV you will come upon the unit_select sounds.
    This is where it defines what sound is played when you click a unit.
    These are slightly different from regular vocal events.
    like this:

    -----vocal Unit_Select
    ---------unit roman infantry camillan rorarii
    -------------event
    -----------------folder eb/data/sounds/latin
    -----------------Roman_Latin_name_rorarii_1.wav
    -----------------folder eb/data/sounds/latin
    -----------------Roman_Latin_name_rorarii_2.wav
    -----------------folder eb/data/sounds/latin
    -----------------Roman_Latin_name_rorarii_3.wav
    -----------------group
    --------------end

    The odd one out is the "group" trigger. I am not entirely sure what it does, maybe it calls group-sounds from Voice3.dat (where u find all the charge sounds).. whatever it is, it probably must be there.. so don't miss that.
    Otherwise vocal unit_select calls are identical..

    Now to EDIT the EDSUV

    This is how I do it:
    We start with the Romans, as they are at the top of EDSUV.
    Romans don't share their culture with anyone. This means we can delete entire classes of voice_types we will never use, which would otherwise lead to more work and clutter up the file.
    I remove everything from "class Heavy_1" all the way down to the last "Light_1", where it touches "culture greek" - but don't delete anything other than obsolete Roman voice_types. We want only to have General_1 under Roman culture.

    When you have done that, you have to alter all the folder definitions for the Roman General_1. We placed the extra voicefiles for EB under EB\DATA\SOUNDS

    Within the Roman culture, replace all instances of "folder data/sounds/voice/human/localized/battle_map" with "eb/data/sounds/latin"
    Do not do this for the other cultures.
    Notepad has "Replace" tool, press CTRL+H to get it.

    Next, insert the correct filenames..
    f.ex.
    Roman_Latin_Group_Created_1.wav
    instead of
    Roman_General_1_Group_Created_1.wav

    This is easy to do with CTRL+H , replace "Roman_General_1_" with "Roman_Latin_"

    Now you need to add the EB-specific unit_names under the "unit_select" event hierarchy.

    You have to add every single unit here. The unit must be added with spaces, not lower-dashes. So it will look something like this:

    unit roman cavalry camillan eqvites
    --event
    -----folder eb/data/sounds/latin
    -----Roman_Latin_name_equites_romani_1.wav
    -----folder eb/data/sounds/latin
    -----Roman_Latin_name_equites_romani_2.wav
    -----folder eb/data/sounds/latin
    -----Roman_Latin_name_equites_romani_3.wav
    -----group
    --end
    unit roman cavalry eqvites consvlares
    --event
    -----folder eb/data/sounds/latin
    -----Roman_Latin_name_equites_consulares_1.wav
    -----folder eb/data/sounds/latin
    -----Roman_Latin_name_equites_consulares_2.wav
    -----folder eb/data/sounds/latin
    -----Roman_Latin_name_equites_consulares_3.wav
    -----group
    --end

    If there are some unit_names we haven't recorded the 3 voices for yet, it's okay to leave these empty. Like this.. (this is very important)

    unit unit roman cavalry eqvites consvlares
    --event
    --group
    --end

    This is really important, because as long as you define the unit in EDSUV like this, the unit WILL speak the right language. It doesn't matter if the unit_select sound isn't recorded yet..
    This is very useful in instances where you have a unit which speaks a completely different language from the culture-group wherein it's recruitable.
    A great example is the Galatian soldiers. These should not speak Greek nor Persian, but Gallic. (no, I wont make another gallic voicemod with greek influences )

    If you define the galatian units in EDSUV under the correct hierarchy (culture Barbarian class General_1), they WILL speak Gallic, even if they are in a non-gallic army. You following me yet? This means that a multiethnic army will truly SOUND multiethnic! Which is great!

    Now we're almost done! The next steps are easy.

    If we also have some Yell_Charge voices (which we have for the gallic), you have to define these in EDSSV. Lest you want them to "CHAAAARGE" in english.. I haven't yet recorded the yell_charge sounds for Latin. I will do it though.

    Let's say for the sake of this guide that we have recorded the yell_charge sounds in Latin. Since we put all files in eb\data\sounds\latin we only have to make the "folder" pointer in EDSSV point to this directory under "culture Roman class General_1"

    EDSSV is very similar to EDSUV

    Here is where we change the Yell_Charge sounds

    --vocal Individual_Charge
    -----event probability .1 priority 80 mindist 2
    ---------folder data/sounds/voice/human/localized/battle_map -> eb/data/sounds/Latin
    ---------Roman_Latin_Individual_Charge_1.wav
    ---------folder data/sounds/voice/human/localized/battle_map -> eb/data/sounds/Latin
    ---------Roman_Latin_Individual_Charge_2.wav
    ---------folder data/sounds/voice/human/localized/battle_map -> eb/data/sounds/Latin
    ---------Roman_Latin_Individual_Charge_3.wav
    ---------folder data/sounds/Voice/Human/Generic -> eb/data/sounds/Latin
    ---------Yell_Charge_01.wav
    ---------folder data/sounds/Voice/Human/Generic -> eb/data/sounds/Latin
    ---------Yell_Charge_02.wav
    ---------folder data/sounds/Voice/Human/Generic -> eb/data/sounds/Latin
    ---------Yell_Charge_03.wav
    ---------folder data/sounds/Voice/Human/Generic -> eb/data/sounds/Latin
    ---------Yell_Charge_04.wav

    Note that Yell_Charge sounds are usually in the "Generic" directory, but since we put them all in one basket to simplify things.. we point them all to the Latin dir.

    Default is 47 files which continues to the number 61, we can change the number of files if we dont want to make as many as 47 of course.

    The neat thing about
    -event probability .1 priority 80 mindist 2
    is that we can dictate the percieved behaviour of troops.
    For "barbarians" we can increase the probability of a yell_charge.. default is .1 which is just 10% - I have personally increased the barbarian's probability to charge_yell up to ".5" (50%) , sounds much more violent!

    I have no idea what priority or mindist does.. but my guess is that "priority" may be a way to determine the audibility of one sound in contrast to other sounds on the battlefield. "mindist" is probably the "minimum distance" that the sound is audible. Have not tested this.

    Anyways.. just point those appropriate folder directions like this:
    ---------folder data/sounds/Voice/Human/Generic
    to
    ---------folder eb/data/sounds/latin

    But only for the Roman culture, don't do this for the others.


    This part is for Group voices. These arent many sounds, but are still used by the game I think.
    These are sounds where MANY MANY voices yell together.. in the distance probably.
    The file used for this is: DSUCh (descr_sounds_units_charge.txt)
    I noticed EB's DSUCh is empty!

    Let's take the Barbarians as an example now. So here is how it looks in vanilla's DSUCh:

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;;;;;;;;;;; BARBARIAN
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


    type barb peasant briton,barb peasant dacian,barb peasant gaul,barb peasant german,barb peasant scythian,barb peltast gaul,barb peltast german,barb slinger briton,barb archer dacian,barb archer scythian,warband archer dacian,warband archer german,warband archer scythian,warband huntsman gaul,warband hurler briton,barb infantry briton,barb infantry dacian,barb infantry gaul,warband spear german,warband sword briton,warband sword gaul,warband axe german,warband axe scythian,warband falx dacian,warband dhaxe german,barb warguard briton,barb warguard dacian,barb warguard gaul,warband woad briton,barb naked fanatics dacian,barb naked fanatics gauls,barb naked fanatics german,barb naked fanatics spain,barb druids briton,barb druids gaul,barb night raiders german,barb berserker german,barb wardogs briton,barb wardogs dacian,barb wardogs gaul,barb wardogs german,barb wardogs scythian,barb cavalry dacian,barb cavalry gaul,barb cavalry german,barb cavalry scythian,barb noble cavalry dacian,barb noble cavalry gaul,barb noble cavalry german,barb gothic cavalry german,barb chariot light briton,barb chariot heavy briton,barb horse archers scythian,barb noble horse archers scythian,barb scythian nobles scythian,barb ballista dacian,barb onager dacian,barb onager scythian,barb chieftain cavalry early dacian,barb chieftain cavalry early gaul,barb chieftain cavalry early german,barb chieftain cavalry early scythian,barb chieftain cavalry dacian,barb chieftain cavalry gaul,barb chieftain cavalry german,barb british general briton,barb scythian general scythian,spanish scutarii,spanish bull warriors,carthaginian warhounds,barbarian female peasant
    event lod 5
    folder data/sounds/Voice/human/localized/group
    barb_group_charge_small_G01
    barb_group_charge_small_G02
    barb_group_charge_small_G03
    end

    event lod 10
    folder data/sounds/Voice/human/localized/group
    barb_group_charge_med_G01
    barb_group_charge_med_G02
    barb_group_charge_med_G03

    end

    event lod 20
    folder data/sounds/Voice/human/localized/group
    barb_group_charge_large_G01
    barb_group_charge_large_G02
    barb_group_charge_large_G03
    end



    yep.. as was noted in the initial listings of textfiles involved, DSUCh points both to VOICE_TYPE but also to UNIT NAME
    You have to specify every single unit which are supposed to use this sound. Otherwise they'll be silent while charging.
    After you have inserted all the appropriate unit names, the rest is easy.. just rename the folder directory to point to:
    EB/DATA/SOUNDS/GALLIC



    The next part is the easiest. We edit voice_types of units in EDU
    Make sure all units who speak the same language have the same voice_type
    In my EDU, I have made sure ALL roman units have "General_1" voice_type.
    Those romans that dont have General_1 will be mute. :p
    Same with Gauls for the moment.

    Also, culture definition for Barbarian in EDSUV is:
    culture barbarian,nomadic
    This means any barbarian or nomadic culture with units that have "General_1" as voice_type will also speak gallic. That means getai, sweboz, you name it we got it. We can of course break the "nomadic" culture away from its symbiosis with "barbarian" and set it up as its own voice-culture like this:
    culture nomadic


    Thats it.
    Last edited by Shigawire; December 08, 2006 at 12:00 PM.
    ------------------------------VOXIFEX MAXIMVS-------------------------------
    ------PROUD PARENT OF THE EUROPA BARBARORUM VOICEMOD-------


    "To know a thing well, know its limits. Only when pushed beyond its tolerances will its true nature be seen." -The Amtal Rule, DUNE

  2. #2

    Default Re: Voicemod setup tutorial/guide

    I realize it`s a very old thread, but I`m trying to figure out this part:
    If there are some unit_names we haven't recorded the 3 voices for yet, it's okay to leave these empty. Like this.. (this is very important)

    unit unit roman cavalry eqvites consvlares
    --event
    --group
    --end

    This is really important, because as long as you define the unit in EDSUV like this, the unit WILL speak the right language.
    My question is: how and what will they speak(i.e. respond when you click them in battle) if there aren`t any wav files specified for the unit? I`m curious about this because towards the end of the vanilla file there are units mentioned following your example above:
    Spoiler Alert, click show to read: 
    Code:
    				unit noble warriors frank
    				event
    					group
    				end
    				unit frankish raiders
    				event
    					group
    				end
    				unit saxon mounted nobles
    				event
    					group
    				end
    				unit saxon hearth troops
    				event
    					folder data/sounds/Voice/Human/Localized/Battle_Map
    					Barbarian_Female_1_Unit_Generic_1.wav
    					folder data/sounds/Voice/Human/Localized/Battle_Map
    					Barbarian_Female_1_Unit_Generic_2.wav
    					group
    				end
    				unit peasant vandal
    				event
    					group
    				end
    				unit merc onagers
    				event
    					group
    				end

    What`s even more curious is that from now and then there`s a group of generic female voices between otherwise male units. And the units themselves are also mentioned above for the 4 types of voices(general, heavy, medium, light). So I wonder what`s the purpose of this section in the vanilla file. Does it do anything?

  3. #3
    Squid's Avatar Opifex
    Patrician Artifex Technical Staff

    Join Date
    Feb 2007
    Location
    Frozen waste lands of the north
    Posts
    17,751
    Blog Entries
    3

    Default Re: Voicemod setup tutorial/guide

    Because they represent two different things. The files that go in the event section are what the unit says when clicked on. (i.e. "Creatan archers"), the language stuff is the generic things a particular voice group (i.e. Medium_1) will say for a particular culture. So by associating a unit with a particular culture it will speak with that voice, but won't say anything if selected because the event section is empty.

    The vanilla files are actually exceptionally poorly done by CA, as each unit appears in each voice group, when a particular unit only needs to appear in the voice group to which is belongs according to the EDU.
    Under the patronage of Roman_Man#3, Patron of Ishan
    Click for my tools and tutorials
    "Two things are infinite: the universe and human stupidity; and I'm not sure about the universe." -----Albert Einstein

  4. #4

    Default Re: Voicemod setup tutorial/guide

    Thank you for the reply! But
    Quote Originally Posted by SquidSK View Post
    So by associating a unit with a particular culture it will speak with that voice, but won't say anything if selected because the event section is empty.
    EDIT: I`ve read the reply again. Basically what you were saying is that the "speak" part refers to the sounds associated with the orders given and that sort of things while the "say" part means the reply they give when you click them. Right?
    Actually that wasn`t what interested me the most, but it helps in that regard too. What I wanted to find out when I first read the guide was the point of the section I`ve showed above. If it has any point or not. Because until now I`ve kept adding the new units to that section too, after other related, previously existing units, but without knowing if it is of any good. Now I`m guessing not. Am I wrong?
    The vanilla files are actually exceptionally poorly done by CA, as each unit appears in each voice group, when a particular unit only needs to appear in the voice group to which is belongs according to the EDU.
    True, but I`ve figured it was easier for them to make all four and then change their mind with the edu regarding the type of voice used as often as they want without having to edit the edsuv again.
    Last edited by florin80; February 05, 2009 at 10:13 AM.

  5. #5
    Squid's Avatar Opifex
    Patrician Artifex Technical Staff

    Join Date
    Feb 2007
    Location
    Frozen waste lands of the north
    Posts
    17,751
    Blog Entries
    3

    Default Re: Voicemod setup tutorial/guide

    As for what the units will actually say, look at the beginning of each voice class section, you'll have stuff such as vocal Group_Created , or vocal Group_Disbanded, etc. with entries associated with each, those are what the units in that voice class for that culture will say.

    And while it may have saved CA time in editing the file, it makes it a royal pain for modders to work with.
    Last edited by Squid; February 05, 2009 at 11:27 AM.
    Under the patronage of Roman_Man#3, Patron of Ishan
    Click for my tools and tutorials
    "Two things are infinite: the universe and human stupidity; and I'm not sure about the universe." -----Albert Einstein

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •