Community Event / Creation VoiceMacro is looking for Testpilots!

@Inhumierer: Thanks! I hope you will enjoy it as much as I do :)

Updated my ED Profile in first post again

"Engine cruise speed" command now has also a hotkey assigned to it using the "double click" feature for keys

In my setup, F2 is assigned to "50% speed", and F5 is assigned to "75%" speed in ED

Of course doing this with a keyboard would be silly since F2 and F5 are close together, I have mapped F2 on my Logitech G13 gamepad on "G21" button (the G13 really is my favorite input device of all time!)

This way if I press "G21" once, engines are set to 50%, if I press "G21" twice, the macro is executed sending F5 key and the engines are set to 75%... one key for 2 functions
 
Thanks for this. I really appreciate you sharing this.

The WaitForPixel step is a godsend - very powerful - allows you to do things not possible (AFAICS) with voice attack using pauses (e.g. tab through panels until you have the correct one, regardless of what state it was left in). The obvious application for me was "Request Docking" (which you provided ready to adapt).

I was able to adapt your ED profile to my screen resolution and key mappings pretty easily.

For others trying this - a couple of tips for adapting the "select next destination" macro:
1) When selecting the red pixel under the target system sphere, you need the Grid to be showing, otherwise you won't get the red "shadow" to select a consistent pixel from (and you need the shadow because the position and colour of the sphere cannot be relied on).
2) Also when selecting the red pixel - sometimes for system spheres that appear very close to the Grid plane - the sphere obscures some of the "shadow" - so for this reason I found it best to select a pixel at the bottom of the red shadow. (I guess a system sphere could be positioned so that it obscures the bottom of the shadow - perhaps in this case using "T" to pitch the galaxy map would move things).
3) It's very easy to adapt this macro to also plot a route - just put a "Right Arrow" step in before the step that selects the system.

I'm not ready to reprogram my entire voice attack profile into VoiceMacro - it's quite large - so I'll try VoiceMacro it for a while longer to see if I hit anything I can't do in it but can in VoiceAttack. But I am running both at the same time without any issue (obviously I don't have any overlap in commands between this and VoiceAttack).

I'm going to have a go next at making "Request Docking" detect when you already have a target other than the station selected (this causes the current macro to open the already targeted ship's contacts sub-menu). I think a WaitForPixel on the "<" around "<Station Name>" in a loop with an "Up Arrow" key press should do the trick.


Thank you :)

If you see a "!" in the text area, that means the item was processed as "failed" by the speech recognition engine (have you trained it?)

This ! foxed me a little - I had the setting to process "failed" recognitions off, and so would sometimes get the log entry in red with the ! afterwards (not that I realised why at the time).

It wasn't immediately obvious that it had failed to recognise my speech (since the log entry actually had the right text) - so I clicked it to see if there was more detail. Then double clicked: that produced an error popup with a stack trace that appeared to originate from the log entry cell click handler (an index out of bounds exception of some sort).

At first glance - it seemed to me that the error popup was actually an intentional detail panel to explain the ! and red text - so for a little while I thought I was being told that an "index out of bounds" exception was the reason my voice command failed. A little later - being a programmer - I saw the stack trace was actually telling me about an error resulting from clicking the log entry. But - I think to a non-programmer - having the error popup appear while attempting to get info on a log entry with an error on it might lead them to just think "oh - a bug processing the macro", and not realise the intention of the red and ! is to indicate "failed recogition" (and that the bug was just in processing a double-click on a log entry).

(Now I know what's going on I'll be turning on 'process "failed" recognitions'.)
 
Last edited:
Been playing with 0.9.9.7 beta

Nice job, this is getting to be quite powerful !

I if may, a few features that would be appreciated.

- Sorting
As the profiles grow, it will be harder to find what you are looking for,

In the edit profile window, it would be nice if clicking on Command and Action(s) on the bar at the top would sort the commands accordingly.
Adding a group or classification column for additional sorting could also help.


- Prefix, global and suffix exclusion. To help keep profiles lighter and as flexible as possible.
Many people will wish to use your app in a role play environment in conjunction with Voice packs...
I have ASTRA from http://www.elitedangerousvoicepack.com/ and I really like it.
It includes a lot of info that helps with the game as well as some light fun chatter.
As I get really immersed in the game I tend to forget that I have to use specific words/commands.
Until the limitation of the software calls me back to this reality.
I would prefer it didn't lol

One way is to add a command for every slight permutation
for example to triger a sound that tell me what indium is, I might say:

What is indium
What's indium
tell me about indium
explain indium
tell me about indium please
explain indium please


having what is, what's and what are, just in case lol, in a prefix exclusion would mean that only Indium would be taken into account.
and make those 2 command 1
having please in a suffix exclusion would make those 4 command 2

doesn't seem that big of a difference until you apply it to a profile with 1500 commands or more and shrink it to 800 or so.
 
@AntonyW:

Thank you for your detailed feedback and thanks for the detailed "how to" for the "select next destination macro", very appreciated!

WaitForPixel tolerance tricked me with the orange buttons at the station, they really can vary in brightness with the animated glow effect and i was tweaking the tolerance more and more upwards while I did more extensive playing last 2 days (reached "Broker" and soon will have my Python ;))

"Request docking" is tricky because of the possible various displacement of the gui, but with some practice and understanding when to grap the pixel AND trigger the command later when playing - it can be very reliable

Thanks for lurking out this bug, was not easy for me to get a red log entry to recreate this bug, appareantly the recognition engine has learned to understand my voice too good already after this long time of using it lol

I quickly updated the latest test build according to your feedback:
"Process 'failed' recognitions" checkbox is now checked as default and ToolTip text added to explain that function
Double click on log entries will now tell you more in the status strip (window bottom bar) as it should have instead of throwing an exeption at you ;)
(Double clicking processed commands will open them for quick editing as it was before)
 
@Bragolatch:

Thanks for your feedback!

These voice packs are impressive... sorting and grouping macros makes alot of sense for 1000+ macros :eek:

I was pushing that kind of "comfort features" for a later time as my biggest profile has "only" 57 macros

Currently you can have multiple voice commands for the same macro if you separate them with semicolon ";"

You could use a voice command like this:
"What is indium;What's indium;tell me about indium;explain indium;tell me about indium please;explain indium please"

But indeed, multiple prefixes and suffixes per group (or global) would be a nice feature and could save alot of work for this case
 
Last edited:
@AntonyW:

Thank you for your detailed feedback and thanks for the detailed "how to" for the "select next destination macro", very appreciated!

WaitForPixel tolerance tricked me with the orange buttons at the station, they really can vary in brightness with the animated glow effect and i was tweaking the tolerance more and more upwards while I did more extensive playing last 2 days (reached "Broker" and soon will have my Python ;))

"Request docking" is tricky because of the possible various displacement of the gui, but with some practice and understanding when to grap the pixel AND trigger the command later when playing - it can be very reliable

Thanks for lurking out this bug, was not easy for me to get a red log entry to recreate this bug, appareantly the recognition engine has learned to understand my voice too good already after this long time of using it lol

I quickly updated the latest test build according to your feedback:
"Process 'failed' recognitions" checkbox is now checked as default and ToolTip text added to explain that function
Double click on log entries will now tell you more in the status strip (window bottom bar) as it should have instead of throwing an exeption at you ;)
(Double clicking processed commands will open them for quick editing as it was before)

That was fast! :) Thank you - I'll update when home.

The WaitForPixel tolerance is a great feature with something like Elite; as you say there's a lot of variation because of their animated effects - and also they're generally semi-transparent UI elements - so the colour can vary a lot depending on what's behind at the time capturing/testing the pixel. I first noticed while trying to capture the Return to Surface button - steam or vapour in the background hanger was altering the pixel moment by moment. Haven't found anything I can't make pretty reliable with a combination of tolerance, timeout, and poll interval settings, though.

Enjoy your Python :) I just got mine a couple of weeks ago or so - absolutely loving it - it's a crazily good ship (apart from jump range - partially mitigated with an A5 power generator in the class 7 slot, and mostly D rated everything else). It'll be a long time till I finish upgrading it though (longer now that I'm saving to see what the FDL and Vulture are like).
 
That was fast! :) Thank you - I'll update when home.

You're welcome =)

... trying to capture the Return to Surface button - steam or vapour in the background hanger was altering the pixel moment by moment. Haven't found anything I can't make pretty reliable with a combination of tolerance, timeout, and poll interval settings, though.

Keep in mind: the 0-100% tolerance does not mean at 100% any color would "match", it is +-100 color values total (R+G+B)

Try the new version of "leave Station" in the new profile I just updated, works 100% reliable for me now

Enjoy your Python :) I just got mine a couple of weeks ago or so - absolutely loving it - it's a crazily good ship (apart from jump range - partially mitigated with an A5 power generator in the class 7 slot, and mostly D rated everything else). It'll be a long time till I finish upgrading it though (longer now that I'm saving to see what the FDL and Vulture are like).

Will still take a while (at 31m cr at the moment) and this sounds like I have to save up some more than my planned "ship price + 10m + money for trading" :rolleyes:
 
New test release uploaded today!

Now you can have groups for macros (if you want), the profile list automatically shows them grouped, you can rename a whole group of macros, merge groups (rename to an existing name),or delete groups (only the group is removed from the macro in this group) / expand and collapse all via context menu.... or expand, collapse groups by left mouse button doubleclick

And oh yes... just found out and fixed a new introduced bug when doubleclicking green colored processed commands in log window :eek:

Note: "Edit group prefix and suffix" is a inactive placeholder and will follow later (work in progress)

Groups.png
 
WoW this is geat ! :)

I love the idea of making prefix and suffix applicable to groups !

Will have to be careful not to make commands that end up the same in different groups once prefix and suffix have been remove thought !
 
Last edited:
A quick update:

- Group affixes are now implemented along with some fixes and enhancements in the latest test build

- Updated my ED profile, most important changes are: "select next destination" is now restarting itself if already at selected station, "leave station" will automatically thrust up and retract landing gear the moment your ship is released from landing pad, "watch frameshift drive" is now double checking "safe engage ready" message for more reliability
 
Last edited:
BIG update today! :)

Mar. 11, 2015 v0.9.9.7 (latest test build):
- Macro edit window can now show actual position of current action of the macro while running it
- Fixed issue with saving/loading profiles changing "CrLf" to "Lf" only (in string values)
- Added math functions (+ - * / MOD) with comparison (= <> > < >= <=) + AND/OR
- Added conditional statements "If...ElseIf...Else...EndIf"
- Added SetVariable action with support for local, profile, global and disk saved variables memory
- Brushed up add/edit macro (changed some colors, replaced "..." with " " in in loops)
- New Macros are now inserted under selected row instead at bottom, scrolling now behaves better when moving macros
- Rearranged "Other" menu in add/edit macro window
- Added 4 new actions/statements: "Label" (used with goto), "Goto label", "ExitMacro" and "ExitLoop"
 
Updated my ED profile:

  • "Select next destination" macro now knows what was your last destination even after a reboot thanks to disk saved variables ;)
  • "Sell my stuff" and "Buy my stuff" uses this variable to know where to go in market to sell or buy items for you
  • "Start hyperjump" improved, now it boosts several times until "mass lock" is off then starts FS drive
  • Added some target selection macros (I have started hunting :D )
  • And of course a new macro to deploy external camera drone (wooot!)

Latest test release is also updated with minor tweaks:

Updated mar. 12, 2015:
- Small optimizations (moving and deleting actions in macros window and moving groups in profiles window + some other tiny changes for a better behaviour)


Update2:
- Changed {LoopCounter} variable now returns loop index from last active loop if variable is get outside of any loop
 
Last edited:
Updated mar. 15, 2015:
- Fixed direct edit macro via log now opens macro for editing regardless of current active profile

Updated ED profile:
- "Select next destination" now works as intended (I forgot to change the rotate action to a if...then...else statement)
- Added "Engines reverse" double click on "X" (Engines speed = 0%) to reverse engine (sends keys "left Alt + F5" = Engines -50%)
 
Updated mar. 17, 2015:
- Added button to set actions inactive / active (optional with right mouse button or space key)
- Added handling for "GlobalHook.dll" missing (exe directly started out of the zip archive...)
- Added handling if application directory is not accessible on application start
- Fixed exeption when activating "Listen" and no voice command is active

Update2:
- Improved context menu and insert placeholder handling in all textboxes that can have placeholders/variables
- Added mouse action x and y coordinates can be variables
- Fixed negative numbers in math functions not working
 
Last edited:
The new trigonometry math functions like SIN and COS (coming in next update)...

the option to have "move mouse pointer" coords as variables...

Trigonometry.png

...tons of fun and wasting time testing the new possibilites with MS Paint :rolleyes::)
 
Updated mar. 18, 2015:
- Added more math functions: SIN, SINH, COS, COSH, TAN, TANH, LOG, LOG10, EXP, ROUND0-3

Updated mar. 21, 2015:
- Fixed move action at bottom (shift & button "Down") in macro edit window
- Added check for duplicate name when adding new label
 
Dragon Naturally Speaking Support?

Updated mar. 18, 2015:
- Added more math functions: SIN, SINH, COS, COSH, TAN, TANH, LOG, LOG10, EXP, ROUND0-3

Updated mar. 21, 2015:
- Fixed move action at bottom (shift & button "Down") in macro edit window
- Added check for duplicate name when adding new label
Hey there, new user here and I specifically made this account to reply to this thread. I am interested in your software and the usefulness intrigues me. My question is, does your software support Dragon Naturally Speaking as the Speech Recognition Engine? That seems to be the biggest downfall of VoiceAttack. I look forward to your reply!
 
Hi Apezdr and welcome to this forum ;)

Unfortunately, Nuance does not provide a application interface that is compatible with Microsoft's speech application interface (SAPI), it would require me to buy the Dragon SDK + Client to test it, have to integrate it from scratch and side by side to microsoft's engine

Another problem is the software development kit they are providing is not for free :eek:, from a quick search on the net it looks as it would require me to pay Nuance a fortune to do make this possible

Besides that,- why is Microsoft's engine such a downfall for you? I would not use it do dictate a letter in english with my cheesy swiss accent, but if you feed it with predefined words it works so good I can even whisper my commands and they get recognized

It really needs some patience as the engine learns with time, and completing the training program (in system settings) is really making a big difference (like from not very usefull to perfectly useful and reliable)
 
Last edited:
I found this thread purely by accident today while taking a break from Exploring in ED, I rarely venture into any other FD Forums other than General Discussions. What's missing right now is a tutorial with examples that I can follow that explains just how good your program is without having to do lots of trial and error first. Only then can I see it's potential and adapt accordingly.

+Rep for taking the time to create a new and useful tool, will keep this thread bookmarked so I can follow it's progress.
 
Back
Top Bottom