Far-field Voice Local Command#


These are the XCORE-VOICE far-field local control example designs demonstrating:

  • 2-microphone far-field voice control with I2C or UART interface

  • Audio pipeline including interference cancelling and noise suppression

  • 16-phrase English language speech recognition

Example designs#


This is the far-field voice local command (FFD) example design with Sensory TrulyHandsfree™ (THF) speech recognition and local dictionary.

When a wakeword phrase is detected followed by a command phrase, the application will output an audio response and a discrete message over I2C and UART.

Sensory’s THF software ships with an expiring development license. It will suspend recognition after 11.4 hours or 107 recognition events; after which, a device reset is required to resume normal operation. To perform a reset, either power cycle the device or press the SW2 button.


  • XK-VOICE-L71 board

  • Powered speaker(s) with 3.5mm jack connection (OPTIONAL)

Hardware Setup#

This example design requires an XTAG4 and XK-VOICE-L71 board.

all components

Connect the xTAG to the debug header, as shown below.


Connect the micro USB XTAG4 and micro USB XK-VOICE-L71 to the programming host.

programming host setup
Speakers (OPTIONAL)#

This example application features audio playback responses. Speakers can be connected to the LINE OUT on the XK-VOICE-L71.


Running the Demonstration#

Flashing the Firmware#

Connect the XTAG4 via USB to the host computer running the XTC tools, and power on the board directly via USB.

On the host computer, open a XTC Tools Command Prompt.

xflash --quad-spi-clock 50MHz --factory example_ffd.xe --boot-partition-size 0x100000 --data example_ffd_data_partition.bin

Being returned to the prompt means flashing has completed, and the XTAG4 may be disconnected.

Speech Recognition#

Speak one of the wakewords followed by one of the commands from the lists below.

There are three LED states:

  • Flashing Green = Waiting for Wake Word

  • Solid Red & Green = Waiting for or Processing Command

  • Fast Flashing Red = Evaluation period has expired

The application resets waiting for the wakeword (flashing green). Upon recognizing ‘Hello XMOS,’ waiting begins for a command (solid red & green). After a period of inactivity, or successful command processing the application returns to waiting for wakeword (flashing green).


  • Hello XMOS

Dictionary Commands

  • Switch on the TV

  • Switch off the TV

  • Channel up

  • Channel down

  • Volume up

  • Volume down

  • Switch on the lights

  • Switch off the lights

  • Brightness up

  • Brightness down

  • Switch on the fan

  • Switch off the fan

  • Speed up the fan

  • Slow down the fan

  • Set higher temperature

  • Set lower temperature