top of page
razzafrag

How To : Assign specific voices to SpaceChatter characters

You can "fix" a specific voice to character roles you hear when using EDCoPilot's Space Chatter feature. Here's how:



At present this [process requires edits to the file EDCoPilot.SaveData.<cmdrname>.LIVE.txt which resides in your EDCoPilot / working folder

Make edits to the file while EDCoPilot is NOT RUNNING. Otherwise your edits will be lost when EDCoPilot closes.


Character: record formats

To assign a voice to a character requires you create Character: records in the file

The format of the record is

Character:<characterName>="<speechProvider>|<voiceName>|<langCode>|<pitch>|<hailSound>"

where

<speechProvider> is either "Edge", "Amazon", "Azure", "GTTS", "WinTTS" or "ElevenLabs"

<voiceName> is the name of the voice, as used by the speech service (more on this later)

<langCode> is really a placeholder at the moment, which i set to "US"

<pitch> is a pitch adjustment that can be made to the voice

<hailSound> is an optional setting, which would be the name of a wav file found in the EDCoPilot / sounds folder. If this is set, the sound will play before a character speaks (I use this for custom hail sounds from other commanders)


I will provide specific examples below


Fleet Carrier Captain

  1. Look for the record in the file that starts CarrierCaptainName="<your fc captains's name>"

  2. Note / copy the name. Mine is "Herman Blackburn"

  3. Now on a new line, anywhere in the file, create a record in the format above, but the character name MUST start with the word Captain .

This is my record

Character:Captain Herman Blackburn="Edge|en-GB-RyanNeural|US|0.0|"

Result: my FC captain will use the Edge voice en-GB-RyanNeural, with no pitch adjustment


Fleet Carrier "Flight Operations" (ATC)

  1. Look for the records in the file that start: CarrierCallsign="<callsign>" : mine is CarrierCallsign="V9K-B6K" and CarrierName="<carrierName>" : mine is CarrierName="PEEK FREAN ASSORTMENT"

  2. Create 2 Character records : 1st record is for the carrier name : Character:PEEK FREAN ASSORTMENT="Edge|en-CA-LiamNeural|US|0.0|" 2nd record is for the carrier name PLUS callsign: Character:PEEK FREAN ASSORTMENT V9K-B6K="Edge|en-CA-LiamNeural|US|0.0|"

  3. You can set both voices to the same voice if you wish, or use different, its up to you


Crew voices

If you have the Crew Chatter option enabled, you can assign voices to each of your crew:

The crew character names are "<Number1>", "<Science>", "<Operations>", "<Helm>", "<Comms>", "<Engineering>" (including the <>s)

Character:<Science>="ElevenLabs|LNclone02|US|0.0|"


Commander voices

You can pin a voice to a Commander as well, so if they send you in game messages they will be spoken in the assigned voice

Simply use the commander name in ALL CAPs in the Character: record

Character:RICK RAZZAFRAG="Edge|en-CA-LiamNeural|US|0.0|EDCoPilot.Hail.Razzafrag.wav"

You will find this record already in your SaveData file. Anyone running EDCoPilot who receives an in game message from my Commander will hear the Hail sound before the message is spoken.


Selecting <voiceName> values

The easiest way to select a voice name to be used is to switch your Ship AI voice to use the appropriate voice provider, then choose a voice on the relevant settings panel, find one you like, then use the Voice Name value on the Settings page in your Character: record

Example: to review Edge voices :

  • I go to Settings -> Ship AI Voice - Edge Voices panel, and turn 'Use Edge Text To Speech' to ON.

  • I then select the language code to shortlist the voices available : i choose EN

  • I then select the locale to further shortlist the voices: I choose en-GB

  • I can then click on the Edge Voice Name value to see the list of voices i can select. I try a few and decide i like en-GB-ThomasNeural, so that is what i will use in the <voiceName> field in one of my character records.

  • When done, i simply set my Ship AI voice back to whatever i was using before reviewing


Additional notes:

Voice providers:

  1. You need to have accounts set up and configured for use for Amazon, Azure, GTTS and ElevenLabs voices if you want to use them, else you will get errors trying to make calls to those services.

  2. If you specify a voice provider that you switch OFF in the Space Chatter settings, EDCoPilot will assign a random voice for the character based on which voice providers you still have active.




601 views0 comments

Recent Posts

See All

Comments


bottom of page