Pico-ITX i.MX8M Board Enables Offline Voice Control with Snips

Orange Pi Development Boards

A few days ago, we covered Estone Technology’s MJ-100 RK3399 rugged tablet. I’ve just realized Estone Technology used to promote their embedded product under the Habey USA brand, which we covered a few times here, and the company has also announced another new product ahead of Embedded World 2019 with their EMB-2238 Pico-ITX i.MX8M board specifically designed for voice control applications.

The company setup two voice control demos with the board: one with Amazon Alexa Voice Service (AVS) and another with Snips that works locally without any Internet connection. We actually came across Snips previously for an article comparing microphone arrays, but I never looked into Snips into details or saw an actual demo.

Estone EMB-2238Let’s have a quick look at EMB-2238 board specifications first:

  • SoC –  NXP i.MX 8MQuad  with 4x Arm Cortex-A53 cores @ 1.5GHz, 1x Arm Cortex-M4 realtime-core @ 266MHz, Vivante GC7000L/GC7000LVX with support for OpenGL/ES 3.1, OpenGL 3.0, Vulkan, OpenCL 1.2
  • System Memory – Onboard 2GB LPDDR4, up to 4GB
  • Storage – Onboard iNAND flash (8GB default), 1x micro SD slot, 265K EEPROM with write protect control
  • Display Interface
    • 1x micro HDMI up to up to 4096×2160 @ 60Hz
    • 1x MIPI 4-lane DSI for 7”, 8”, 10.1” and other size LCD panel up to 1920 x 1200 resolution
  • Audio
    • 1 x mono Class D speaker out, 2W(4Ω), 2 (R/L) x HP out header
    • 1x 40-pin FPC expansion header with 8 channel digital audio input and 8 channel digital audio output (SAI1) interfaces with 32-bit @ 384 kHz fs and TDM support, 1x SPDIF, 1x QSPI
    • Dual digital MEMS microphone header via CS47L24 with dual DSP, support multi-mic noise suppression, acoustic echo cancellation (AEC), omnidirectional spatial
    • 8 channel digital audio/DMIC inputs (SAI5) for MIC array via 40-pin expansion header
  • Camera I/F – 1x 4-lane MIPI CSI interface
  • Networking
    • 1x 10/100/1000 Mbps Gigabit Ethernet with POE option,
    • Optional second 10/100/1000 Mbps PCIe GbE via PCIe add-on card
    • 1x WiFi/Bluetooth USB module, 802.11 b/g/n + Bluetooth v4.0
  • USB – 2x USB2.0 Type A, 2x USB2.0 header, 1x USB Type C 3.0 OTG
  • Serial – 1x RS-232/RS-485 terminal block, 1x RS-232 header
  • Expansion –
    • 40-pin connector with PCIe x1, GPIO, font panel control, POE power input and 8 channel audio inputs
    • 4+ GPIO, 2x I2C (for TP and MIPI CSI)
  • Misc – Watchdog timer, Programmable timer system reset
  • Power Input – 5V DC header or PoE
  • Dimensions – 100 x 72 mm (Pico-ITX form factor)
  • Temperature Range – Operating: -10 ~ 60°C; storage: -40 ~ 85° C
  • Humidity – 5% ~ 95% @ 40°C (Non-Condensing)

Several expansion boards are offered with the SBC including a PoE board, an audio/video board, and a microphone array.

EMB-2238 PoE & AV Board
EMB-2238 SBC Connected to PoE board and Audio/Video Board – Click to Enlarge

The company provides a Yocto Project built Embedded Linux image (kernel version 4.9, Qt and Wayland), Amazon AVS (Alexa Voice Service) Device SDK, Sensory TrulyHandsfree Wake Word Engine, and Android 8.1.0 for the board. They also setup a Wiki page explaining how to build the Yocto image and works with Amazon Alexa, and uploaded a presentation giving an overview of their voice control solutions.

The video below showcases EMB-2238’s voice control solutions with Snips AI first (offline) and then Amazon Alexa (online).


Snips looks quite interesting. The “technology” page describes the solution as a technology that “runs on-device, works offline and guarantees Privacy by Design”. But default it uses “Snips” as the wake word, but you can always pick your own, or even multiple wake words. The solution supports speech to intent and dialog in English, French, German, and Japanese with more languages coming soon.

Unless you use the default settings, you’ll need to generate data for your specific application with the help of the company:

    1. Describe your intents – Create custom intents and describe them by giving a few examples.
    2. Generate data for it –  Snips will generate thousands of training examples using a patented combination of human operators and algorithms.
    3. Train your assistant – You can then use the data in Snips, or download to use on other platforms.
Snips Voice Interaction
Snips Voice Interaction Example

Snips can be deployed to Raspberry Pi, Android or Linux devices, and if you want to evaluate the solution easily by yourself first, a Snips “voice interaction base kit” for Raspberry Pi is sold on Seeed Studio for $115. Alternatively you could also use your Android or iOS smartphone as explained here.

Snips is free for individual projects and evaluation, but the company charges a per device fee for commercial projects:

Usage outside of a commercial product or service, regardless of whether such product or service is made available for free or for a cost. Snips is only free to use for individual projects, company prototypes and other use cases that don’t result in a distributed, advertised or branded product or service. For commercial use, Snips charges a fee per device

Snips has been around for well over a year, so let us know your impressions in comments,  if you’ve tried it out, or implemented it in your own project or commercial product.

More details can be found on Estone’s SBC product page, and Snips website.

Support CNX Software - Donate via PayPal or become a Patron on Patreon

Leave a Reply

avatar
  Subscribe  
Notify of