Jump to content

[Guide] Making a Faithful Character Voice


Wonderlarr
 Share

Recommended Posts

Introduction
Hello awesome people of the DST Modding Forums! Over the last year or so I've been developing my own character mod, and when I tried to add a custom voice for my character, I realize all the guides were either out of date, or thrown together without enough detail. After stumbling through the process myself, I figured I should make something to replace all the previous ones for the moment.

This guide will focus on getting the voice working in the game, NOT making the actual voice sound files, that will be down to your own choice of sound effects from the internet, or if you're capable, a proper instrument, or really whatever else. In the future though, I plan on providing you good people with a few free to use character voices, since not everyone has access the right software to make vanilla-like instrument style voices. To those of you who are capable of producing your own instrument style voices, I'll provide some note here and there for how to get the best results.

Alright, let's get down to business. In this guide, I'll be walking you through adding a custom voice to your modded character.

Prerequisites

  1. Don't Starve Mod Tools, specifically FMOD Designer
  2. A functioning character, or download the Extended Sample Character Template for DST
  3. Sound effects you'd like to use, a music software of some sort, or my example voice pack.
  4. LUA knowledge. Only a little bit but it will be required.
  5. Character Voice Template Project file for FMOD designer (also linked below)

 

Alright, starting us off with step one, make a folder in your mod called sound, we'll be doing most of our sound business in this folder. Put the .fdp FMOD project you should have downloaded above, customvoice.fdp, in this folder. It's vital that you name the folder sound or the game will not find your sound file!

This .fdp file can be opened with FMOD Designer from the Don't Starve Mod tools.

Importing Sounds into FMOD

We're going to be putting sound files into each Simple Event, like talk_LP and yawn, in order here. A simple event is the event the game uses to play that sound, so don't change the names or positions of them or there will be trouble.

Click on the talk_LP simple event, you should see a screen like this

image.thumb.png.006d398f2f8b988046f081af6b9c9de7.png

The playlist section circled above is where you'll import your files. Simply drag and drop the appropriate files into the section and they'll be automatically managed for you from there. If you don't have any of your own sounds, I'll be sharing some pre-made voice packs on here soon, but since I haven't done that yet, there's an example set uploaded with this post called violin_voice_example_SOUNDS.zip. I highly recommend you make your own collection of sounds, but use my pack if for testing or if you just really like it. The sounds you make yourself can really be whatever you want, details on what kind of sound each one needs to be are listed at the bottom of this post. image.thumb.png.4b141a6767cfd8864fb1bcfe6fed79d0.png

It should be noted that if you want to leave an event without sounds, it will work fine, the game will skip over it silently whenever it's called.

GREAT JOB! That's how simple it is to import sounds. Now just do that for the simple events going down the list (yawn, pose, ghost_LP, etc). Info on each event and my related recommendations will be at the bottom of the post.

Exporting Sounds from FMOD

If you wanna have compatibility with other characters that may also follow this tutorial, you'll need to rename the FMOD project file, the event group inside, and the sound bank. This is a pretty simple process.

First, save your project and close FMOD, then rename the FMOD project to a name related to your character. (eg. templatevoice)

Second, back inside the project, click on voiceevent, which should be above all the events like talk_LP and yawn, and rename it to a name you'll remember related to your character (eg. templateevent). You may only be able to rename it through the grey properties window on the right, in the name category.

And third, rename the sound bank associated with your file to the same name as your project file. Click over to the Banks tab near the top of FMOD, and click the bank named customvoice, rename it to whatever you've named your PROJECT FILE (eg. templatevoice). You may only be able to rename it through the grey properties window on the right, in the name category.

Now we can make the files the game uses to play the sounds. In FMOD, press ctrl-B on your keyboard, you should get a window like this  

image.png.054917f9c9c28b64f11781e533f6954f.png

Make sure to check the box next to your sound banks.

Now click Build. This will save a version of your sounds in a format the game can read, in the form of a .fev and .fsb file, but it does not update automatically with the project, you'll need to Rebuild each time you make changes and want to update those files, with this same menu. Keep track of what those two new files are named, you'll need them for the next final section

Keep in mind that any changes done in FMOD itself need a full game restart to properly take effect, even after you build the new files.

Using your exported sounds

Now our last step in actually getting this to work, we'll need to update our character's LUA file with a few lines of code.

In our characters assets table near the top of the file, we'll need to add something like

Asset( "SOUNDPACKAGE", "sound/customvoice.fev"),
Asset( "SOUND", "sound/templatevoice.fsb"),

Of course, being sure to change customvoice.fev and templatevoice.fsb to whatever your files are named respectively.

Then, down in local master_postinit, we'll need to change inst.soundsname = "x" to whatever the name of the event group inside the project was, in my case it was templateevent.

inst.soundsname = "templateevent"

Then finally, we need to add a line below that to make the game search in the right place for our character's new voice, as by default it will search in it's own files.

inst.talker_path_override = "customvoice/"

This should be named the same as the .fev file, without the .fev part, and with a / and the end.

And we've done it! Save your lua file and launch the game, your character should have it's own voice now!

Sound info/recommendations

talk_LP
(Plays when an alive character talks)

I recommend 5-8 sounds here, more is fine if you want though.
Also, don't depend on sounds lasting more than 1.5 seconds here, they'll get cut off by the game at around that mark.

Note to musicians:  Change up your keys here, making everything the same key makes it sound a bit bland, though this is purely subjective. Other thing, don't be TOO melodic with your pieces if you wanna keep to the vanilla style, Klei, little disjointed pieces are perfect, I tend to like at least 2 melodies per sound clip. Wheeler is a good example of this in action.

yawn
(Plays when a player uses /yawn, or is about to fall asleep)

One about 1-2 second sound only, try to make it sound tired, a good way to do that is by pitch bending it up and down.

pose
(Plays when a player uses /pose)

One quick sound only.

Note to musicians: I like doing one chord stab here, or some other quick harsh note, while still sounding pleasant, though this may not work depending on what kind of synth or instrument you're using.

ghost_LP
(Plays when a dead character's ghost talks)

5-8 quick sounds like with talk_LP, easiest way to do these ones is to put your talk_LP files through a filter of some sort.

Note to musicians: Low pass filters are amazing as an easy way to make talk_LP's sound ghost-like, but depending on what kind of synth or instrument your using it may not sound great. I'd suggest experimenting with anything built into your music software to get it to sound nice and ethereal.

emote
(Plays when a player uses any emote command that doesn't have it's own sound, like /bonesaw, and /dance)

One about 1 second sound here. If you're lazy you can use the same one used for pose.

death_voice
(Plays when a character dies)

One about 1-2 second sound here, try to make it sound like it's dying, a good way to do that is via pitch bending like with yawn.

Note to musicians: I personally love using either flat-5 or diminished-7 chords and then pitch bending downward for about a second.

hurt
(Plays when a character takes damage from an attack)

3-5 about 1 second sounds here, any longer than that and you risk the game cutting them off, and them sounding annoying.

Note to musciains: Keyboard slamming is awesome for hurt sounds.

eye_rub_vo
(Plays when a player uses /sleepy)

One about 1-1.5 second tired sounding sound here, if you're lazy you can use the same one used for yawn.

sinking
(Plays when a character sinks with a boat)

Not many recommendations for this one, a scared/distressed sound is probably best, you can use the death or hurt sounds if you're a bit lazy.

carol
(Plays when a player uses /carol)

One musical sound file, I tend to prefer 13.429 seconds exactly to match up with the length of most of the vanilla characters, but not even Klei kept that length consistent (I'M LOOKING AT YOU WANDA), so 13-13.5 is a pretty safe value. The

Note to musicians: I've included 2 .midi files in this post for the carol which you can use in whatever tracker or DAW you're using. One is the normal single voice midi that most of the vanilla characters have, and the other has a couple extra chords thrown in there that I like for my own characters. Use whichever one floats your wagstaff. If you wanna change it a bunch or something, the key doesn't matter so shift it around as you like, but keep the bpm at 73 (in 4/4 triplet count) or else you'll get pretty out of sync with other character's carol.

Also second thing, if you're using an instrument or synth with a lot of reverb, you may wanna tone it down, the game has it's own reverb, and with the way it loops the sound it might not sound nice with too much of your own.

 

AAAAAAnd that's it! I hope the tutorial was effective for you, leave a comment if you're having problems and I'll do my best to help you!
Also, sorry if anything is missing or broken in this guide. I made sure it works after writing it, but I'm also severely sleep deprived at the time of writing, so something could be missing.

template_carol.mid template_carol_monophonic.mid violin_voice_example_SOUNDS.zip customvoice.fdp

 

I'm not kidding when I said I'm sleep deprived at the time of writing, I spent from about 2 AM to almost 9 AM writing this, I'll fix anything that needs fixing tomorrow lol.

Edited by Wonderlarr
  • Like 7
  • Health 1
Link to comment
Share on other sites

hey so i followed an older tutorial originally which worked fine, but didnt have the newer sounds (sinking, carol & eye rub) and the way it was set up it used remap sounds and specific paths for each sound.

I tried your tutorial, and used your fdp file and the sounds themselves work but the game crashes like 10 seconds in. i cant seem to find a reason. with the qol update theyve changed the crash logs and so thats not really helping me either. 

in the other tutorial they ticked the "successive loop" option for talk_lp and ghost_lp (i used this option in mine, would this break things?)

Also, I dont code so forgive me if im making a mistake here, but you said to add the 'asset sound package' part to the character.lua not the main.lua, but the asset table is in main.lua.

even with those little differences im not sure where ive gone wrong :/ 

Link to comment
Share on other sites

On 3/27/2022 at 4:46 AM, petrifyyoursoul said:

hey so i followed an older tutorial originally which worked fine, but didnt have the newer sounds (sinking, carol & eye rub) and the way it was set up it used remap sounds and specific paths for each sound.

I tried your tutorial, and used your fdp file and the sounds themselves work but the game crashes like 10 seconds in. i cant seem to find a reason. with the qol update theyve changed the crash logs and so thats not really helping me either. 

in the other tutorial they ticked the "successive loop" option for talk_lp and ghost_lp (i used this option in mine, would this break things?)

Also, I dont code so forgive me if im making a mistake here, but you said to add the 'asset sound package' part to the character.lua not the main.lua, but the asset table is in main.lua.

even with those little differences im not sure where ive gone wrong :/ 

Hey there! Sorry for missing this comment, I was off the forums for a while when you left it. I hope you've solved your problem by now, but if you haven't, please post your logs for when the game crashes. Neither loop option should matter unless something has gone terribly wrong with FMOD.

It's likely related to the asset table issue you mentioned, what do you mean that it isn't in your characters lua file?

Link to comment
Share on other sites

I'm having an issue while following this tutorial. While trying to build the .fev and .fsb file after following all the steps, FMOD only generated a .fev file, no .fsb file. I tried to redo the tutorial, but FMOD still doesn't output an .fsb file.

Do you know any reason this might be happening?

EDIT: Nevermind, I didnt properly turn the midi for the carol sound into a wav, so it got angry about the filetype not matching. Tutorial works great!

Edited by WubbleWubble
Link to comment
Share on other sites

Hi, I have a question. Could you edit the guide to recommend a couple of free (and preferably user-friendly for the not-so-musically-inclined folk like me) trackers/DAWs? I don't really know of one that will open MIDI files, replace the instruments with decent ones (I'm looking to do marimba, vinyl scratching and orchestra hits, specifically), convert to MP3 for the carols, and not be a total headache to work with. Thanks!

Link to comment
Share on other sites

On 10/3/2022 at 4:15 AM, Garamonde said:

Hi, I have a question. Could you edit the guide to recommend a couple of free (and preferably user-friendly for the not-so-musically-inclined folk like me) trackers/DAWs? I don't really know of one that will open MIDI files, replace the instruments with decent ones (I'm looking to do marimba, vinyl scratching and orchestra hits, specifically), convert to MP3 for the carols, and not be a total headache to work with. Thanks!

I'd really love to, issue is I've never used a free one before, and even the paid one I use (Reason 11) is definitely NOT user friendly. I'd try the two mentioned in the message above this one, MidiEditor and OnlineSequencer.

  • Like 2
Link to comment
Share on other sites

Good job!Though I only know a little about English,I can understand the meaning of it.It's easy to learn that I worked out a...character who can't pronounce.IDK why the game cannot use my own sound package:((It took me about 3 hours to build it and the "carol" is an orginal music)But all in all it's a long way,much more should to be learnt.

Edited by XiaohangFerfive
Link to comment
Share on other sites

Thank you so much for the guide, I'm having one problem though the ghost sounds are quitter then the normal ones, is there a way to increase the sound using the FMOD designers program or do I have to use a sound software?

  • Spool 1
Link to comment
Share on other sites

On 3/27/2023 at 7:02 AM, Kiztru said:

Thank you so much for the guide, I'm having one problem though the ghost sounds are quitter then the normal ones, is there a way to increase the sound using the FMOD designers program or do I have to use a sound software?

I encountered a similar issue, I ended up amplifying the sounds in Audacity by a bit and then adjusting the volume to be correct in FMOD.

Link to comment
Share on other sites

So I was trying to follow this tutorial and for some reason the death_voice will not play once the character dies. Everything else is perfectly fine.

I used both the customvoice.fdp and the violin_voice_example_SOUNDS.zip that you provided to try and test it.

I'm not exactly sure what I am missing. I am, however, trying to do this with regular don't starve instead of don't starve together if that makes a difference.

Link to comment
Share on other sites

23 hours ago, Joey Vander said:

So I was trying to follow this tutorial and for some reason the death_voice will not play once the character dies. Everything else is perfectly fine.

I used both the customvoice.fdp and the violin_voice_example_SOUNDS.zip that you provided to try and test it.

I'm not exactly sure what I am missing. I am, however, trying to do this with regular don't starve instead of don't starve together if that makes a difference.

I only have experience modding DST, I've never touched DS. As far as I know, death_voice IS the correct name of the sound. You may need to make a post over on the normal DS Modding Forums.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
  • Create New...