Overview
iMSB includes voice functionalities, allowing controlling the application by voice commands, as well as performing various type of announcements. The following command types are currently available:
- Control commands: a limited set of commands allowing controlling certain aspects of the application
- Navigation commands: allow to navigate through the various display views that are displayed in the application tab bar
- Value announcements: announce a specified or a set of values, including currently available alarms
- Alarm notifications: in the advent of an alarm. iMSB will announce the alarm with the message defined in the value alarm setup.
- Reached value notifications: iMSB can be configured to automatically announce a specific value every time a given step and threshold is reached. Announcement messages can be defined in the setup.
Control Commands
Voice listening activation and deactivation functions:
- “STOP LISTENING”: tells iMSB not to react to any voice commands any more, except the “start listening” command, which will reactivate the recognition mode
- “START LISTENING”: when voice listening is paused, does reactivate the command recognition mode
- “ARE YOU LISTENING”: will tell if iMSB is currently listening for voice commands or paused
Speech output activation and deactivation functions:
- “DISABLE ANNOUNCEMENTS”: will mute all speech output, such as value announcements and alarm notifications will not be spoken anymore
- “ENABLE ANNOUNCEMENTS”: when voice output is muted, does reactivate the voice announcement mode
- “ARE YOU ANNOUNCING”: will tell if voice announcement mode is enabled or paused
Vario sound playback can be controlled by the following commands:
- “PLAY VARIO SOUND”: starts vario sound playback
- “STOP VARIO SOUND“: stops vario sound playback
When the Map View is displayed the following control commands are available:
- “ZOOM IN MAP”: zoom in map display
- "ZOOM OUT MAP”: zoom out map
- “CENTER MODEL“: centres the model on the map
Flight recording playback control commands (only available in Flight Replay mode):
- "PLAYBACK PAUSE”: pauses flight playback
- “PLAYBACK RESUME”: resumes flight playback from paused state
- “PLAYBACK FAST FORWARD”: increases flight playback speed
- “PLAYBACK SLOW MOTION”: decreases flight playback speed
- “PLAYBACK RESET“ or “PLAYBACK RESET SPEED“: reset flight playback speed to 1x
Navigation Commands
Navigation commands are used to navigate through the display views that are displayed in the bottom application tab bar. A navigation command always starts with the keyword “SHOW” followed by the display name.
E.g:
”show sensors” will display the sensors view
“show vario” will display the vario view
Navigating sequentially forward and backwards through the display views can be achieved with the commands “SHOW NEXT VIEW” and “SHOW PREVIOUS VIEW”. Quering the currently shown view is achieved with "DISPLAYED VIEW”.
Value Announcements
Announcement commands will announce a requested sensor value, statistics value or the currently available alarms.
A command message always starts with the keyword “ANNOUNCE” followed by an optional statistics keyword and a keyword defining the value type. When a requested value or statistics value is not available (disabled or no corresponding sensor instantiated) the user will be notified as such.
Alternatively, instead of using a standard value type keyword the actual name of the sensor value, as defined in the value settings, can be used. This mode needs to be enabled in the application preferences under Voice announcements -> Announce value names. Note that any text in brackets will be discarded and thus not be considered as part of the value name.
Two bulk announcement keywords are also defined. “ANNOUNCE ALL” announces all sensor values and “ANNOUNCE VIEW” announces all values on the currently shown display view. Thus announcement lists can easily be created based on display view specifications and be triggered through the latter command.
The current alarms are issued with the phrase “ANNOUNCE ALARMS” or “ANNOUNCE CURRENT ALARMS”.
The elapsed flight time can be uttered with the phrase “ANNOUNCE TIME” or “ANNOUNCE FLIGHT TIME”.
E.g:
”announce voltage” announces all available voltage values
“announce maximum current” announces the maximum current reached within the flight session of all available current sensors
“announce alarms” announces all current alarms. If no alarms are available the user is notified accordingly
Value type keywords:
- “RECEIVER VOLTAGE”: receiver voltage
- "LQI” or “RECEIVER LQI”: receiver LQI
- "VOLTAGE”: all available voltage values
- "CURRENT”: all available current values
- "USED CAPACITY”: all available current sensor used battery capacity values
- "REMAINING CAPACITY”: all available current sensor used battery capacity values
- "POWER”: all available voltage/current sensor power values
- “TEMPERATURE”: all available temperature values
- “HEIGHT” or “ALTITUDE”: vario height or gps height/altitude if available
- “ABSOLUTE ALTITUDE”: gps or calculated altitude if available
- “VARIO” or “CLIMB RATE”: vario climb rate
- “HEIGHT CHANGE” or “ALTITUDE CHANGE”: calculated or measured height change if enabled
- “INTEGRAL VARIO”: calculated or measured integral vario if enabled
- “SPEED”: all available speed values (ground speed and air speed)
- “GROUND SPEED”: all speed values returned by a gps sensor (2D and 3D)
- “AIR SPEED”: all air speed values returned by a pitot sensor
- “DISTANCE”: all gps distance (2D and 3D)
- “FLIGHT DISTANCE”: gps flight distance
- “HEADING”: heading value in numerical form
- “CARDINAL HEADING”: heading value in cardinal form
- “AZIMUTH”: azimuth value in numerical form
- “CARDINAL AZIMUTH”: azimuth value in cardinal form
- “ELONGATION”: flight direction relative to the azimuth
- “RPM”: all RPM values from RPM sensors
- “ENGINE TIME”: the engine run time defined in an RPM sensors
- “ACCELERATION”: acceleration values
- “COORDINATES”: gps coordinates
OLC sensor specific keywords:
- “NEXT WAYPOINT”: the name of the next targeted waypoint
- “DISTANCE TO WAYPOINT”: the distance remaining to the next targeted waypoint
- “DISTANCE TO GOAL”: the remaining distance to the goal
- “LAP”: the number of laps flown
- “LAP HEIGHT”: the height in the current lap
- “LAP SPEED”: the speed in the current lap
Statistics keywords:
- “MINIMUM”: minimum value within the flight session of the following value type
- “MAXIMUM”: maximum value within the flight session of the following value type
- “AVERAGE”: average value within the flight session of the following value type
Alarm keywords:
- “ALARM” or “CURRENT ALARMS”: announce all currently available alarms
Time and date keywords:
- “TIME” or “FLIGHT TIME”: announce the elapsed flight time since logging was started
- “CLOCK”: announces the actual time
- “DATE”: announces the date
Value lists keywords:
- “ALL”: announces all sensor values
- “VIEW”: announce all values that are visible on the currently shown display view
Alarm Notifications
In the advent of an alarm, iMSB will announce the alarm with the message defined in the corresponding value alarm setup (provided the alarm has been enabled).
An alarm message can be freely defined and can contain the following variables that will be replaced by their corresponding value:
- $NAME$: will be replaced with the name of the sensor value (note that any text in brackets will be discarded and thus not be considered as part of the value name)
- $VALUE$: will be replaced with the actual sensor value
- $VALUE ALARM$: will be replaced with the defined alarm threshold
E.g:
”Alarm $NAME$ $VALUE$. Alarm threshold is $VALUE ALARM$” will be converted to “Alarm voltage U1 3.8V. Alarm threshold is 4.0V”.
Reached Value Notifications
iMSB can be configured to automatically announce a specific value every time a given step and threshold is reached. For instance the height parameter of a vario sensor can be configured such as the user gets notified every 50m above 200m.
Notification messages can be freely defined using the same parameters as described in the Alarm Notifications section.
Application Notes
Voice features are only enabled while iMSB is performing a real-time log or playing back a recorded log file.
For best results it is advisable that earphones with microphone or a Bluetooth headset is used. Note that when no headset is available, simultaneous vario sound playback and voice commands are not possible.
In order to improve voice recognition in particularly windy conditions an improved noise reduction mode can be specified in the application preferences (Voice commands -> Noisy environment). This mode allows for improved recognition scores, however with less accuracy.
Credits
iMSB uses the CMU Pocketsphinx library, the CMU Flite library, the CMU CMUCMLTK library (http://cmusphinx.sourceforge.net) and Politepix’s OpenEars (http://www.politepix.com/openears).