Changing a sound

As I’ve begun working on my 7th module, I found that when in a fight when one of the companions, who’s a bard, uses “companion sings”, I noticed (haven’t thought about this before) that the companion whistles. I wanted to change that, so I downloaded a new free sample with a woman singing. Then it occured to me that if the player plays a bard and it’s a man, it might be a little odd to have a female singing voice, so…

Is there a way to somehow do a script or something where you bypass what sample the game is using for “bard sings”, so that you have two samples, and if the caster is male you get one sample, and if the caster is female you choose the other sample? Is this possible? Or maybe this is totally hardcoded or something like that…

If not, I will keep my new female singing sample, and if I ever get finished this module I’ve started, I’ll just post that if you have a male main character who’s a bard, then you just erase this file from the campaign folder and use the default sample.

hey Ag, this is off the top of my head (guessing here)

but aren’t spellcast sounds in Spells.2da, per spell or song?

Maybe you can delete the sound(s) from Spells.2da and figure out how to play the one you want in each spellscript,

Ok, I’ll take a look in Spells.2da.

But what spellscript is used when using the spells Fascinate, Countersong, Haven Song and Curse Song for example? I’ve never dabbled into spells to change them so I have no clue about what to do this. Where are the spell scripts for example?

There is a Spells.2da in the 2DA, 2DA_X1 and 2DA_X2. My guess is that I should change stuff in the Spells.2da in 2DA_X2, or rather, copy that one into my override folder and then change it.
There’s a ConjSoundMale and ConjSoundFemale there. However in the Song_Fascinate for instance there are only the 4 star signs there, but maybe if I put my sample names in there it will work? Guess I can try and see what happens.

EDIT: Changed that, and it did nothing for some odd reason. What I didn’t notice before is that when using Fascinate with my male bard and the female companions bard, the singing is the same now on both, both using the gui_whistlesong01 wave file apparently, but they also each say some chanting words before the singing and the spoken words are in a male voice and female voice respectively.
Hmm, this was way trickier than I thought. I might just go with having my female singing sample in there then and tell players to erase that sound file if they play as a male bard, unless someone of you on these forums know how to accomplish this and it’s not too complicated.

1 Like

It’s really weird that in the Spells.2da it says nowhere that the spell uses the gui_whistlesong01 (maybe it uses gui_whistlesong01, 02, 03 and 04 randomly though, I have no evidence if that’s the case). I would have hoped there was a script where one could change this…

Bard songs are probably a bit special since the sound played varies with equipped instrument. A quick search of 2das doesn’t turn up any results for those, but you could probably override all the default sounds with blank ones, and then add your own sounds to the ConjSound columns in spells.2da to all bard songs as you tried already.

1 Like

I’ll try and see what happens if I change the 2da with the ConjSound Override column. However, this doesn’t help as it is the same for males and females.

Rather than ConjSoundOverride, try adding it to ConjSoundFemale. You’d still want some sort of sound for ConjSoundMale in case of players going with a male bard since there would be no sound for them otherwise. Worst case you could just rename the whistle sound and use that.

1 Like

I tried changing both the ConjSoundMale and ConjSoundFemale and ConjSound Override. Nothing seems to work with those things. The game doesn’t play the sound I have for ConjSoundMale when using a male character or the sound in ConjSound Override.

However, the game seem to play gui_whistlesong01 OR gui_whistlesong02, whatever I do in the 2da, when using either male or female…

I have already overwritten the gui_whistlesong01 with a female voice and I know that that works. But as stated I want to have a different sample for the males. That sample doesn’t trigger though when changing these things in the 2da. The 2da in this case is in the override folder. That’s the only place it is. I only place altered 2das there after having done the mistake several times of having 2das both in haks and in the override and campaign folder. So nowadays (just to be sure) I only use the override folder for this.

@Akhacha - You don’t know what script is used (if any) when you cast the Fascinate spell? Maybe it only goes and checks the 2da? But if that’s the case I should have heard another sound file when editing that.

ConjSoundMale and ConjSoundFemale definitely can work, I tried replacing them with one of the game’s sounds and it played just fine. There may be an issue due to file format or naming that is causing it not to work. The override column however doesn’t seem to do much.

As for Fascinate, the impact script is nw_s2_sngfascin, but this should not have any effect on the sound played, as it only activates once the casting finishes, while the sound plays prior to that.

Hmm, ok. What did you replace them with? Maybe I could try with another name that works?

gl_dove_0000, just one of Kaelyn’s lines.

I have no idea what I’m doing wrong then. Nothing works for me when changing the 2da file.

I have the sound files in my campaign folder and the 2da (the spells.2da 2DA_X2) in my override folder. Whenever I put my own gui_whistlesong01 in my campaign folder, the game plays that one for both the females and males. Whenever I remove that from the campaign folder and choose gl_dove_0000 for the ConjSoundFemale and ConjSoundMale, the game just plays the whistle again. I have no clue what do do now.

@kevL_s - One thing I did notice however, is that when changing the 2da inside the Yata editor, the editor complains that the rows don’t quite match, and this is the vanilla Spells.2da from 2DA_X2. Really weird! However, to me it seems like line/row 913 Song_Fascinate is correct.

EDIT: Tried with using the Spells.2da found in 2DA_X1. That didn’t produce a complaint in the Yata editor, but still when changing ConjSoundFemale and ConjSoundMale, the game won’t play gl_dove_0000 that I put there.

I tested it out a bit more, and it only seems to work if you have the sound in ConjSoundFemale (probably same for male, didn’t test though) and ConjSoundOverride has an actual value in it (just 1 seems to be fine), so perhaps try that.

No, doesn’t work either. Can’t fathom what I do differently from you if you get it working.

Try this one and see if it works. I changed it for both Fascinate and Inspire Courage.
spells.2da (663.2 KB)

Oh no! :man_facepalming: It happened again!! I had a duplicate of spells.2da in my override! That’s why it didn’t work. To my defense I hadn’t put it there myself, as it was part of 4760’s horse riding alpha mod.

EDIT: Ok, here’s what happened when I copied the line from your Spells.2da. I know here Kaelyn’s voice saying her line when using my male bard PC. However, the “whistling” is still there, so that must be something else. I’ll try and edit the ConjSoundOverride and see what happens now that I know I edit the only Spells.2da file I have.
EDIT2: Darn! You already did that and that did nothing. So it’s apparent that you can’t affect what sound is played after the “chant”, the sound of the spell itself, in other words what triggers the gui_whistlesong01 sound.
I so wish there was a script where the game is told to use gui_whistlesong that I could edit.

You should be able to override the whistling sounds with empty sound files to take care of that.

1 Like

row #1180 is mistyped as row #1181

as far as I’m aware, however, the row id as typed in the 2da gets overridden by the routine that reads the 2da into memory. So it’s not a biggie, basically just a typo.

the stock 2das are full of, uh, oddities like that … and yes it bothers me

1 Like