Skip to content
View in the app

A better way to browse. Learn more.

The AVSIM Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Strange Behavior Indeed

Featured Replies

Here's one that I don't think is programming but I expect you have run into it before - Sometimes, right in the middle of a checklist item, the voice doesn't wait for me to respond - it simply repeats as if I have replied "repeat" when I haven't said anything. A number of the voices do it, but rarely at the same spot - So it isn't like a certain spot in the code has a problem. The only conclusion I can make is that the choice options (at point A in the code) occur before the voice is complete. I think it happens because I am using the loudspeakers - I just tried it with my headphones and the voice which has the most difficulty (by that I mean the voice that has this problem) performed perfectly.

So, is there a way to delay processing the checking of responses - I haven't seen an option to do this that I know of. Here's my code for one of the most troublesome items:

:Parking_Brake
;
[*Check|Repeat*] (@C208B:Parking Brake - SET) (WAIT:10000)
A (L:AaoClConfirm) 1 == if{ (GOTO:Brake_Check) }
(L:AaoClConfirm) 2 == if{ (@C208B:I say again 1) (GOTO:Parking_Brake) }
;
:Brake_Check
(A:BRAKE PARKING INDICATOR, Bool) 0 == if{ (@C208B:I  say  again 2) (GOTO:Parking_Brake) } els{ (@C208B:Parking  Brake  Confirmed  -  Set) }
;
;
;
:Fuel_Tank_Selection
;

The phrase that causes the problem (with the WAIT Command) and the phrase following is the one I would like to delay. NOTE: I have placed the numbers 1 and 2 after the "I say again" so that I know the line with the "1" is the line that is repeated! The WAIT will delay later (at least I have tried to delay up to 10 seconds but the repeat happens almost immediately). Your suggestions will be most appreciated!

I can record what's happening but I'll have to send it to you via e-mail. Let me know.

Edited by The Artful Dodger

  • Commercial Member
1 hour ago, The Artful Dodger said:

I expect you have run into it before

Sorry, but no, never heard of this before.

  • I am assuming that you are not manipulating the timeout LVar?
  • You have a typo in the line after the repeat, there is an  "A" at the beginning of the line
  • IMO the WAIT cannot have any effect in this spot and should not be used like this. It may well be the reason for the behavior that you are seeing.
  • You are aware that SPEAK is also asynchronous? AAO does not wait until the SPEAK is complete, script execution continues immediately.
  • Why all the ";" on the empty lines? Just leave them empty?

But, as I wrote earlier, this is not how this system was supposed to be used. Checklist advance and item repeat happen anyway and are configurable, both in duration and text. No need to use options like this. I have no idea what that jumping back over the condition element with the GOTO in your Repeat branch will do to the checklist system - it can screw it up really badly I think. This should not be done at all. If it works, consider yourself lucky. Just be mindful that this operation is technically not supported.

Edited by Lorby_SI

LORBY-SI

  • Author

OK - I understand you don't like what I've done. So, please show me how to 'properly' program this item:

1. Copilot says: "Parking Brake".

2. Copilot waits until I respond either "Check" or "Repeat".

3.a. If I respond "Check", Copilot goes to 4.

3.b. If I respond "Repeat", Copilot responds with "I Say Again" and then returns to number 1.

4. Copilot then checks "(A:BRAKE PARKING INDICATOR, Bool)" - confirms that the parking brake is really set'.

5.a. If true, Copilot responds with "Parking Brake Confirmed Set" and continues with the next item.

5.b. If false, Copilot responds with "I say again" and returns to number 1.

This is the most realistic scenario between a pilot and copilot I can think of - but I am not a real pilot.

I am sorry but I came to AAO from SPAD (where I had a lifetime subscription) on the promise of an audible checklist and this is what I consider to be a checklist. If no one else has created a checklist like this, it's because either they didn't think of it or they couldn't be bothered.

But, please know that I appreciate your help and I apologize for asking so many questions.

Edited by The Artful Dodger

  • Commercial Member

3.a) and b) are unneccessary, because the checklist system will do this automatically. You don't have to say "Repeat", the item will be repeated anyway when you don't react in time.

Quote

(SPEAK:PB checklist) (WAIT:5000)
:pbcheck
*(SPEAK:I say again: )*
[] (SPEAK:set parking brake)
(A:BRAKE PARKING INDICATOR, Bool) 1 == if{ (SPEAK:parking brake - SET and checked) (GOTO:pbdone) }
(SPEAK:parking brake - not set) (WAIT:2000) 
(GOTO:pbcheck)
:pbdone
(END)
 

 

32 minutes ago, The Artful Dodger said:

I apologize for asking so many questions.

Answering your questions has cost about 10 times the amount that was gained by the license sale. I am sorry that you don't like how the checklist system works, but there is a limit to what I can do.

Edited by Lorby_SI

LORBY-SI

  • Commercial Member
45 minutes ago, The Artful Dodger said:

I am sorry but I came to AAO from SPAD (where I had a lifetime subscription) on the promise of an audible checklist and this is what I consider to be a checklist. If no one else has created a checklist like this, it's because either they didn't think of it or they couldn't be bothered.

I cannot make features based on what a single user considers to be the correct way of doing it.

In theory, your checklist implementation could work too. But troubleshooting your code is way outside of the scope of what I can provide as support. I will keep it in mind, and look into it when I get a chance.  But I would need the full checklist file. 

Edited by Lorby_SI

LORBY-SI

  • Commercial Member
2 hours ago, The Artful Dodger said:

I think it happens because I am using the loudspeakers - I just tried it with my headphones and the voice which has the most difficulty (by that I mean the voice that has this problem) performed perfectly.

Consider using the PTT button functionality, so AAO doesn't listen all the time. Then it can't hear itself talking.

Edited by Lorby_SI

LORBY-SI

  • Author

Thinking about it, I think all that would be required would be to

a. Provide a way to delay the execution of the [*check|repeat*] Section, much like the Wait statement. But that puts the onus for the delay time on the user. OR

b. Provide an option to wait until the SPEAK command is complete - I would be surprised (but I've been surprised before) if you (behind the scenes not the users) didn't have the capability to wait until notified that a subthread is finished. 

I will look at your suggestions tomorrow. I was just in the process of telling you I would look at a ptt tomorrow too! 

Edited by The Artful Dodger

  • Commercial Member

It just dawned on me that I completely misunderstood your post. Sorry about that - you were asking about how to prevent your computer from hearing itself talking and thus triggering the checklist, right? The PTT Button is the way to go.

Forget my checklist code above, I think that it will have the same problem.

And yes, of that I've heard before, happened to other people too. Not a lot can be done about that - when you don't add a PTT button, AAO is listening all the time - and whenever a term is recognized, it will enter the processing. You cannot delay that in any way, it just happens. You have to make sure that AAO is not listening when it is not supposed to.  The easiest way is using the PTT, that is what it's been made for.
This can potentially also be done by integrating the existing voice recognition trigger events into the script somehow.

I will also look into a way of doing it in code. But I can only do it (if possible) while a SPEAK command is running - not for SOUNDs (wav/mp3 samples are also used in this context.) The problem with that is, that the checklist is usually not the only thing waiting for voice input, so I cannot just block voice recognition entirely only because the checklist is running.

Edited by Lorby_SI

LORBY-SI

  • Author

Just a quick addition - I added a PTT button and it went through the entire checklist (as far as I've gotten) without a hitch. That was obviously the problem. Thank you for you patience and your assistance!

  • Commercial Member
41 minutes ago, The Artful Dodger said:

Just a quick addition - I added a PTT button and it went through the entire checklist (as far as I've gotten) without a hitch. That was obviously the problem. Thank you for you patience and your assistance!

I will add an optional setting in version 4.20 of AAO that will pause the voice recognition while the text-to-speech is talking.

Edited by Lorby_SI

LORBY-SI

Archived

This topic is now archived and is closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.