I have added a number of voices to Windows TTS, and I am trying to assign these voices to incoming messages in E:D and have them be persistent. EDDI provides the variable {TXT:EDDI message received from}
and so I am trying to use an embedded {TXT:{TXT:EDDI message received from} voice}
which is set to one of the voices randomly and saved to the profile.
Even though I include a Set text [{TXT:{TXT:EDDI message received from} voice}] to [Saved Value]
, the assigned voice doesn't persist across sessions. When I start a new game session, the voices are reassigned.
My expectation is that there would a variable {TXT:The Jet's Hole voice}
or {TXT:Cruise ship voice}
saved to the profile that equals "David" or "Hazel" or whichever voice was originally assigned.
The goal is that every time I visit George Lucas or whichever station, or encounter the cruise ship or other NPC, the voice is the same.
Here is the entire command:
Append, ' {TXT:EDDI message received from}' to file 'C:\Users\username\Documents\message received.txt'
Begin Boolean Compare : [{EDDI message received player}] Equals False
Set text [{TXT:{TXT:EDDI message received from} voice}] to [Saved Value]
Say, 'Message from {TXT:EDDI message received from}' (and wait until it completes)
Begin Text Compare : [{TXT:{TXT:EDDI message received from} voice}] Equals 'Not set'
Set integer [Voice used] value as random from 0 to 24
Begin Integer Compare : [Voice used] Equals 0
Set text [{TXT:EDDI message received from} voice] to 'David' (save value to profile)
Else If Integer Compare : [Voice used] Equals 1
Set text [{TXT:EDDI message received from} voice] to 'Hazel' (save value to profile)
Else If Integer Compare : [Voice used] Equals 2
Set text [{TXT:EDDI message received from} voice] to 'Zira' (save value to profile)
Else If Integer Compare : [Voice used] Equals 3
Set text [{TXT:EDDI message received from} voice] to 'Catherine' (save value to profile)
Else If Integer Compare : [Voice used] Equals 4
Set text [{TXT:EDDI message received from} voice] to 'George' (save value to profile)
Else If Integer Compare : [Voice used] Equals 5
Set text [{TXT:EDDI message received from} voice] to 'Heera' (save value to profile)
Else If Integer Compare : [Voice used] Equals 6
Set text [{TXT:EDDI message received from} voice] to 'James' (save value to profile)
Else If Integer Compare : [Voice used] Equals 7
Set text [{TXT:EDDI message received from} voice] to 'Linda' (save value to profile)
Else If Integer Compare : [Voice used] Equals 8
Set text [{TXT:EDDI message received from} voice] to 'Mark' (save value to profile)
Else If Integer Compare : [Voice used] Equals 9
Set text [{TXT:EDDI message received from} voice] to 'Ravi' (save value to profile)
Else If Integer Compare : [Voice used] Equals 10
Set text [{TXT:EDDI message received from} voice] to 'Richard' (save value to profile)
Else If Integer Compare : [Voice used] Equals 11
Set text [{TXT:EDDI message received from} voice] to 'Sean' (save value to profile)
Else If Integer Compare : [Voice used] Equals 12
Set text [{TXT:EDDI message received from} voice] to 'Susan' (save value to profile)
Else If Integer Compare : [Voice used] Equals 13
Set text [{TXT:EDDI message received from} voice] to 'Eva' (save value to profile)
Else If Integer Compare : [Voice used] Equals 14
Set text [{TXT:EDDI message received from} voice] to 'Matilda' (save value to profile)
Else If Integer Compare : [Voice used] Equals 15
Set text [{TXT:EDDI message received from} voice] to 'Cosimo' (save value to profile)
Else If Integer Compare : [Voice used] Equals 16
Set text [{TXT:EDDI message received from} voice] to 'Hedda' (save value to profile)
Else If Integer Compare : [Voice used] Equals 17
Set text [{TXT:EDDI message received from} voice] to 'Stefan' (save value to profile)
Else If Integer Compare : [Voice used] Equals 18
Set text [{TXT:EDDI message received from} voice] to 'Helena' (save value to profile)
Else If Integer Compare : [Voice used] Equals 19
Set text [{TXT:EDDI message received from} voice] to 'Hortense' (save value to profile)
Else If Integer Compare : [Voice used] Equals 20
Set text [{TXT:EDDI message received from} voice] to 'Julie' (save value to profile)
Else If Integer Compare : [Voice used] Equals 21
Set text [{TXT:EDDI message received from} voice] to 'Katja' (save value to profile)
Else If Integer Compare : [Voice used] Equals 22
Set text [{TXT:EDDI message received from} voice] to 'Laura' (save value to profile)
Else If Integer Compare : [Voice used] Equals 23
Set text [{TXT:EDDI message received from} voice] to 'Pablo' (save value to profile)
Else If Integer Compare : [Voice used] Equals 24
Set text [{TXT:EDDI message received from} voice] to 'Paul' (save value to profile)
End Condition
End Condition
Append, ' {TXT:{TXT:EDDI message received from} voice}' to file 'C:\Users\username\Documents\message voice.txt'
Begin Text Compare : [{TXT:{TXT:EDDI message received from} voice}] Equals 'David'
Say, '{TXT:EDDI message received message}' (and wait until it completes)
Else If Text Compare : [{TXT:{TXT:EDDI message received from} voice}] Equals 'Hazel'
Say, '{TXT:EDDI message received message}' (and wait until it completes)
Else If Text Compare : [{TXT:{TXT:EDDI message received from} voice}] Equals 'Zira'
Say, '{TXT:EDDI message received message}' (and wait until it completes)
Else If Text Compare : [{TXT:{TXT:EDDI message received from} voice}] Equals 'Catherine'
Say, '{TXT:EDDI message received message}' (and wait until it completes)
Else If Text Compare : [{TXT:{TXT:EDDI message received from} voice}] Equals 'George'
Say, '{TXT:EDDI message received message}' (and wait until it completes)
Else If Text Compare : [{TXT:{TXT:EDDI message received from} voice}] Equals 'Heera'
Say, '{TXT:EDDI message received message}' (and wait until it completes)
Else If Text Compare : [{TXT:{TXT:EDDI message received from} voice}] Equals 'James'
Say, '{TXT:EDDI message received message}' (and wait until it completes)
Else If Text Compare : [{TXT:{TXT:EDDI message received from} voice}] Equals 'Linda'
Say, '{TXT:EDDI message received message}' (and wait until it completes)
Else If Text Compare : [{TXT:{TXT:EDDI message received from} voice}] Equals 'Mark'
Say, '{TXT:EDDI message received message}' (and wait until it completes)
Else If Text Compare : [{TXT:{TXT:EDDI message received from} voice}] Equals 'Ravi'
Say, '{TXT:EDDI message received message}' (and wait until it completes)
Else If Text Compare : [{TXT:{TXT:EDDI message received from} voice}] Equals 'Richard'
Say, '{TXT:EDDI message received message}' (and wait until it completes)
Else If Text Compare : [{TXT:{TXT:EDDI message received from} voice}] Equals 'Sean'
Say, '{TXT:EDDI message received message}' (and wait until it completes)
Else If Text Compare : [{TXT:{TXT:EDDI message received from} voice}] Equals 'Susan'
Say, '{TXT:EDDI message received message}' (and wait until it completes)
Else If Text Compare : [{TXT:{TXT:EDDI message received from} voice}] Equals 'Eva'
Say, '{TXT:EDDI message received message}' (and wait until it completes)
Else If Text Compare : [{TXT:{TXT:EDDI message received from} voice}] Equals 'Matilda'
Say, '{TXT:EDDI message received message}' (and wait until it completes)
Else If Text Compare : [{TXT:{TXT:EDDI message received from} voice}] Equals 'Cosimo'
Say, '{TXT:EDDI message received message}' (and wait until it completes)
Else If Text Compare : [{TXT:{TXT:EDDI message received from} voice}] Equals 'Stefan'
Say, '{TXT:EDDI message received message}' (and wait until it completes)
Else If Text Compare : [{TXT:{TXT:EDDI message received from} voice}] Equals 'Hedda'
Say, '{TXT:EDDI message received message}' (and wait until it completes)
Else If Text Compare : [{TXT:{TXT:EDDI message received from} voice}] Equals 'Hortense'
Say, '{TXT:EDDI message received message}' (and wait until it completes)
Else If Text Compare : [{TXT:{TXT:EDDI message received from} voice}] Equals 'Helena'
Say, '{TXT:EDDI message received message}' (and wait until it completes)
Else If Text Compare : [{TXT:{TXT:EDDI message received from} voice}] Equals 'Julie'
Say, '{TXT:EDDI message received message}' (and wait until it completes)
Else If Text Compare : [{TXT:{TXT:EDDI message received from} voice}] Equals 'Katja'
Say, '{TXT:EDDI message received message}' (and wait until it completes)
Else If Text Compare : [{TXT:{TXT:EDDI message received from} voice}] Equals 'Laura'
Say, '{TXT:EDDI message received message}' (and wait until it completes)
Else If Text Compare : [{TXT:{TXT:EDDI message received from} voice}] Equals 'Pablo'
Say, '{TXT:EDDI message received message}' (and wait until it completes)
Else If Text Compare : [{TXT:{TXT:EDDI message received from} voice}] Equals 'Paul'
Say, '{TXT:EDDI message received message}' (and wait until it completes)
End Condition
End Condition
Each of the "Say" commands is set to the corresponding voice.
The two write to file commands are to test the message sender vs voice assigned.
Any help is appreciated.