Voice Input

DataWedge 7.4

Overview

Voice Input enables DataWedge to convert spoken entries into keystrokes as if they were typed or acquired from a scan. Voice Input uses the Google speech recognition engine included on GMS devices. Voice-to-data capture can be useful in cases when a barcode is wet, damaged, covered with stray markings or otherwise cannot be scanned.

Voice Input options:

  • Begin voice capture with a defined start phrase or PTT button
  • Terminate voice capture with a phrase or timeout value
  • Send a TAB character when speaking the "send tab" command
  • Send an ENTER character when speaking the "send enter" command
  • Limit returned data to alpha or numeric characters
  • Play an audio prompt when waiting for a start phrase or data capture
  • Validate spoken data, edit acquired data as needed
  • Works offline

This feature is supported only on Zebra GMS devices with Android Nougat and later.

Watch the DevTalk presentation on DataWedge Voice Input:

Version History

  • DataWedge 7.4 - Introduced voice capture activation by PTT (push-to-talk) button with new Start option voice input parameter for DataWedge Intent API.

How it Works

Voice Input relies on DataWedge profiles for configuration. Ensure that the application to receive the voice captured data is associated to the profile. The Voice Input section in the profile provides the options that control the voice data capture. See Main Features section below.

Voice data capture is activated either by a pre-defined start phrase or by pressing the PTT button. When running, Voice Input is placed in the state "waiting for start phrase" (see Figure 8). Voice data capture begins after speaking the predefined "start phrase", which then changes the state to "waiting for data" (see Figure 9). Voice capture stops when the timeout value elapses after speaking the data or after speaking an optional "end phrase", if defined. The data source can be identified as voice input to process the voice data according to any application requirements. Barcode scanning and voice input can exist in the same DataWedge profile so both data capture methods may be used interchangeably.

Watch a demo on the basics of Voice Input with DWDemo app:

Watch a demo showcasing the Send Enter command for multiple field entries:

Main Features

Voice Input features are accessible from the DataWege profile.

img

  • Enabled - Enables voice input.

  • Data capture start option - Select trigger option for voice capture.

  • Start phrase - Sets a start phrase to trigger voice capture. Start phrase is specified in option Data capture start phrase.
  • PTT button - Sets PTT button to trigger voice capture. Only supported on EC30, MC93, TC52/TC57, TC72/TC77, and TC8300 devices. For other devices, the PTT button may be mapped to an available button on the device.
  • Data capture start phrase - Specified phrase to start the data capture if Start phrase is selected as the Data capture start option. Numbers and special characters are not supported as part of the start phrase. The default value is "start."

  • Data capture end phrase - Optional phrase that ends the data capture. There is no default value.

  • End detection timeout - Sets the timeout value (in seconds) for the data capture during the “waiting for data” state. If the value is set to "0" and the end phrase is defined, it waits infinitely for the data capture. Whereas, when the end phrase is not defined, data is returned immediately. This timeout is approximate, as it may encounter a 1 to 2 second delay. The default value is "0."

  • Tab command - Sends a tab key when speaking the command "send tab". This command is supported only when the device is at the "waiting for start phrase" state.

  • Enter command - Sends an enter key when speaking the command "send enter." This command is supported only when the device is at the "waiting for start phrase" state.

  • Data type - Configures the data type to be returned, with selections of: Any, Alpha, or Numeric. The data type is required to restrict data captured according to the preferences. Data type selections:

  • Any - All scanned data is returned. For example, if the barcode ABC123 is scanned, it will return ABC123 as is.
  • Alpha - Only alpha characters are returned. For example, if the barcode ABC123 is scanned, it will return ABC only.
  • Numeric - Only digits are returned. For example, if the barcode ABC123 is scanned, it will return 123 only.
  • Start phrase waiting tone - Controls the start phrase waiting tone. It enables/disables the audio feedback for “waiting for start”, notifying that the device is waiting to start the speech engine in case the toast message notification is missed and there is a change in “waiting for data” state.

  • Data capture waiting tone - Controls the data capture waiting tone. It enables/disables audio feedback for “waiting for data”, notifying that the device is waiting to capture data in case the toast message notification is missed.

  • Offline speech recognition - Enables offline speech recognition when there is no access to the internet. This uses an offline recognition speech engine to detect the data spoken.

  • Validation window - Validates the result after speaking, displaying the spoken data and provides for editing the data on the same screen, if needed. This is useful in offline mode, since the results received in this mode might not be accurate.

img

See Limitations below.

Configuration

Voice Input Parameters

DataWedge Voice Input can be controlled programmatically with DataWedge APIs. Refer to DataWedge Voice Input Plugin in Set Config API to configure the following Voice Input parameters:

Param Name Param Values
voice_input_enabled true, false
voice_data_capture_start_option 0 - Start phrase (default)
1 - PTT button
voice_data_capture_start_phrase start (default value)
voice_data_capture_end_phrase [blank] (default value)
voice_end_detection_timeout 0-30 (in seconds)
voice_tab_command true, false
voice_enter_command true, false
voice_data_type 0 - Any, 1 - Alpha, 2 - Numeric
voice_start_phrase_waiting_tone true, false
voice_data_capture_waiting_tone true, false
voice_validation_window true, false
voice_offline_speech true, false
voice_data_capture_start_option START_PHRASE (default)
PTT_BUTTON

Set Voice Input Configuration Sample

Refer to DataWedge Set Config API.

Limitations

  • Voice Input is validated only with English. For use with other languages, the device must be connected to the internet.
  • Offline speech recognition provides lower accuracy levels.
  • In GMS Restricted mode with the use of App Manager's DisableGMSApps action, Voice Input will not work since it relies on Google speech recognition.
  • Do not use Google Assistant while DataWedge Voice Input is in use, as it can lead to undesirable behavior.
  • Providing numbers and other special characters as part of the data capture start phrase is not supported.
  • Voice Input is not supported if Enterprise Home Screen (EHS) is in restricted mode. However, enabling all the privilege settings in EHS will reinstate Voice Input in DataWedge.
  • If the PTT (push-to-talk) button is released during voice capture, there can be a 1 to 2 second delay to display the captured data due to the speech engine continually listening at that moment.
  • When PTT Express is enabled and running, Voice Input should not be used simultaneously, otherwise it can lead to unexpected behavior.
  • When Voice Input is enabled in an active DataWedge profile, the media volume stream is muted via the volume control of the device.

Related guides: