Release Notes - 2019A

URL: https://github.com/nihospr01/OpenSpeechPlatform-2020B/tree/2019a_v2.0

Transducers

The BTE-RICs have analog-to-digital (ADC) and digital-to-analog (DAC) converters in the ear level assemblies.

In addition, the BTE-RICs have 6DOF Inertial Motion Units (IMU) with a 3D accelerometer and a 3D gyroscope in each ear. The ADC supports up to 4 microphones per ear, 96 kHz sampling with 24 bits/sample. Release 2019a supports 2 mics per ear at 48 kHz, 24 bits/sample. The ear level assemblies connect to a wearable pendant with a 4-wire cable, using custom LVDS signaling. This release includes all the files for constructing the electronics, plastics and cables for BTE-RICs.

Hardware

In this release, we replaced the Snapdragon™ 8016 single board computer and a custom mezzanine board with Snapdragon™ 8016 system, on module (SoM), and a custom carrier board. The wearable device measures 8.4×5.6×1.9cm and weighs 120g, roughly 70% less volume and 50% less weight compared with Release 2018a.

The processor has 4 CPU cores named C0 – C3. All the system background tasks and other non-realtime tasks are scheduled to run on C0. The realtime tasks are scheduled to run on C1, C2, and C3.

Firmware and OS

New in release 2019a are the OS and firmware files. The OS files include:

  1. root file system
  2. rootfs.img with Debian OS
  3. development tools
  4. ALSA utilities and WiFi module
  5. and kernel system boot.img with drivers and ram disk

HA processes – RT-MHA – and user interface software – EWS – are part of the root file system and configured to run upon boot.

Firmware includes FPGA code to control audio hardware and multiplex/de-multiplex I2S and SPI as a single stream. The system and service manager daemon systemd is configured to run on C0 in the file /etc/systemd/system.conf.

Since the kernel is custom, it is not managed by the package manager apt; but can be installed or updated boot.img using fastboot. The remaining system components can be updated with apt, and the OSP components via git.

Software

During the initialization, the system launches RT-MHA on C3 for binaural processing. Then three additional threads are spawned on C2, C1 and C0. Thread one is for processing the left channel on C1; thread two is for processing the right channel on C2; and thread three is for EWS on C0.

To deal with the concurrency issues that come when three parallel threads are running, we use atomics. Atomics are well suited for this application because RTMHA is a mixed critical application. Three out of the four threads are real-time, while the last thread is non-real-time. By using atomics, we can ensure that the non-real-time thread does not hinder the operation of the real-time thread because the atomic operation is lock-free and implemented at the hardware level. All other other non-realtime tasks (e.g. file I/O, etc.) are scheduled to run on C0 only.

These architectural changes along with A2D and D2A in BTE-RICs have mitigated the audio artifacts observed in Release 2018C. The overall end-to-end analog latency is about 2.5 ms with the RT-MHA algorithms disabled and about 5.7 ms RT-MHA enabled, thus leaving about 4.3 ms latency budget for noise management and other features.

Applications

This release includes web apps hosted on EWS for:
  1. researcher control of RT-MHA
  2. self-fitting
  3. A/B testing
  4. outcomes measurements (A/B comparison, 4 alternative forced choice)
  5. ecological momentary assessment – EMA.
The File I/O feature enables repeatable, reproducible experiments using canned speech files and recording ambient environment during user activities such as EMA and self-adjust.

Guides and Documentation

OSP Getting Started Guide – This documents the steps needed to install and run OSP. Please follow the setup steps in order before proceeding to use the system.

Enbedded Webserver User (EWS) Guide – This guide offers instructions on testing the web-apps to make sure they are working properly. It also features instructions on customizing the web-apps for individual needs.

RT-MHA API– This documentation provides information about all of the possible functions the real-time sound processing engine is capable of.

Skip to content