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
Look for the record in the file that starts CarrierCaptainName="<your fc captains's name>"
Note / copy the name. Mine is "Herman Blackburn"
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)
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"
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|"
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:
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.
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.
Comments