Jump to content

Talking NPCs


Recommended Posts

https://github.com/jason-kane/coh_npc_voices

 

This is a fairly simplistic python program that watches the City of Heroes chat log file. When it sees a message from an NPC, it uses the windows text-to-speech capability to read out the message. It also notices when you receive a badge and tells you which badge you got.

 

You will need git, python and pip to install.

 

Reddit: 

 

  • Like 1
  • Thanks 1
  • Thumbs Up 1
Link to comment
Share on other sites

  • 1 month later

OMFG, the dream! It's happening! It's HAPPENING! 😄 

 

Thanks for posting this, I'm so happy.

..It only takes one Beanbag fan saying that they JRANGER it for the devs to revert it.

Link to comment
Share on other sites

the idea is great, but Windows Text to speech isnt really immersive, but i guess its just a matter of time you or someone else builds upon this and we get voice acting all over CoH

back to the Zukunft

 

@Jkwak

Link to comment
Share on other sites

5 hours ago, jkwak said:

the idea is great, but Windows Text to speech isnt really immersive, but i guess its just a matter of time you or someone else builds upon this and we get voice acting all over CoH

Totally agree; Windows Text for normal human voices is pretty bad.  There is support for both google text-to-speech (better) and ElevenLabs (much better) but it is hard to setup in the current release.  The next will be much better (maybe this weekend); I've added a configuration panel for setting the elevenlabs api key (they allow for a large amount of text-to-speech each month on a free account).  You will also be able to set the default engine to use for unknown voices both for NPC and players.

For NPCs it is easy because they are repetitive and easy to cache to disk.  So a high quality voice is easy to justify.  For players the cache is rarely useful and a little creepy, so I disabled it.  I'm cheap-as-hell, so I'm making it easy to use Windows TTS for players (because it is free and fast) while using the slivers of pennies high quality services for NPCs.
 

One case where Windows TTS is more than fine -- Clockwork.  If anything it is not robotic enough, so I'm wrapping it in vocoder effects.  It's pretty good.  Oh, I can attach..  a work in progress, but here are "Prototype Oscillator" and a Vahzilok "Reaper"; I'm reasonably happy with both these.

  • Thanks 1
Link to comment
Share on other sites

16 hours ago, VVonder said:

Totally agree; Windows Text for normal human voices is pretty bad.  There is support for both google text-to-speech (better) and ElevenLabs (much better) but it is hard to setup in the current release.  The next will be much better (maybe this weekend); I've added a configuration panel for setting the elevenlabs api key (they allow for a large amount of text-to-speech each month on a free account).  You will also be able to set the default engine to use for unknown voices both for NPC and players.

For NPCs it is easy because they are repetitive and easy to cache to disk.  So a high quality voice is easy to justify.  For players the cache is rarely useful and a little creepy, so I disabled it.  I'm cheap-as-hell, so I'm making it easy to use Windows TTS for players (because it is free and fast) while using the slivers of pennies high quality services for NPCs.
 

One case where Windows TTS is more than fine -- Clockwork.  If anything it is not robotic enough, so I'm wrapping it in vocoder effects.  It's pretty good.  Oh, I can attach..  a work in progress, but here are "Prototype Oscillator" and a Vahzilok "Reaper"; I'm reasonably happy with both these.

You're doing amazing work.

 

Would it be possible to offer the ability to switch TTS provider please, in case ElevenLabs goes out of business?

 

..It only takes one Beanbag fan saying that they JRANGER it for the devs to revert it.

Link to comment
Share on other sites

38 minutes ago, Herotu said:

You're doing amazing work.

 

Would it be possible to offer the ability to switch TTS provider please, in case ElevenLabs goes out of business?

 

Thanks.  Right now it has Windows TTS, Google TTS and ElevenLabs, the next easy one is Amazon Polly.  I'm interested in getting Coqui working too.  That would give us another local option but I'm a little worried about resource requirements.  Should be a fun experiment.

The next challenge is that having a bunch of perfectly smooth and clear human voices is great, but many of the foes in-game are very much non-human.  An easy example are the snakes in COV.  They sound terrible because the text-to-speech is trying to pronounce ssspeach like thisss and gets it all wrong.  Most TTS engines support something called SSML which has a phoneme tag that I'll try and manipulate to get the right sounds.

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
×
×
  • Create New...