Results 1 to 16 of 16

Thread: Sound Implementation

  1. #1

    Default Sound Implementation

    Greetings,

    I am the team leader of the CoW English voice sub-mod.

    We have recently restarted work, specifically on the matter of implement voice sets in-game, where we have encounted great difficulties. Thanks to Comrade Beiss' work, we have now been able to begin work on this. Is there any person we can contact if we were to encounter any technical difficulties? If there are any persons who would like to help out in our sub-mod that would be very much appreciated too.

    Regards,
    Peltast

  2. #2
    Beiss's Avatar Nemo nascitur...
    Join Date
    Jan 2006
    Location
    Sweden
    Posts
    3,099

    Default Re: Sound Implementation

    You can ask anything you want right here in this thread, if you want. Try to be as specific as you can.
    Under the patronage of Halie Satanus, Emperor of Ice Cream, in the house of wilpuri

  3. #3

    Default Re: Sound Implementation

    Is it possible to have different accents for generals on campaign map?

  4. #4
    Beiss's Avatar Nemo nascitur...
    Join Date
    Jan 2006
    Location
    Sweden
    Posts
    3,099

    Default Re: Sound Implementation

    Within the same faction, you mean? There is the chivalry meter thingy that makes a general use one sample set if less than some number, and another one if greater than one number, in addition to the default one. So there's 3 sets for generals in each accent, but I'm not sure if this is true for everything they say and for every situation. I can look it up if you want, but I'm not sure this is what you were asking about.
    Under the patronage of Halie Satanus, Emperor of Ice Cream, in the house of wilpuri

  5. #5

    Default Re: Sound Implementation

    Yes I mean different accents for generals of one faction. For example playing as Germany have a general with english accent.
    Dread/Chivalry approach could work but It looks complicated beacuse chivalry metter based on traits.

  6. #6
    Beiss's Avatar Nemo nascitur...
    Join Date
    Jan 2006
    Location
    Sweden
    Posts
    3,099

    Default Re: Sound Implementation

    ...you know, that would actually be pretty cool. Have an English general gain enough dread and suddenly he speaks with a German accent...

    No, I don't think it's possible to do it any other way, unless you can somehow introduce new types of characters on the campaign map (which I wouldn't know anything about). You can probably do something with the traits to make the type of speech depend on something else than dread and/or chivalry, but the limit is still 3 sets, I would think.
    Under the patronage of Halie Satanus, Emperor of Ice Cream, in the house of wilpuri

  7. #7

    Default Re: Sound Implementation

    Beiss

    Do you know what file control horse death sound?
    I changed sounds for boar mounts, but they still die with horses sounds

  8. #8
    Beiss's Avatar Nemo nascitur...
    Join Date
    Jan 2006
    Location
    Sweden
    Posts
    3,099

    Default Re: Sound Implementation

    Hahaha, I'll look into it

    EDIT: Ok, can you tell me exactly what you did to try to change that sound? I know it didn't work, I just want to know.

    I'm pretty sure it's something in descr_sounds_units_anim.txt, linked to an event for boar death that you have to define in the data\animations folder in a .evt file along with the .cas file for the actual animation. And then you have to rebuild the skeletons pack as well as the sounds to make it actually work.
    Last edited by Beiss; December 11, 2010 at 10:21 AM.
    Under the patronage of Halie Satanus, Emperor of Ice Cream, in the house of wilpuri

  9. #9

    Default Re: Sound Implementation

    I found sound files for horse death and then a searched all sound txts for the match. I found nothing.
    Thank you for the hint at least now I know where I should search. I don't won't to mess with animations but it looks like I'll have to.
    I take a vanila files for example:
    Code:
    anim		die_forward_1								data/animations/HR_lance/HR_lance_horse_req/HR_lance_fs_horse_die_forward_1.cas					-fr			-evt:data/animations/HR_lance/HR_lance_horse_req/HR_lance_fs_horse_die_forward_1.evt
    anim		die_backward_1								data/animations/HR_lance/HR_lance_horse_req/HR_lance_fs_horse_die_backward_1.cas				-fr	-evt:data/animations/HR_lance/HR_lance_horse_req/HR_lance_fs_horse_die_backward_1.evt
    anim		die_forward_2								data/animations/HR_lance/HR_lance_horse_req/HR_lance_fs_horse_die_forward_2.cas					-fr			-evt:data/animations/HR_lance/HR_lance_horse_req/HR_lance_fs_horse_die_forward_2.evt
    anim		die_backward_2								data/animations/HR_lance/HR_lance_horse_req/HR_lance_fs_horse_die_backward_2.cas				-fr	-evt:data/animations/HR_lance/HR_lance_horse_req/HR_lance_fs_horse_die_backward_2.evt
    anim		die_to_back_right_1							data/animations/HR_lance/HR_lance_horse_req/HR_lance_fs_horse_die_backward_1.cas				-fr	-evt:data/animations/HR_lance/HR_lance_horse_req/HR_lance_fs_horse_die_backward_1.evt
    anim		die_to_back_right_2							data/animations/HR_lance/HR_lance_horse_req/HR_lance_fs_horse_die_backward_2.cas				-fr	-evt:data/animations/HR_lance/HR_lance_horse_req/HR_lance_fs_horse_die_backward_2.evt
    anim		die_to_back_left_1							data/animations/HR_lance/HR_lance_horse_req/HR_lance_fs_horse_die_backward_1.cas				-fr	-evt:data/animations/HR_lance/HR_lance_horse_req/HR_lance_fs_horse_die_backward_1.evt
    anim		die_to_back_left_2							data/animations/HR_lance/HR_lance_horse_req/HR_lance_fs_horse_die_backward_2.cas				-fr	-evt:data/animations/HR_lance/HR_lance_horse_req/HR_lance_fs_horse_die_backward_2.evt
    anim		die_falling_cycle							data/animations/HR_lance/HR_lance_horse_req/HR_lance_fs_horse_die_backward_1.cas				-fr	-evt:data/animations/HR_lance/HR_lance_horse_req/HR_lance_fs_horse_die_backward_1.evt
    anim		die_falling_end								data/animations/HR_lance/HR_lance_horse_req/HR_lance_fs_horse_die_backward_1.cas				-fr	-evt:data/animations/HR_lance/HR_lance_horse_req/HR_lance_fs_horse_die_backward_1.evt
    anim		die_refusing								data/animations/HR_lance/HR_lance_horse_req/HR_lance_fs_horse_die_refusing.cas					-fr	-evt:data/animations/HR_lance/HR_lance_horse_req/HR_lance_fs_horse_die_refusing.evt
    anim		die_galloping								data/animations/HR_lance/HR_lance_horse_req/HR_lance_fs_horse_die_galloping.cas					-fr	-evt:data/animations/HR_lance/HR_lance_horse_req/HR_lance_fs_horse_die_galloping.evt
    evt files are linked to sounds.
    I unpacked all vanila animations and skeletons and there no such files.
    How then vanila understand which sound play when horse die?
    Btw in descr_skeletons are evt files for marching and walking but this part of sounds controled with appropriate txts.
    Should I create evt file for boar death?
    If it so then I don't understand the syntax.
    Here is syntax of mangonel_destruction.evt
    Code:
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;;
    ;; Animation event file
    ;;
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    
    event SOUND MANGONEL_BARREL_EXPLODE 0 0
    In what folder should I put this file?


    And at the last I found code in RTW's descr_sounds_units_anims
    event ANIM_HORSE_DEATH volume -15 priority 130 probability 1
    folder data/sounds/Voice/Animal/Horse
    horse_death_01
    horse_death_03
    horse_death_05
    horse_death_06
    horse_death_07
    horse_death_08
    horse_death_09
    horse_death_10
    horse_death_11
    horse_death_12
    end
    It's looks like in RTW all such events was contolled directly from txt without evt.

  10. #10
    Beiss's Avatar Nemo nascitur...
    Join Date
    Jan 2006
    Location
    Sweden
    Posts
    3,099

    Default Re: Sound Implementation

    I think you may need this: http://www.twcenter.net/forums/showthread.php?t=96522

    Do you use horses in the mod or are there only boar mounts? If there are horses in the mod you probably want to make a new event for boar death rather than replacing what sample the horses use.

    In the above code you showed me,

    Code:
    anim		die_forward_1								data/animations/HR_lance/HR_lance_horse_req/HR_lance_fs_horse_die_forward_1.cas					-fr			-evt:data/animations/HR_lance/HR_lance_horse_req/HR_lance_fs_horse_die_forward_1.evt
    means when the animation "die_forward_1" plays, it uses animation file blabla.cas and event file blabla.evt. In the evt file is specified which sound event should be used here, and at what frame of the animation the sound should start playing. That's what the first number at the end of "event SOUND MANGONEL_BARREL_EXPLODE 0 0" is for. Not sure about the second one.

    The .evt for die_forward_1 is

    Code:
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;;
    ;; Animation event file
    ;;
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    
    event SOUND_VOICE Individual_Death 7 7
    ... so the sound we're looking for is defined by the event "Individual_Death". This all seems to relate only to the rider, not the mount itself.

    EDIT: Ah. You're looking at the rider. The lines you copied into your above post are from the unit MTW2_HR_Lance. You'll want to look up the mount - fs_horse, fs_fast_horse, fs_boar (?) or something. That one has animations too, each of which should be linked to a .cas and a .evt file. So I ask again, do you have horses in your mod?
    Last edited by Beiss; December 12, 2010 at 07:17 AM.
    Under the patronage of Halie Satanus, Emperor of Ice Cream, in the house of wilpuri

  11. #11

    Default Re: Sound Implementation

    Yes we have horses and boars and wolves and skeleton horses
    I want make a new evt file for boar death but I dont understand in which folder I should put the boar death sound files so the game use them only for boars besides horses.

    There is exact code for boar mount animation:
    Code:
    anim		die_forward_1							data/animations/Warhammer_boar/W_boar_die_forward_1.cas				-fr	-evt:data/animations/fs_horse/fs_horse_die_forward_1.evt
    anim		die_backward_1							data/animations/Warhammer_boar/W_boar_die_backward_1.cas			-fr	-evt:data/animations/fs_horse/fs_horse_die_backward_1.evt
    anim		die_forward_2							data/animations/Warhammer_boar/W_boar_die_forward_2.cas				-fr	-evt:data/animations/fs_horse/fs_horse_die_forward_2.evt
    anim		die_backward_2							data/animations/Warhammer_boar/W_boar_die_backward_2.cas			-fr	-evt:data/animations/fs_horse/fs_horse_die_backward_2.evt
    anim		die_to_back_right_1						data/animations/Warhammer_boar/W_boar_die_backward_1.cas			-fr	-evt:data/animations/fs_horse/fs_horse_die_backward_1.evt
    anim		die_to_back_right_2						data/animations/Warhammer_boar/W_boar_die_backward_2.cas			-fr	-evt:data/animations/fs_horse/fs_horse_die_backward_2.evt
    anim		die_to_back_left_1						data/animations/Warhammer_boar/W_boar_die_backward_1.cas			-fr	-evt:data/animations/fs_horse/fs_horse_die_backward_1.evt
    anim		die_to_back_left_2						data/animations/Warhammer_boar/W_boar_die_backward_2.cas			-fr	-evt:data/animations/fs_horse/fs_horse_die_backward_2.evt
    anim		die_falling_cycle						data/animations/Warhammer_boar/W_boar_die_backward_1.cas			-fr	-evt:data/animations/fs_horse/fs_horse_die_backward_1.evt
    anim		die_falling_end							data/animations/Warhammer_boar/W_boar_die_backward_1.cas			-fr	-evt:data/animations/fs_horse/fs_horse_die_backward_1.evt
    anim		die_refusing							data/animations/Warhammer_boar/W_boar_die_refusing.cas				-fr	-evt:data/animations/fs_horse/fs_horse_die_refusing.evt
    anim		die_galloping							data/animations/Warhammer_boar/W_boar_die_galloping.cas				-fr	-evt:data/animations/fs_horse/fs_horse_die_galloping.evt
    Now it uses horses evt so its normal that boars die whith whiney sounds

    here is a code of fs_horse_die_backward_1.evt
    Code:
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;;
    ;; Animation event file
    ;;
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    
    event SOUND_BANK animal_footstep_walk 7 7
    event SOUND_BANK animal_footstep_walk 12 12
    event SOUND_BANK animal_footstep_walk 19 19
    event SOUND ANIM_HORSE_DEATH 23 23
    event SOUND_BANK animal_fall 42 42
    event SHOCKWAVE  42 42
    It's clear that a should change "event SOUND ANIM_HORSE_DEATH", replace it to reference to boar death sound but I don't understand how exactly.

  12. #12
    Beiss's Avatar Nemo nascitur...
    Join Date
    Jan 2006
    Location
    Sweden
    Posts
    3,099

    Default Re: Sound Implementation

    Do you use fs_horse for anything else except boars? If you change something in fs_horse_die_backward_1.evt, this will change the sounds for horses as well.

    I would recommend you create new .evt files for boars, just copy all the ones for fs_horse and rename them, then edit the skeletons file so it reads, for example, like this:
    Code:
    anim		die_forward_1							data/animations/Warhammer_boar/W_boar_die_forward_1.cas				-fr	-evt:data/animations/Warhammer_boar/W_boar_die_forward_1.evt
    Then edit the boar's new .evt files and replace "event SOUND ANIM_HORSE_DEATH 23 23" with "event SOUND ANIM_BOAR_DEATH 23 23" (assuming the timings are the same as for the horses' animations).

    Next, edit descr_sounds_units_anims.txt and add the following (or similar):
    Code:
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;;   BOAR
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    
    
    ;;;; used on boar charge ;;;;
    event ANIM_BOAR_ATTACK volume -20 priority 130 probability .05
    folder data/sounds/Voice/Animal/boar
    boar_squeal_02
    boar_squeal_03
    boar_squeal_04
    boar_squeal_05
    boar_squeal_08
    end
    
    event ANIM_BOAR_DEATH volume -15 priority 130 probability 1
    folder data/sounds/Voice/Animal/boar
    boar_death_01
    boar_death_03
    boar_death_05
    boar_death_06
    boar_death_07
    boar_death_08
    boar_death_09
    boar_death_10
    boar_death_11
    boar_death_12
    boar_death_13
    boar_death_14
    end
    ... where e.g. "boar_squeal_04" refers to a sample "boar_squal_04.wav" located in the folder data/sounds/Voice/Animal/boar.
    Last edited by Beiss; December 12, 2010 at 12:10 PM.
    Under the patronage of Halie Satanus, Emperor of Ice Cream, in the house of wilpuri

  13. #13

    Default Re: Sound Implementation

    It's clever
    I just don't see why vanila don't use descr_sounds_units_anims.txt for horse death.
    But I'll try.
    I this case do I need to repack animation?

  14. #14
    Beiss's Avatar Nemo nascitur...
    Join Date
    Jan 2006
    Location
    Sweden
    Posts
    3,099

    Default Re: Sound Implementation

    I think you have to repack animations, yes.

    vanila don't use descr_sounds_units_anims.txt for horse death
    It doesn't?
    Under the patronage of Halie Satanus, Emperor of Ice Cream, in the house of wilpuri

  15. #15

    Default Re: Sound Implementation

    Yes. The part of code with horse death I take from Rome descr_sounds_units_anims.
    In Medievel this file control only animal fall sounds and war horns.
    Anyway your approach can work now I just need to repack animations.
    Thank you very much for help

  16. #16
    Beiss's Avatar Nemo nascitur...
    Join Date
    Jan 2006
    Location
    Sweden
    Posts
    3,099

    Default Re: Sound Implementation

    Ok, no problem.
    Under the patronage of Halie Satanus, Emperor of Ice Cream, in the house of wilpuri

Posting Permissions

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