#Babbler

451 messages Β· Page 1 of 1 (latest)

mild tapir
#

Babbler aims to create additional immersion by giving the citizens in Shadows of Doubt actual audible voices. They will now "babble" when they speak (think Animal Crossing, or Simlish), regardless of whether they are speaking near you, to you, or on the phone.

   - Civilians now babble in normal dialogues, as well as "overheard" speech that is nearby.
   - Overheard speech is quieter than "direct" dialogue by default.
   - Civilians all have unique voice pitches.
   - Over the phone citizens will sound, like they are talking on a phone!
   - There are lots of configuration options for volume and pitch and all sorts of other stuff, check the README.

Now when you knock on civilians' doors and they shout "JUST A MINUTE", you will hear it! You'll hear when you wake them up from bed, and so forth. It's pretty neat. I made a video I will attach below. This is the first version, expect additional bug fixes and features down the road.

Thunderstore: https://thunderstore.io/c/shadows-of-doubt/p/Arsonide/Babbler
Github: https://github.com/Arsonide/Babbler

smoky obsidian
#

btw, ever thought of making NPC's also have their voices based on ethnicity?

#

plus if u could make an Undertale-like dialouge mode, i would love that

toxic lotus
#

The current audio is a bit disturbing for my taste😁

noble gulch
#

How does this interact with the text speed option?

mild tapir
#

I tried to line it up with the default, but the babbling speed is independent of the text, so it may end slightly before or after the text does.

#

It is dependent on the dialog being said though, so the length will be based on what they are saying.

#

There is a config option for syllable speed though that you could use to match your text speed.

mild tapir
#

Did some experiments with text to speech tonight. I was able to pipe it into the audio engine that Shadows of Doubt uses.

#

This is just a test with one voice, but theoretically with this solution, the plugin could load any voice you have installed on your system, meaning dozens of potential citizen voices, with different accents and stuff!

noble gulch
#

Will this be an option? I do think I prefer the animal crossing voices personally

chrome rose
#

I prefer the babble option personally

smoky obsidian
mild tapir
#

I can either make it an option or a completely separate plugin. The code is going to be quite different.

#

For the babble I'd like to add some additional babble "variants", so the citizens have some more divergent voices.

#

I found some additional sound samples that give like 5 different variations.

idle wolf
#

YOOO I LOVE THIS

#

This feels like the first big game mod

mild tapir
#

I'm working on having two options in the mod - babble and text to speech, and for the babble I'm also working on some more babble voice types. Should be able to get some good work on it done over the weekend.

timid cloud
#

Great job, really appreciate this!!

mild tapir
#

Spent some time today getting from 1 TTS voice to like 8, it categorizes all of your system's installed voices by gender and is able to build a voice profile for each citizen, choose a voice to use, and adjust its pitch. The values it uses to do all of that are all 100% configurable, including pitch ranges and gender thresholds. The defaults match the stock game. I should be able to use the same system when I get multiple babble voices as well.

Was just walking around the city with all the voices running, pretty magical stuff.

mild tapir
mild tapir
#

Here's the current state of synthesized speech. I should be able to release this next week. Still some work to do. πŸ˜…

mild tapir
#

Was able to refactor everything and get Synthesis and Blurb modes working in one plugin (you choose the mode in the config). Synthesis is text to speech, and is the default at the moment. Blurb is the Animal Crossing speech.

I was also able to add mono-syllabic options to Blurb speech and options for more randomized delays and pitches on each syllable, which should allow people to do Undertale speech. I'm considering just making it a third mode because then I can create a third set of configuration options for it, which would make it easier for you guys to use it on your end because I can give it sensible defaults, and all you have to do is change one option to use it (the mode).

#

How "random" the pitch and delays are is deterministic per citizen, so each citizen will have their own variations on this speech pattern.

#

Other than that I just have one other thing to do and I can release the next version - I want to make it possible to add new types of Blurb "voices", or syllable sets. You can already add new Synthesis voices quite easily, by just installing text to speech voices in Windows, Babbler automatically uses any voices that are installed.

#

I might rename Blurb mode to "Phonetic" and call Undertale mode "Droning". Hard to name all this stuff. πŸ˜…

dapper ibex
#

This is brilliant. Definatley my favourite looking mod so far.

mild tapir
#

I was able to secure 8 new sets of phonemes. πŸ™‚

#

I need to split them up into voices and categorize the voices based on frequency.

noble gulch
#

Phonemes acquired 😎

mild tapir
mild tapir
#

So with droning mode, (Undertale speech), I set it up so every citizen deterministically picks a syllable to repeat, and deterministically decides if and how much they want to vary the pitch and vary the delay between syllables.

I looked at all the Undertale voices and approximately 40% of them vary their delay, and 20% of them vary their pitch. I've matched these chances in Babbler, but the values are configurable.

Anyway, it kind of makes it so each citizen has their own "dialect", even though they are repeating one sound.

toxic lotus
#

lmao sounds like the game is freezing up during convo

#

how come it only uses one specific word

mild tapir
#

It's not my favorite mode, but someone asked for it. Synthesis (TTS) is the default.

#

I also think it sounds a lot better when the citizen varies the pitch at least, but I wanted to be authentic.

toxic lotus
#

damn

#

still props tho, very nice mod

mild tapir
#

Yeah all the features are in finally, so I think all that's left is for me to clean up the config options, do a code review, and update the readme with info on all this new stuff. Then I can drop the new version.

noble gulch
#

The undertale voices could use a bit of tweaking, sometimes the sound byte seems to be overlapping itself

#

I wish I had the audio know-how to say what sounds off to me but I do not XD

mild tapir
#

I know what you mean, the problem happens usually when a sound is stretched too far, I think it's because the pause between syllables is "base delay + length of syllable + variance". So if a syllable has changed pitch, I don't think that is accounted for. They normally don't change pitch that much, but occasionally some of those deeper voices stretch a high pitched syllable very far down and cause it to lengthen and that isn't accounted for in the delay.

#

I'll see if I can account for pitch in the delay calculation.

#

You mostly hear it with the deep voices, not the higher pitched ones.

noble gulch
#

I think its cause in Undertale theres more processing on the soundbytes such that it doesnt sound like someone going 'a a a a a'

mild tapir
#

Actually, hold that. Thunderstore broke it. 😐

mild tapir
#

The .NET System.Speech DLL seems to be triggering their system and is failing my upload of the patch. I'll need to talk to them to see if I can get it whitelisted.

mild tapir
#

Alright now the latest version (0.9.0) has hit Thunderstore. The Readme file has information on how to swap modes, configure the plugin, and install new voices. Here's the changelog:

- Added Synthesis mode, which uses text to speech. This is now the default, because it's great.
- Added Droning mode, which is inspired by the speech in "Undertale". It's phonetic but only using one repeating syllable.
- Added eight more sets of phonetic voices, which work in both Phonetic and Droning mode.
- Added a lot of configuration options.
- Added a volume increase when NPCs "shout" in all caps.
- Fixed some errors the plugin was throwing by moving initialization of FMOD into the main menu.
mild tapir
#

I need to pick something less complicated for my next mod, like just a pack of sync disks or something.

candid quest
#

My game stopped launching with this mod 😦
Perhaps it's a matter of language, the language I play in is not English.

#

Upd.

The problem is not in the game language, regardless of the selected localization - the game now does not start, hmm

#

Empirically, I discovered that the reason for everything was Piepie Online-Asset_Bundle_Loader-1.0.4, removed this modification and the game started again.

candid quest
#

Upd. 2

Now there was a bug when logging in, instead of the main menu the game showed something strange...

I fixed this bug, but had to remove all modifications by Piepieonline 😦

candid quest
#

Another error seems to be related to this modification. After loading a save from the game, fps drops and errors in the logs

mild tapir
#

Weird, I've been playing this for weeks now and haven't seen these things, I wonder if there are interactions with other mods. st4 do you have anything else installed?

candid quest
#

Yes, many different mods

mild tapir
#

I'll install all of that and see what's going on.

#

I might be fighting over a hook with another modder.

#

Which mode are you using Babbler in?

candid quest
#

Default

mild tapir
#

Yeah if it's throwing in the SpeakerHost update loop that's not good for performance, that means you'll hit an exception every frame someone is talking.

#

Yeah with that combination of mods I'm not even able to launch, the last thing I see attempt to load is DDSLoader.

#

Yeah I just have to uninstall AssetBundleLoader (which uninstalls SODStockMarket) and it launches. I'm not seeing the exceptions after that point either. Must be some kind of conflict.

toxic lotus
#

you're breaking my mods πŸ’€

mild tapir
#

Seems to be something going on in the loading process, whatever is after Babbler fails to load, and it seems to be going alphabetically so Babbler is usually first.

#

I see them start to load but not patch Harmony so I think they are failing in the Harmony patching phase.

#

Okay if you swap to Phonetic mode the problem goes away, that is progress. 😐

toxic lotus
#

is it related to sodstockmarket or to bundleloader?

#

because i see no patching in bundleloader

#

so maybe its related to one of my patches

mild tapir
#

No it's playing that silent TTS voice to kickstart the TTS engine. It's an async process but it seems to interrupt loading somehow.

#

But the game crashes later if I don't do it, so I'll wait until the main menu to do it.

#

It kicks off the TTS voice but since it's async, that is happening while other plugins load.

#

If I return in SynthesisVoiceRegistry just before we play that sound (which happens at the end) everything loads fine.

toxic lotus
#

ah

mild tapir
#

I'll move it to the main menu and do some testing with this particular combination of mods, then release a patch.

indigo crescent
#

so is it still looking like an issue in other mods that cause this outcome, or just that combo exposes something new in yours?

mild tapir
#

I released 0.9.1 which resets everyone's config files and sets the default mode to Phonetic. Synthesis mode still works if Babbler is your only mod. So you can still use it in that instance, but I didn't want the default mode breaking stuff.

I'm pretty busy this week but I'll keep looking into this Synthesis weirdness in my free time.

toxic lotus
#

maybe you should log something when using synthesis in the logfile

#

"caution, synthetis can break with other mods" etc

candid quest
# candid quest Yes, many different mods

I decided to remove all modifications altogether and reinstall the game, because there were errors in the logs.

I added the modification Arsonide-Babbler-0.9.1 and Venomaus-SODCommon-1.1.5, but the errors in the logs remained the same as before

#

Not sure if this is critical since the game works fine.
I'm inclined to think that the changed language is to blame, but I haven't checked the logs with English yet

toxic lotus
#

can u check your plugins/babbler folder and show a screenshot of the content?

#

and additional question, are you running this through a mod manager or manual installation?

candid quest
toxic lotus
#

is there a specific reason why manual?

#

one thing I notice already is that there is no babbler.dll

candid quest
#

Until recently I never noticed any problems in the logs

toxic lotus
#

ah

#

so thats the problem

#

this is how it should be

#

plugins folder is automatically omitted by a modloader

candid quest
#

Okay, I'll fix it and test it. I haven’t seen this in the installation manual yet, maybe I missed it. Thank you!

#

Why didn’t I pay attention to this myself, it’s literally written like that in the logs, lol.

I think everything is working fine now, thanks again!

toxic lotus
#

no problem, although I do highly recommend a modloader like r2modman, so you don't miss any new updates for mods and load order is automatically correct πŸ™‚

runic kiln
#

This is great. Thanks for working on this.

dapper ibex
#

Is there any chance this could become a feature rather than a mod? Do the devs know about it?

toxic lotus
#

unlikely, you'd have to ask the developer πŸ™‚

dapper ibex
#

Sorry I meant for the Developer to work with the Modder to put it into the game.

#

Its really cool

short whale
#

For immersion, this is one of those must-haves, and it works so well, thank you for your work!

minor ocean
#

This is a fantastic mod, you outdid yourself!

mild tapir
#

Thanks everybody, I'm in the middle of a pretty crazy week at work at the moment, but I have basically identified why Synthesis interacts strangely with other mods and I have some ideas for how to fix it. Of course, in the meantime the other modes still work.

TLDR: If you are using Synthesis, Babbler needs to be the first mod that loads, and BepInEx loads mods alphabetically, so there's not many mods before Babbler.

young elk
#

Any tips on how to make it sound closer to animal crossing speech?

#

Might just be that the default phonemes are a bit harsh

#

especially this one

mild tapir
#

So what I think happens in the phoneme samples is each one of the sample sets individually really has limits on how far the pitch can stretch and what the delay between phonemes should be...whereas the config options are global for all sets.

What I considered doing was making a JSON file in each sample set's directory that configures pitch ranges and delays on a per set basis. But there are two problems with that:

A: Making those assumptions is less inclusive than having just a global option, and I was focused on being as inclusive as I could.

B: JSON files are very complicated for your average user, whereas I found the mod manager config editor to be very user friendly.
#

Ultimately I can still implement the JSON file if there's strong feedback on it though.

smoky obsidian
young elk
#

I feel like softening the start and end of each phoneme would also help, I'm not an audio engineer and I haven't touched audio software in over a decade so no idea what it's called but I mean doing whatever looks like this

noble gulch
#

Thatd be a fade-in and a fade-out

#

Thats at least what audacity calls it lol

young elk
#

ah yeah that

austere shore
#

hey, my game crashes on startup when using "Synthesis" mode. Any ideas? Droning works fine and the other one i dont test it

toxic lotus
#

read the notes on the mod

#

"At the time of this writing, Synthesis only works if Babbler is your only mod, so Phonetic is temporarily the default mode."

#

basicaly

#

make sure babbler runs as first in your mod priority (dependencies of this mod first)

austere shore
#

Didnt see it, sorry and thanks a lot

fallen grove
#

Holy shit this is actually so cool, what a good mod.

mild tapir
#

Still intending to look at the conflicts with Synthesis and other mods, probably not this weekend but next weekend. Still dealing with reverberations of chaos from last week. πŸ˜›

timber jay
#

Amazing thing. Droning seems to fit the best from all above

hasty nebula
#

Can you still get Steam achievements if you use this mod?

azure crypt
#

The async function references the synthesisVoiceRegistry which in turn is using the generic list: Human

#

Right?

#

Isnt the problem that his async thread is not allowing anything else to access the class?

#

Because it aint being patched before instantiating the next plugin?

I’m asking as mostly for help with my own understanding

mild tapir
#

No my crash is coming from within Microsoft's Speech Synthesis API, like in native code.

bleak torrent
mild tapir
#

It's just using speech synthesis, you can install any voice you want.

#

Also Tik Tok did not invent text to speech. πŸ˜›

orchid pawn
#

Yeah ik

#

lol

#

It just seems super goofy, I wonder how hard it'd be to add some form of sans voice

#

A voice that doesn't make any sense whatsoever but is, babbling, basically

orchid pawn
# mild tapir

I'm not a fan of the way the speech carries on after the dialogue is visually finished

timber jay
#

Droning is the choice

mild tapir
#

One of them sounds like Animal Crossing and one sounds like Undertale.

orchid pawn
#

Imagine when AI becomes so advanced that they're free to use like it's free to watch youtube videos basically

#

Videogames will benefit the MOST from AI

#

Prove me wrong

#

Videogames are literally the perfect sandbox for AI

#

Full simulated NPCs, and I mean completely simulated, not preset like SOD right now

#

Imagine walking up to an NPC and telling it to "give me the peace sign, salute, run around 3 times, jump, shoot that guy and stomp on his head"

#

And it's completely simulated to perform any action, obviously, you wouldn't be able to just boss them around but you get what I mean

#

Like they can actually perform new tasks that no NPC has ever done before

#

And there's no predetermined animations

#

Couple that with AI speech synthesis and u literally have half a matrix

#

If it was a detective game, it'd definitely make billions, GTA 6 level stuff

hot yarrow
#

it would just be a life simulator

#

you could probs choose any career that you want

#

not sure how you could even afford a game (or anything) like that because most jobs would be taken by ai robots n stuff

orchid pawn
#

that would be even better

#

I feel like it's a massive understatement when saying a matrix game would be profitable as fuck

#

Not even protitable

#

You could be anything u wanted in there

#

Do whatever u want

#

A game like that would hit billions of sales in the first week

#

The only downside to a game like this

#

Is updates

#

U can't rlly "Update" a matrix simulation game

#

Everything is procedural so there's no pre determined rules to update

#

I guess you could squeeze in some updates changing HOW the world generates but

proven basalt
#

Seriously. We might be at that point in less than a decade. I still can't believe chat-bots are a thing.

static tapir
#

Can someone tell me what part of the config file I can use to speed up speech? Like, I don't want to change pitch, I just want to change the rate of speech.

For Phonetic and Droning there's a Speech Delay parameter, which adjusts overlap which is pretty close to what I'm looking for, but there's no option like that for Synthesis, yeah?

mild tapir
#

IIRC it was difficult to do this in FMOD because changing the pitch without changing speed is difficult and requires you to distort the sound. However, now that I think about it I think it's an option in the actual text to speech synthesis API. So you can modify the speed prior to the sound being generated.

I might be able to add this option, I'll look at it this weekend. Would you want it to be one global option, or a range NPCs can use randomly, so different NPCs speak at different rates?

static tapir
# mild tapir IIRC it was difficult to do this in FMOD because changing the pitch without chan...

I mean, if you're asking me, I say do whatever's less of a hassle for yourself, up to and including nothing!

But otherwise I would just like it because the speed of speech lags behind the speed of text often, and once you know the common phrases, you're reading the text very fast, and it feels like the conversation is being drug out longer than it has to be.

So a global option would more than suffice. There's already plenty of gender-related, random-related levers to pull.

gentle edge
toxic lotus
#

Yeah you can drag mods before others

#

And it should run in that priority

#

Idk if it can be forced through code (other than setting dependencies)

gentle edge
#

Are you talking about r2 or the Thunderstore App?

toxic lotus
#

R2

gentle edge
#

There doesn't seem to be any dragging features for me

toxic lotus
#

It looks like a square with dots

#

On the right side of each mod

gentle edge
#

I don't have that on mine. I have 3.1.47

toxic lotus
#

Download latest version then 😁

gentle edge
#

It is the latest version

toxic lotus
#

Mhm

gentle edge
#

Figured it out for anyone having trouble. You have to have both Sort and Disabled set to custom. Just one will hide the option

#

Custom ordering doesn't seem to affect anything though. BepIn still tries to load everything in order of dependency and then alphabet.

#

Here's the temp fix I made if anyone wants to use it. It'll use a different config file since it's based off of the GUID name. If you want to make it yourself instead download the GitHub repo and change the GUID to AABabbler or something else that'll load first; dependencies are available in your BepInEx folder except for UniverseLib which you have to find online.

mild tapir
#

I tested a similar fix but it felt bad so I hadn't released it.

#

It worked, it just seemed icky. πŸ˜›

gentle edge
#

It's just a temporary one for anyone that wants to play with Synthesis right now. I'm sure you'll find a solution.

toxic lotus
#

I find it odd why it fails when other mods are initialised

mild tapir
#

I think the true fix would be to find another local TTS solution other than the one built into Windows. Microsoft no longer supports its native local text to speech playback.

#

They are moving more towards Azure based TTS. But Azure based TTS takes an API key and costs money so it's not scalable for a hobbyist modder.

#

There's some problem with how it's initializing the TTS engine threads in the Harmony / BepInEx environment, and I've tried many workarounds, but it's in the API itself, and Microsoft's probably not patching it.

toxic lotus
#

Is there no alternative TTS?

#

Other than microsoft

#

That is free

mild tapir
#

There's a few but none of the ones I've found are very good.

toxic lotus
#

Have u tried async

#

Maybe it behaves different in another thread

stiff idol
gentle edge
#

A fellow Synthesis enjoyer

#

I also recommend Misc Dialog over on mod.io if you use Synthesis. It adds a bit more background dialog to the game and makes things more immersive. You can put the files in the DDSLoader mod folder under AdditionalContent; just copy the layout of the examples it has.

stiff idol
#

Thanks for the tip, will definitely do !

indigo crescent
stiff idol
#

Oh by the way, is that me or are the volume options not working with synthesis?
With Droning just increasing by 0.1 makes a lot of difference, with Synthesis I went all the way to 1.0 without noticing any clear increase in volume.

gentle edge
#

Are you using the right file? With the temp fix I made the config is AABabbler.cfg instead of Babbler.cfg

#

For all normal speaking I increased it all by .3 and for all shouting I decreased it by .3

stiff idol
#

Yup, if I wasn't I wouldn't have been able ton enable Synthesis ;). I'm editing the AA file

gentle edge
#

It's been working for me but every audio setup is different. I know I can hear the volume differences a lot easier with headphones than with speakers so maybe play with it some more. If shouting is loud for you it should be working

stiff idol
#

Maybe. It's not a big problem anyway, just a bit too low for my taste

#

Thanks πŸ˜‰

gentle edge
#

Np. If you're still having problems later I can glance at it. I'm not the mod author though so they'd know the code better than me.

mild tapir
#

It must be first, or the game crashes. 😐

toxic lotus
#

so odd... πŸ˜„

mild tapir
#

I might actually just go the AAA_Babbler route with an actual release, but that will only work until another mod comes along as AAAA_Mod. 😦

stiff idol
#

Then you'll switch to AAAAA. Let the duel begins !

hasty nebula
#

How do I install this manually?

toxic lotus
#

Put it in gamefolder / bepinex/plugins

hasty nebula
#

Love this mod

#

I wish it was an actual feature in the game

frail python
#

quick question, if I download french voice to windows, will some npc's have french accent?

mild tapir
#

They should speak English words with a French voice, which yeah, may give it an accent

hasty nebula
#

les jeux sont fait

obsidian jungle
#

just got this mod working and its great, love it

mild tapir
#

Stuck at work, anybody know if Babbler is working on the new version?

sacred depot
#

perfectly working for now πŸ™‚

#

scratch that

#

I've tried with Synthesis and have a crash on load

#

how can I send you the trace (if there's any ?)

indigo crescent
#

"At the time of this writing, Synthesis only works if Babbler is your only mod, so Phonetic is temporarily the default mode." from the mod readme

mild tapir
#

Yeah are you using another mod that loads prior to Babbler?

#

I think I'm just going to do the aaaa thing this weekend. 😦 It weirds me out but it would fix this issue...and that's all that matters.

indigo crescent
#

yea, it's the kind of fix that feels gross... but we are unlikely to have that issue again with the number of mods, so probably worth it

sacred depot
#

also the sounds don't trigger on certain sentences

#

seems like it's the new ones

#

not sure yet

mild tapir
#

Sounds should trigger on any dialog, there are filters for sentences that start with symbols though, and sentences with repeated letters. (This is to filter out "emote" dialog, like <Brrrrrrr> or Zzzz.

sacred depot
#

kk

mild tapir
#

I just did some quick playtesting and it seems like exceptions are being thrown in the new version very rarely when it tries to create a person's voice, which would result in them not being audible.

#

I'm just going to collect a list of stuff that's piled up on my TODO list for an upcoming patch here in a list so I don't forget:

    - Get Babbler to load before everything else, which will probably mean renaming it to AAAA_Babbler. :(
    - After doing that, make Synthesis the default option since it isn't crashing anyone on load anymore...and it's just better!
    - Add options for Synthesis voice speeds, a configurable minimum and maximum probably.
    - Investigate exceptions in the newly released version and resolve them.
mild tapir
#

Got most of this handled, I'm going to do some playtesting tonight to make sure it's stable, should be able to release in the morning.

mild tapir
#

I just released version 0.9.2 of Babbler, here is the changelog:

   - Force Babbler to load first, fixing crashes when Synthesis mode is active. This will cause the config file to be named "AAAA_Babbler" now.
   - Babbler will attempt to rename your old config file to "AAAA_Babbler" to preserve any settings you set up in older versions.
   - Made Synthesis the default option again, now that it no longer crashes the game with other mods installed.
   - Added configuration options to Synthesis for minimum and maximum speech speeds, which are persistent from citizen to citizen.
   - The "operator" on the phone, like when you call for numbers or enforcers now has a persistent voice. Their voice changes once every eight hours.
   - If you walk away from the phone while talking to a person giving you a job, they now continue speaking with the right voice.
   - If Babbler cannot locate the citizen speaking some dialog it will fall back to a random voice and print an error clearly now.

I decided not to reset config files with this version, so it should try and rename your old config file and retain your settings if you modified them. But if you were not using Synthesis, I highly recommend you try it now that it is stable.

mild tapir
#

And immediately following up 0.9.2 with 0.9.3, I started a new game and noticed some issues that were probably there already, and some that were caused by some of that new fallback code:

   - Fix Babbler behaving strangely during the intro "Dead of Night" scenes and cutscenes.
   - Babbler now ignores player dialogue and player internal monologues.
   - Patched spot where Babbler could rarely orphan a dialog speaker, which would cause it to spam errors.

Basically what was happening was the player's internal monologue, and any cutscene popups would be spoken by a random civilian somewhere in the city. Fun.

idle wolf
#

This is a mod that you just wish is in the main game with how much it adds SoDgloss

hasty nebula
#

Is Synthesis the configuration that lets citizens actually speak?

#

i forgor

mild tapir
#

Yeah it stands for Speech Synthesis. The other modes just play little wav files in sequence like babbling.

hasty nebula
#

I'm gonna give it a try once i get home

#

hopefully it's gonna work this time around

#

really makes the NPCs feel more alive

scarlet mango
#

Why can't I find this mod on the in game mod store?

toxic lotus
#

the in game mod store are not bepinex mods

#

they only contain DDS mods (text, conversation, vmails etc)

mild tapir
#

Babbler literally wouldn't be possible without BepInEx, and as Venomaus says, the in-game store does not show BepInEx mods.

scarlet mango
indigo crescent
#

Nope

mild tapir
#

Had a weird report of some loading issues with Babbler and the new version of SOD Common, I don't think Babbler was the cause, but I put out 0.9.4 with the latest version of SOD Common just as a precaution.

green bramble
#

Hey, big fan of the mod. Wouldn't want to play the game without it at this point. Just one question: I've had a weird thing happen. My PC is set to English and so is my Steam, the game itself and the modloader. I do however have a German language pack installed for being able to use German units and keyboard layout. It doesn't seem to be possible to uninstall just the German voices without the rest of the pack. This however leads to some NPCs speaking English with a German voice, thus spelling many words instead of fluently saying them which takes forever (in addition to sounding ridiculous). Is there any way around this?

mild tapir
#

I don't think there's anything that can be done about this now, but maybe I can add an option to an upcoming version to exclude certain Synthesis voices.

green bramble
#

That would be fantastic!

hasty nebula
#

I have the same problem with Italian

#

but honestly for me it makes it even better because not everyone is capable of speaking a fluent english

jade ore
earnest valley
#

Hello guys! Is anyone know how fix that problem? I am much hours try to fix this but i dont know how : (

mild tapir
#

My guess is you don't have permission to mess with the config file.

#

Open up this folder:

%AppData%\r2modmanPlus-local\ShadowsofDoubt\profiles\Default\BepInEx\config
#

Delete anything with the word "Babbler" in it, then try and start again.

vale vessel
#

Hello! Synthesis works, but other TTS methods not. How i can fix this?

mild tapir
#

That's weird, I would make sure the wav files extracted properly.

#
%AppData%\r2modmanPlus-local\ShadowsofDoubt\profiles\Default\BepInEx\plugins\Arsonide-Babbler\Phonemes

It should be somewhere around here, you might need to change "Default" depending on what you named your profile.

#

What you should see is a bunch of folders of Phonemes with lots of wav files in them. If you don't see that, something didn't install right.

rancid venture
#

is there a way to only get certain accents with the synthesis version?

mild tapir
#

I have to go out of town for a few days this week, and shortly after that I'm going to release another mod that adds 3 sync disks with 6 upgrade lines related to vents and moving through vents.

#

After that I'm going to circle back around to Babbler and add an option to exclude voices from Synthesis. I'll also remove the config upgrade process that's erroring out in Tio's screenshot. And I've noticed a new emote voice I want to filter, that just says "(Heavy Breathing)". Not sure if it's from a mod or the stock game, most stock game emote voices start with brackets, not parentheses.

mild tapir
#

So two bits of good news.

A: My trip was cancelled so I can patch earlier.

B: I found a bug in the Microsoft Speech Synthesis API that causes about 66% of the voices to not be recognized on Windows 10 / Windows 11. I also found a workaround for this bug. Which means in the next patch, voice variety will dramatically improve if you have more than about 3 voices installed.

#

I noticed this immediately when I started working on the voice blacklist / whitelist functionality.

rancid venture
mild tapir
#

Yeah Babbler uses Microsoft Speech Synthesis for Synthesis mode, so it's pulling from installed voice engines in your Windows speech settings. This is explained in the readme near the bottom.

The bug I found is that some of the newer speech synthesis voices are installed in a secondary location, but the speech synthesis API was not updated to be able to find this secondary location.

#

Third party voice engines also install to the same place, like ones you find for Voice Attack on Flight Simulators or whatever.

rancid venture
mild tapir
#
### Adding Voices (Synthesis Mode)

Adding new voices in Synthesis Mode is as easy as installing them on your Windows 10 / Windows 11 machine. To do this, go to **Settings->Time & Language->Speech**. At the bottom under **Manage voices** you can install new voices. At the time of this writing there are five English packs with eleven voices in them. The more voices you add, the more diverse your NPCs will sound, so I recommend installing as many as you can, because it's great.

Note that any time your available voices change (when you install new ones or uninstall old ones) it will cause the voices of NPCs in existing cities to change to accommodate the newly available voices.
#

Holy heck, I just fixed the missing voices and it's so much better.

toxic lotus
#

@mild tapir there anything else you need/want in sod.common before i release new version?

mild tapir
#

Not except that sync disk fix.

mild tapir
#

I just released version 0.9.5 of Babbler, it ended up having many more changes and fixes than I was expecting:

- Fixed a bug with Synthesis that was causing 8 out of 11 of the default Windows voices to not be detected. If you use Synthesis and have all of the default Windows voice packs installed, you will see a huge bump in voice variety.

- Added options to Synthesis mode to create a whitelist or blacklist of speech synthesis voices. This allows you to block or allow certain voices if you want. Instructions for how to use these new options are down in the configuration section of the README.

- Fix individual citizens changing their voice characteristics if you close and open the game again. Voices stay persistent now.

- Added more aggressive detection of "emote text" that we don't want to speak, for example: (Heavy Breathing).

- Fixed a memory leak caused by Synthesis speakers not properly "pooling".

- Improved and hardened a config upgrade process that was throwing errors for some users.

- Updated SOD.Common to version 2.0.0.

This should go live in about 15-30 minutes on Thunderstore.

rancid venture
toxic lotus
#

you should get a notification in the modlauncher asking to update the mod to the latest version

#

(atleast it is the case if using r2modman)

sage fractal
#

love the mod!

#

how do i change from text to speech to the babbling? i don't see any options in r2mm

#

currently trying to figure out which of the 3 i prefer

toxic lotus
#

these are the available modes

#

they are in the babbler config file

mild tapir
#

Droning and Phonetic are basically the same thing, just droning it chooses one syllable per citizen to repeat, and phonetic will try and spell things out.

Think of droning like Undertale speech, and phonetic like Animal Crossing. They aren't perfect renditions, but approximations.

sage fractal
#

sweet! thanks y'all

sage fractal
toxic lotus
#

brother

#

open r2modman

#

and click on config editor

sage fractal
#

OH

#

OOPS
LOL

young elk
#

Any chance you could add a blacklist to specific phonemes? And maybe add a max voiceline limiter? There is one specific phoneme that just wrecks my ears

mild tapir
mild tapir
#

Then every citizen will have piitch variance. The "Min Pitch Variance" and "Max Pitch Variance" options will widen how much the pitch can vary.

young elk
#

I think the default pitch variance sounds great, just needed everyone to have it

mild tapir
#

I agree the variance sounds better, but the initial ask was for Undertale voices, I've never played Undertale, but I watched all the voices on Youtube and about 1/5th of them have variance, so that's the chance I set for the default.

young elk
#

I wish I could like the windows voices though, they just sound so.. old nowadays

#

It's a bummer that voice ai would probably take too much processing power to run on the machine and pawning it off to a sites api would both be way too slow and has the problem of price, slow generation, and that they can't really prove their training datas clean

mild tapir
#

More modern text to speech options are usually processed on a cloud service these days, and those cost money, so I'm stuck with local TTS.

young elk
#

The nuclear option would that there's only so many things they can say so it could be pregenerated, but then mods that add text would have to generate it for those too

#

and wouldn't work with names

mild tapir
#

Babbler started with the phonetic mode, but my friend asked for Synthesis. I grew to like Synthesis more.

#

It sounds somewhat artificial but it's still very nice to hear the words spoken.

young elk
#

yeah, I might like it if I sped it up a bit maybe

mild tapir
#

And the Onecore voices sound nicer than the older ones.

young elk
#

Onecore?

mild tapir
#

Windows 10 / 11 voices, I fixed a bug recently that made it so they weren't detected.

young elk
#

not what I wanted to be flashbanged with google :v

#

How do you know if you have the onecore ones

#

just got these

mild tapir
#

Most of those are Onecore voices.

young elk
#

happen to have a list of the ones that are?

mild tapir
#

Not on me, I scanned them recently and there are 11 voices in those default packs, and 8 of them were Onecore, I think David is an older one.

young elk
#

Yeah david's like, the one I feel is the oldest that they still ship

mild tapir
#

There's a "blacklist" option in the latest version of Babbler that lets you forbid certain synthesis voices.

young elk
#

Ohgod Sean sounds blasted at the default speed, since irish speakers tend to speak faster

rancid venture
#

Now I can not have 50% of everyone have UK accents in neo-new-new-york

tame spire
#

Hi. I see [Error : Babbler] FMODRegistry failed to create sound "MemoryStream" at OnSpeakCompleted. Error: ERR_PLUGIN error in the console when I try to speak to NPCs or they speak to me instead of hearing their voice. What could be the cause of that?

#

UPD: I can hear voices of some NPCs without errors but not all of them

mild tapir
#

I need more information, what mode are you in, what speech synthesis voices you have installed, etc.

#

Maybe a log file and especially a save file would help.

#

If you save right in front of one of the NPCs that's exhibiting the problem, and tell me who they are, that would be ultra mega helpful.

tame spire
mild tapir
#

It's just the installed voices in Windows, are you using Synthesis mode?

#

Or Droning / Phonetic modes?

#

The Windows voices are only relevant in Synthesis mode.

tame spire
mild tapir
#

Is that the full error?

#

Usually they look like this, ERR_PLUGIN_MISSING, and then a reason.

tame spire
#

Maybe I need to turn on some kind of debug or verbose log, idk 🀷

mild tapir
#
FMOD_ERR_PLUGIN
    An unspecified error has been returned from a plugin.
#

I'm suspecting you may have some weird codecs installed or something...but it's hard to say without a repro.

#

The audio engine is returning an error that's coming from the audio plugin itself.

tame spire
#

I'm unable to reproduce this error now. Since there's MemoryStream in the error, I suppose it could have been caused by not having enough RAM for the Babbler to work properly. But not sure. I'll check if I'll see this error again

#

I have system with 16GB or RAM but also browser and IDE started so it's possible that they've consumed a lot of RAM 🀷

tame spire
#

My message with info about this problem was automatically removed (probably by the bot or some kind of discord flag system. Or because of file attachments, idk)
In case somebody else will have the same error and you'll need to investigate it:
I'm using Windows 10 OS with English (United States) and Russian language packs installed and (screenshot) voices installed.
I'm using synthesis mode in-game. There was no other relevant info in the console (BepInEx console opened with the game) other than [Error : Babbler] FMODRegistry failed to create sound "MemoryStream" at OnSpeakCompleted. Error: ERR_PLUGIN. I'm not sure if there was relevant info in log files though (only checked BepInEx/ErrorLog.log file and it was empty).
I'm also using a bunch of other mods together with Babbler (screenshot 2)

mild tapir
#

Hrm, I've never tested with non-english packs installed but it should filter them. Might be something for me to check out.

#

Thanks for the report though, I hope since you can't repro it that's a good sign that you don't see it anymore. πŸ˜›

young elk
young elk
#

Main problem was that whenever they said numbers they said it in danish, if numbers where filtered to be letters rather than numbers before being sent to it, it might work fine(For example 47 getting changed to forty seven)

ivory plank
#

Not sure if this has been reported before but it appears that Babbler ignores phrases with "..." at the end

mild tapir
#

That's probably because I filter any line with characters that repeat 3 times. The intention of that is to not have Synthesis try and speak onomatopoeia like "Zzz" or "Brrr".

#

Should probably only do that with letters though.

junior yoke
#

this is good stuff folks

narrow rune
#

hey so im using the default volume settings and its still really quiet, any advice on a good reasonable volume level?

#

ive been screwing around with various levels but i cant find one that works

gentle edge
#

Here are my settings

#

It's mostly good besdies the shouting - sometimes it's a tad on the loud side

narrow rune
#

thank ye

gentle edge
#

In-game too

#

The other stuff is also at 100%

narrow rune
#

ah

mild tapir
red silo
#

I'll try those settings too. See if that'll make it appear a bit more audiable. cause right now, it's less of a babbler, and more of a mumbler.

narrow rune
#

but yeah the mod is great outside of the ellipses bug and some issues with numbers not being read out as a single integer (word?)

red silo
#

Not a major issue for me, i'd just like to be able to actually HEAR it... even if it sounds like good ol' Microsoft Sam with different pitch πŸ˜‰

narrow rune
#

i wish the banjo&kazooie style chatter sounded a bit better tho its kinda loud and scary

red silo
#

wait what?!?

#

OOH RIGHT

#

This mod has 3 kinds of types of voices

#

I need to experiments with the other voices... and if it really sounds Banjo&Kazooie... that'll be the best!

#

Does not to be 100%, but just sorta close enough

#

which of the 3 voices is the B&K voice-alike ??

mild tapir
#

In the config options, set your mode to "Droning", then in the droning section, there's an option called "Chance Pitch Variance". Set that to 1.

#

That should hit closest to Banjo Kazooie for you.

past mortar
#

This is a cool mod

mild tapir
#

Just a heads up, I'm going to be patching Babbler after 1.0 comes out, I just think it's a good idea to recompile against the release version. I'll also be refactoring a few things, nothing exciting.

While I'm doing that, I will also get the "..." issue sorted out.

#

What I'm saying is if you guys have any suggestions for that patch that I may not be thinking of, now is the best time to get them into my TODO list.

proper elk
#

During some dialogues the citizens fail to emit any noise, i notice this with the "Have you seen anything sus?", "Do you have any rooms available?" and "Can i take your fingerprints?"

random imp
#

Are they failing to emit noise or are you walking away after they tell you to piss off? I have noticed that there can be significant distance falloff

proper elk
#

It goes like:

I did see someone acting sus (Cannot hear it)

They had short brown hair hair (Can hear it)

gilded quartz
mild tapir
#

Or is it specific lines.

proper elk
proper elk
#

not too bad of an issue but i thought i'd get it out there

mild tapir
#

I'll check it out.

mild tapir
#

Yep, that one also has ellipsis.

mild tapir
#

Alright got the ellipsis issue fixed locally, I'm going to wait to actually release the patch until after 1.0 though.

proper elk
#

Ohhh makes sense!

#

Ty for fixing it, and awesome mod

mild tapir
#

I added another fix for when people "shout", often it will "spell out" their words in Synthesis mode. "W H O is I T?" Now for shouting it just converts to lower case which causes it to be pronounced properly because it isn't seen as an acronym.

#

I'm thinking I also want to add an option that causes "emote speech" (e.g [Cough] [Sneeze] etc) to play sound effects. I'll add 3-4 variations of each, per gender.

#

I just need to find the sound effects.

mild tapir
#

Next version of Babbler is still a work in progress, but here is a preview of the changelog (so far):

  • Added emote sound effects, that play when Babbler encounters emote speech like [Sigh] or [Clears Throat]. These come with over 40 sounds and two configurable themes: Realistic and Abstract. You can also add your own themes, instructions are in the readme. They can also be disabled entirely.
  • Added a JSON file that can do string replacements on certain dialog lines to make them sound better. For example, changing brrr to burr for TTS engines to pronounce better. Instructions for adding your own replacements are in the readme.
  • Configuring Babbler has become complicated, so I've added a Template option in the general settings. Assigning this value will reset all of your settings to one of several presets, like Text To Speech, Animal Crossing, Undertale, or Banjo Kazooie, without you needing to change all the options yourself.
  • Fixed issue with ellipsis (...) causing dialog to not play.
  • When shouting all caps, Babbler now converts the dialog to lower case. It will still play louder, but this will help stop TTS engines from interpreting words like WHO as acronyms.
  • Dialog was quieter than I remember it, so I've tweaked the default volumes a bit.
  • Dependencies have been updated.
mild tapir
#

The templates I set up so far are:

Text To Speech - This is Synthesis mode with Realistic emotes. This is actually the defaults for Babbler in general.
Animal Crossing - Phonetic babble speech, abstract emote sounds.
Undertale - Droning mode, also phonetic, but monosyllabic (each citizen can only make one sound repeatedly). Also abstract emote sounds.
Banjo Kazooie - This is Undertale, but with guaranteed pitch variance and a wider pitch variance range. To put it simpler, the voices sound more "melodic", and less robotic.
Minions - This is Animal Crossing babble, but with the same pitch variance treatment. It's more melodic, with guaranteed pitch variances at wider ranges.

This should make it easier for people to pick defaults they want. If you guys are using Babbler settings in other ways let me know if there's more templates I can add.

zenith sequoia
#

Thank you so much for your mod! it seems to be working fine with 1.0 (without other mods installed)

mild tapir
zenith sequoia
#

emote sounds will be nice πŸ™‚

zenith sequoia
#

what volume bar does your voices use? they're pretty faint

mild tapir
#

They don't use volume bars, they have configuration values in the config editor in r2modman.

#

They used to be louder, I think something changed in a more recent version that made them quieter.

#

But I'm doing a volume rebalance with the upcoming version, if you want though you can resolve this before then by configuring the volumes in the config editor.

mild tapir
#

I just released version 0.9.6 of Babbler, now with extra farts:

- Added emote sound effects, that play when Babbler encounters emote speech like [Sigh] or [Clears Throat]. These come with over 80 sounds: burps, chuckles, throat clears, coughs, farts, gasps, heavy breathing, hiccups, sighs, sneezes, whistles, and yawns. They come in one theme for now: Realistic. You can also add your own themes, instructions are in the readme. They can also be disabled entirely.

- Abstract emotes that sound more like Animal Crossing or Oxygen Not Included will be coming in a future patch for those templates.

- Added a comprehensive audio occlusion system for Babbler speech and emote effects. This will adjust the volume and position of sounds coming through walls, doors, etc.

- Added some incidental emote sound effects that are not associated with dialog, described below.

- NPCs can now burp while eating, depending on their personality, whether they are home, and their drunkenness.

- NPCs can now fart in the restroom, depending on their personality, whether they are home, and their drunkenness.

- NPCs can now hiccup as they walk while drunk.

- NPCs can now chuckle and gasp while watching TV, depending on their extraversion.

- NPCs can now whistle in the shower, depending on their extraversion and creativity.

- Added a JSON file that can do string replacements on certain dialog lines to make them sound better. For example, changing brrr to burr for TTS engines to pronounce better. Instructions for adding your own replacements are in the readme.

- Configuring Babbler has become complicated, so I've added a Template option in the general settings. Assigning this value will reset all of your settings to one of several presets, like Text To Speech, Animal Crossing, Undertale, or Banjo Kazooie, without you needing to change all the options yourself.

- Fixed issue with ellipsis (...) causing dialog to not play.

- When shouting all caps, Babbler now converts the dialog to lower case. It will still play louder, but this will help stop TTS engines from interpreting words like WHO as acronyms.

- Babbler sounds are now affected by the Master SFX slider and the Other SFX slider in the options screen.

- Dialog was quieter than I remember it, so I've tweaked the default volumes a bit.

- Dependencies have been updated.

- Babbler has been recompiled against Shadows of Doubt 1.0.

These changes are live. Due to the amount of changes and some of the volume fixes, this update will reset configs.

proper elk
#

Awesome! Can't wait to try it out

indigo crescent
#

Do the slat doors block audio occlusion system? It seems like they might, as I'm hiding in someone's ventilation closet..

mild tapir
#

Yeah I assume they'd just be considered normal doors. If there's a property somewhere for them being slat doors I can probably give them the same occlusion values as vent grates.

indigo crescent
#

Another thought as well - when NPCs are talking about money, they say it a bit odd - maybe a replacement for "cr123" with either "123 credits" or probs even better "123 crows"?

mild tapir
#

I also noticed they say phone numbers weird.

#

123-2002 will be "One Two Three Two Thousand and Two"

mild tapir
indigo crescent
toxic lotus
#

Is there by any chance you can include a public method that other mods can call to generate some text to speech that the player can say?

#

Would be nice to have some inner monologue with actual audio

mild tapir
#

Yeah I can probably set up a way to specify a human and a position to emanate from. I typically skip player "inner monologue" speech because we have to assume a lot about the player to give them a voice.

#

Like gender, etc.

toxic lotus
#

you can select gender on the new world creation no?

mild tapir
#

Oh, I always skip character creation so fast, I didn't remember.

#

Okay I'll add options for playing inner monologue and player voice pitch or something, and a public method to play it.

#

Probably be a few weeks until the next patch though I just landed a large one.

toxic lotus
#

no worries

#

i'm long way off completing my next mod

lofty jay
#

Is there a way to change the voice so it doesn’t sound so robotic?

snow peak
#

Hi, I've been trying to get this mod to work on Linux, but I've had no luck so far. I figure the text-to-speech wont work, so I've been trying to make phonetic work instead by changing the config. I've put the mod into the bepinex/plugins folder, and other mods appear to be working.

Any advice for this?

sharp widget
#

Is this mod going to be ported over to the workshop?

opaque hearth
#

No, it can’t. All mods in Thunderstore/r2modman can’t be transferred to workshop