EDDI: A(nother) Voice Attack Plugin

Status
Thread Closed: Not open for further replies.
I suspect that the culprit is the shock mine launcher. Could you do me a favour and unequip it, restart Voice Attack, and see if it works when that isn't present?
That suggests that not all of the new commands were imported. Did you definitely clear out all of the old EDDI commands and re-import the new ones?
I have no Shock Mine Launcher (Never Have) Are you sure you are looking at the correct loadout link?
I can see that the long aplpha/numeric in the link is different to my Coriolis page link, could it be still using an incorrect url since I cleared my browser cache maybe?
I have run the Configuration.exe several times now and it says all my connections are good, have tried renaming the Coriolis build to the same as the Ship Callsign generated by the Config, no luck....head scratching

Here are my Coriolis build links again:
Actual Build http://coriolis.io/outfit/imperial_...2727.AwRj4yWV2I==.AwiMIyuo?bn=Hornet DFU-2742

Page by EDDI http://coriolis.io/outfit/imperial_...w18gDBQ.CwBhEYwqazweIz==?bn=Hornet (DFU-2742)


I have deleted all existing EDDI references in VA and Reloaded the VAP file in the 0.9.1 directory
 
  • Like (+1)
Reactions: jgm
I have no Shock Mine Launcher (Never Have) Are you sure you are looking at the correct loadout link?
I can see that the long aplpha/numeric in the link is different to my Coriolis page link, could it be still using an incorrect url since I cleared my browser cache maybe?
I have run the Configuration.exe several times now and it says all my connections are good, have tried renaming the Coriolis build to the same as the Ship Callsign generated by the Config, no luck....head scratching

Here are my Coriolis build links again:
Actual Build http://coriolis.io/outfit/imperial_...2727.AwRj4yWV2I==.AwiMIyuo?bn=Hornet DFU-2742

Page by EDDI http://coriolis.io/outfit/imperial_...w18gDBQ.CwBhEYwqazweIz==?bn=Hornet (DFU-2742)


I have deleted all existing EDDI references in VA and Reloaded the VAP file in the 0.9.1 directory

Okay, I understand. The shock mine launcher was being put in place due to having an internal ID of 0, because I don't have IDs for the Powerplay modules. I'm in the process of adding these but it's a manual process as it requires the modules to be present before I can do so. If you are anywhere near Shinrarta Dezhra, or another system that you know contains most of the Prismatic shield generators, please could you fly there and issue an "I have docked" voice command? This should trigger EDDI to spot the unknown modules in the outfitting and report them.
 
Using EDDI 0.9.1

@jgm While beta testing EDDI I'm also trying to understand how EDDI works. Correct me if i'm wrong, but it 'seems' as though some functions currently used by EDDI are hard-coded into the plugin and therefore cannot be changed/accessed? For example, this Voice Command:-

[I have;We are;] docked;Docking [complete;finished]

Execute external plugin, 'EDDI 0.9.1'



Question 1. How does this command work?
Question 2. Where is the VA script that it uses to get this information from? Using this command EDDI informs me of the current station I am in, yet, there are no variables that I have seen, that I can access for myself that will tell me what station I am currently in.

You have the following variable for Last System visited:-
Last station name (text): the name of the last station the commander docked at

Question 3. Is there a variable for Current Station Name? that perhaps has not been included in your list of EDDI variables?


Another Voice Attack example command..

Ship handover [complete;confirmed];Ship handed over

Execute external plugin, 'EDDI 0.9.1'


How does this command work?
 
Last edited:
Using EDDI 0.9.1

@jgm While beta testing EDDI I'm also trying to understand how EDDI works. Correct me if i'm wrong, but it 'seems' as though some functions currently used by EDDI are hard-coded into the plugin and therefore cannot be changed/accessed? For example, this Voice Command:-

[I have;We are;] docked;Docking [complete;finished]

Execute external plugin, 'EDDI 0.9.1'



Question 1. How does this command work?
Question 2. Where is the VA script that it uses to get this information from? Using this command EDDI informs me of the current station I am in, yet, there are no variables that I have seen, that I can access for myself that will tell me what station I am currently in.

You have the following variable for Last System visited:-
Last station name (text): the name of the last station the commander docked at

Question 3. Is there a variable for Current Station Name? that perhaps has not been included in your list of EDDI variables?


Another Voice Attack example command..

Ship handover [complete;confirmed];Ship handed over

Execute external plugin, 'EDDI 0.9.1'


How does this command work?

EDDI is based around its event loop. The idea is that as certain events happen they trigger VoiceAttack scripts. Ideally these events would be picked up automatically by EDDI (as we do today for system/environment changes), but until that point it's down to the user to manually inject these events in to EDDI. The way that this happens is that the user gives one of a number of voice commands and it injects the event. This is the 'execute external plugin' command. All it does is inject the event, though; there's nothing in terms of hard-coded responses in EDDI.

As to what happens with the event, that's back to the event loop. If you want to know which script is called then you should generally check here first. It has a list of the events that it can receive and the scripts it calls as a result, and this is where you'll find the scripts that occur when a system change occurs, the ship is handed over, docking has been completed, etc.

As for the variable I use, it is indeed 'Last station name'. The reason this isn't 'Current station name' is that there is nothing that can provide me with details of if a player is docked or not, so I have no idea if a player is docked at a station or has undocked. It's one of those annoying problems that I could patch around to some extent but never perfectly without some changes from Frontier.
 
Wow, CMDR Malandark, you're sure doing a lot of testing! :)

Having a lot of fun doing this too. Got plans to use plugin in the near future, hence, I need to know how it ticks!. Much obliged for your recent reps :)

EDDI is based around its event loop. The idea is that as certain events happen they trigger VoiceAttack scripts. Ideally these events would be picked up automatically by EDDI (as we do today for system/environment changes), but until that point it's down to the user to manually inject these events in to EDDI. The way that this happens is that the user gives one of a number of voice commands and it injects the event. This is the 'execute external plugin' command. All it does is inject the event, though; there's nothing in terms of hard-coded responses in EDDI.

As to what happens with the event, that's back to the event loop. If you want to know which script is called then you should generally check here first. It has a list of the events that it can receive and the scripts it calls as a result, and this is where you'll find the scripts that occur when a system change occurs, the ship is handed over, docking has been completed, etc.

As for the variable I use, it is indeed 'Last station name'. The reason this isn't 'Current station name' is that there is nothing that can provide me with details of if a player is docked or not, so I have no idea if a player is docked at a station or has undocked. It's one of those annoying problems that I could patch around to some extent but never perfectly without some changes from Frontier.

Thanks for explaining this. I used to be able to program in Pascal, Modula 2, C, Visual Basic many, many years ago, though very rusty now, hence my approach to this beta testing. I've casually looked into these va commands from time to time but only to insert my Write/Say commands when following particular variable values, havent actually had time to sit down and follow the code paths from start to finish because the scripts changes from one release to another and wanted to wait for final release before I did this. Besides, I'm sure others will also find your explanations helpful should they to decide to use EDDI in one of their projects.
 
Last edited:
EDDI has been updated to 0.9.3. It contains a number of bugfixes but also introduces its own text-to-speech system. This allows EDDI to say things that sound a bit more like the voice in Elite, and in general a more computer-like voice. It also has a few features where the voice degrades with damage, and some other effects dependent on the size of your ship.

At this point I'm considering this the final push to a 1.0 release. I want to spend some more time on different responses to make EDDI a bit more interesting to listen to long-term, but not to add any further features at the moment. If you find any problems with this release please do let me know.
 
Looking forward to trying this new release out..

Since release 1.0 is in the pipeline, am going to look through my notes and see what suggestions I can offer for future releases/updates.
 
Using EDDI 0.9.3

Small/minor bug..

((EDDI:startup)) is set to check on startup, the following version No

Begin Text Compare : [EDDI latest version] Does Not Equal '0.8.6'

So, every time it's started, it nags the user to upgrade when they have in fact, the latest version

For me, I just re-edited the line to this..

Begin Text Compare : [EDDI latest version] Does Not Equal '0.9.3'


Also..

When EDDI tries to speak a ship's callsign, it spends speaks everything literally as shown below.

Examples.

21:48:17 - Ship callsign (spoken): <phoneme alphabet="ipa" ph="siˈerə">sierra</phoneme> <phoneme alphabet="ipa" ph="ˈtænɡo">tango</phoneme> <phoneme alphabet="ipa" ph="ˈtʃɑːli">charlie</phoneme> <phoneme alphabet="ipa" ph="ˈeɪt">eight</phoneme> <phoneme alphabet="ipa" ph="ˈfaɪf">fife</phoneme> <phoneme alphabet="ipa" ph="ˈtuː">two</phoneme> <phoneme alphabet="ipa" ph="ˈtuː">two</phoneme>




21:45:56 - Stored ship 1 callsign (spoken) is <phoneme alphabet="ipa" ph="ɡɒlf">golf</phoneme> <phoneme alphabet="ipa" ph="ˈbrɑːˈvo">bravo</phoneme> <phoneme alphabet="ipa" ph="ˈzuːluː">zulu</phoneme> <phoneme alphabet="ipa" ph="ˈeɪt">eight</phoneme> <phoneme alphabet="ipa" ph="ˈeɪt">eight</phoneme> <phoneme alphabet="ipa" ph="ˈsɪks">six</phoneme> <phoneme alphabet="ipa" ph="ˈeɪt">eight</phoneme>
 
Last edited:
Using EDDI 0.9.3

Small/minor bug..

((EDDI:startup)) is set to check on startup, the following version No

Begin Text Compare : [EDDI latest version] Does Not Equal '0.8.6'

So, every time it's started, it nags the user to upgrade when they have in fact, the latest version

Actually it's the wrong VoiceAttack profile in the directory, which is why it's reporting the wrong number.

I've fixed the ZIP file so please could you redownload it and reinstall? Thanks.
 
Bug in Configuation.exe

Well.. the image says it all really, I DID use the correct folder... tried it with /Logs too....:

eddierr.jpg
 
I just turned on my pc from a reboot and installed your app... BUT... could by my ED Toolbox server

Turned everything off and reboot so nothing running.... Get the TaskMan in the morning....
 
Last edited:
Using EDDI 0.9.3

{TXT:Ship callsign (spoken)} is this suppose to say the following literally with TTS? Or is this used by EDDI's speech engine?

22:26:31 - Ship callsign (spoken): <phoneme alphabet="ipa" ph="siˈerə">sierra</phoneme> <phoneme alphabet="ipa" ph="ˈtænɡo">tango</phoneme> <phoneme alphabet="ipa" ph="ˈtʃɑːli">charlie</phoneme> <phoneme alphabet="ipa" ph="ˈeɪt">eight</phoneme> <phoneme alphabet="ipa" ph="ˈfaɪf">fife</phoneme> <phoneme alphabet="ipa" ph="ˈtuː">two</phoneme> <phoneme alphabet="ipa" ph="ˈtuː">two</phoneme>
 
Last edited:
Using EDDI 0.9.3

{TXT:Ship callsign (spoken)} is this suppose to say the following literally with TTS? Or is this used by EDDI's speech engine?

22:26:31 - Ship callsign (spoken): <phoneme alphabet="ipa" ph="siˈerə">sierra</phoneme> <phoneme alphabet="ipa" ph="ˈtænɡo">tango</phoneme> <phoneme alphabet="ipa" ph="ˈtʃɑːli">charlie</phoneme> <phoneme alphabet="ipa" ph="ˈeɪt">eight</phoneme> <phoneme alphabet="ipa" ph="ˈfaɪf">fife</phoneme> <phoneme alphabet="ipa" ph="ˈtuː">two</phoneme> <phoneme alphabet="ipa" ph="ˈtuː">two</phoneme>

It's for EDDI's speech engine, although it could probably be fed to the VoiceAttack's TTS engine with some tweaking.

When looking at anything outside of standard words none of the TTS voices cut it, so I've fallen back to using phonetics. The good news with it is that it allows the ship's voice to sound a lot better with many of the complex words that Elite contains (I've started on well-known system names, as well as the radio alphabet as you've found above).
 
(devil's advocate mode) If a User wanted to turn off this new 'computer speech' so it resorted back to their normal TTS voice, how would they acomplish this?
 
Last edited:
(devil's advocate mode) If a User wanted to turn off this new 'computer speech' so it resorted back to their normal TTS voice, how would they acomplish this?

They could use VoiceAttack's "say" command if they prefer, although they'd have to edit the EDDI commands to do so.
 
They could use VoiceAttack's "say" command if they prefer, although they'd have to edit the EDDI commands to do so.

(devil's advocate mode)

Yikes, that would involve a lot of editing throughout the vap profile. Just thinking ahead, if someone wanted to use this present profile then they would have to learn how these types of non-standard VA commands:-

Set Text [EDDI environment script] to $= is [entering;jumping to] supercruise.


work in order to build further voice commands into their vap..

I know you have done a lot of work with this new TTS engine, which we all very much appreciate, but wonder if it might have been better to explain how these new TTS commands work and how they can be incorperated into EDDI's VA scripts if the User chooses?

Or better still, offer two EDDI vap scripts, one normal, the other using this new TTS speech engine?

Since VA scripts can be 'switched' between muliple VA scripts, i.e EDDI & A.S.T.R.A working together, a default TTS voice between 2 or more VA profiles fits easily together than one that is set to a different TTS voice.
 
Last edited:
It should have 'Logs' appended to it.

Was Elite running when you hit the 'Obtain' button? If so, please could you let me know what it says in task manager for the elite process?

Just turned back on and nothing running at all... first thing I have done was was ran the configuration and copied the path directly to it as:
"C:\Program Files (x86)\Frontier\EDLaunch\Products\elite-dangerous-64\Logs" and Nada, nope, nuthin... same result
 
Just turned back on and nothing running at all... first thing I have done was was ran the configuration and copied the path directly to it as:
"C:\Program Files (x86)\Frontier\EDLaunch\Products\elite-dangerous-64\Logs" and Nada, nope, nuthin... same result

When you say nothing, what aren't you seeing?

There's nothing we can do in terms of validation of the path if it isn't pulled directly from the running Elite process, as there are multiple places that it could be so the mere presence of the logs directory isn't enough. The most-recently-written path is listed first, which is about as good as we get in terms of educated guessing.

The only way to be sure that it has worked is to start up EDDI and Elite, then change system.
 
Status
Thread Closed: Not open for further replies.
Back
Top Bottom