lib_voice: Voice processing library¶
Introduction
lib_voice is a collection of DSP components used to build a front-end voice processing pipeline.
At its core, the library provides high-performance audio processing algorithms that are combined into a configurable pipeline. The pipeline takes input from a pair of microphones and applies a sequence of signal processing stages to extract a clean voice signal from complex acoustic environments. An optional reference signal from a host system can be provided to enable Acoustic Echo Cancellation (AEC), removing echo from the microphone signal.
The pipeline produces two output streams: one optimized for Automatic Speech Recognition (ASR) systems and another suitable for voice communications.
lib_voice includes a flexible audio routing infrastructure and supports a range of
digital inputs and outputs, allowing it to be integrated into a wide variety of system configurations.
The pipeline can be configured at startup and adjusted during operation via a set configuration parameters.
All source code is provided, enabling full customization and the integration of additional audio processing algorithms.
Usage
lib_voice is intended to be used with the XCommon CMake
, the XMOS application build and dependency management system.
To use this library in an application include lib_voice in the application’s APP_DEPENDENT_MODULES list in
CMakeLists.txt, for example:
set(APP_DEPENDENT_MODULES "lib_voice")
Note
Dependent modules should be pinned to release versions where possible, otherwise the latest commit on the develop branch will be used. For further details on managing modules, pinning to a release version and other options, please see the page xcommon-cmake Dependency Management.
All lib_voice functions can be accessed via the voice.h header file, for example:
#include "voice.h"
Documentation structure
This document will cover the following topics:
Audio processing : A walkthrough of the DSP modules supported by
lib_voice.Examples : Simple demonstrations of how to put APIs together and get them running.
Resource usage : Memory and CPU requirements for
lib_voiceDSP componentsAPI reference : References to all DSP components’ APIs.