Author Topic: How do I tell VA to isolate words out of spoken sentences, disregarding the rest  (Read 6711 times)

KansasCS

  • Guest
My problem is simple yet persistant.
I play Falcon BMS and I like(not love) Voice attack for it.
As long as the commands are short, spoken clearly, provided the correct addition to the underlying audio library, everything is fine. It stops being fine as soon as I bring callsigns into it. Adding them to the potential command iteration and audio library would be a behemoth.

'request picture; requesting picture' when said, is recognized.
'Chalice 1 Cowboy 5 1 request/ing picture' obviously is not.
Since I need to voice the commands in an online environment to add to everyones SA and of course, immersion, simply blurting out 'request picture' in a potential package of 8 or more ships that need to know who is talking is not an option.
My question is this:
Is voice attack potentially smart enough to cherry pick certain words out of a spoken sentence for situations like mine?
If so, how?

Best regards,
Kansas

Pfeil

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4782
  • RTFM
If I understand correctly, you're looking to ignore everything in the spoken phrase aside from your command string?

You can use wildcards by adding "*" in front and/or behind your command to ignore what's spoken before and/or after the command phrase, respectively.

I.E. "*request[ing;] picture*".

However, it is important to note that this method necessitates the use of dictation(which isn't so much a VoiceAttack limitation as a speech API limitation), rather than matching complete phrases. The Microsoft speech engine is acceptable at the latter, whereas the former...less so.

Windblow

  • Guest
Hi Pfeil,
I Am used to play Falcon BMS and try to do what KansasCS tried.

could you elaborate a bit more your sentence :
"However, it is important to note that this method necessitates the use of dictation(which isn't so much a VoiceAttack limitation as a speech API limitation), rather than matching complete phrases."
I don't really underdstand why we should use dictation, as "When dictation mode is on, you can still issue normal VoiceAttack commands" (p48 Help)

I have tried for example :
'*Request landing runway*'
my phrase is :
Kunsan tower falcon 1 1 request landing runway
'Request landing runway' is recognized with a confidence over 90% so the actions follow
but here is what VoiceAttack wrote :
23:40:57 - Listening suspended
23:40:56 - Recognized : 'request landing runway' (contains ' landing runway')  (Confidence 92)
23:40:53 - Catch-all for 'landing runway' invoked, but rejected with confidence level 36/90.
23:40:52 - 'weapons hold' recognized, but rejected with confidence level 57/90.
23:40:50 - Listening resumed
That means that VA is trying to recognize phrases, even if the wildcard, isn't it ?
« Last Edit: May 12, 2018, 03:51:36 PM by Windblow »

Pfeil

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4782
  • RTFM
could you elaborate a bit more your sentence :
"However, it is important to note that this method necessitates the use of dictation(which isn't so much a VoiceAttack limitation as a speech API limitation), rather than matching complete phrases."
I don't really underdstand why we should use dictation, as "When dictation mode is on, you can still issue normal VoiceAttack commands" (p48 Help)
Dictation in this case does not refer to "dictation mode" as with the "Start Dictation Mode" action, but to how the speech engine will function internally when using wildcards.

As stated, the speech engine has to make a guess at what you're saying, rather than simply checking the list of command phrases fed to it by VoiceAttack and picking whichever phrase is a likely match; This means recognition accuracy is lessened.

VA is trying to recognize phrases, even if the wildcard, isn't it ?
Quote
VoiceAttack will execute all of the commands in which the wildcards apply. 
So, if you have '*rocket*' and '*ship*' and '*attack*' as commands, and you happen to say, 'I would like to attack the ship with my rockets', VoiceAttack will attempt to execute 'attack', then, 'ship' and then 'rocket' in that order
(the order in which they are spoken, but due to the asynchronous nature of this type of situation, the order cannot be guaranteed (use with caution).
So unlike with a regular command, VoiceAttack will keep looking for commands even when it's already matched one.

The section on wildcards starts on page 17 of VoiceAttackHelp.pdf

Windblow

  • Guest
Thanks for your help Pfeil.
About "Dictation", thinks are clear now  :)

The Help document is constantly open in my office  ;)
So About 'Wildcards', one have to tune confidence to be sure VoiceAttack will recognize the phrase you want

SemlerPDX

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 291
  • Upstanding Lunatic
    • My AVCS Homepage
I run a BMS Server at VG, and have loved VA for years just for the ability to control the AI Wingmen with natural voice commands instead of button/GUI menus.  Can't remember when Wildcards were introduced, but I remember quickly changing all my BMS AI Wingman commands to Wildcards. It's been the coolest use of Wildcards throughout my profiles, and it's more immersive to play and more entertaining to watch in recordings or streams, too.

I opened up the profile to have a look (it's very dirty, never meant to share with others, no central keypress variables file for easy reconfiguration and was thrown together in a matter of hours), but it works very well, and has many recognition options for the various ways someone might say a common command.

Check it out - might give you ideas. (profile uses default 4.33.5 keyboard bindings)


"Seosan Tower, this is Cowboy 1 1  *requesting clearance to land*, over"
« Last Edit: May 11, 2023, 12:02:39 PM by SemlerPDX »