Adding run-time control to the DSP in a USB audio application with an active speaker example.
Overview#
Note
Some software components in this tool flow are prototypes and will be updated in Version 2 of the library. The underlying Digital Signal Processing (DSP) blocks are however fully functional. Future updates will enhance the features and flexibility of the design tool.
This application note describes how to add real-time control to a DSP pipeline developed using lib_audio_dsp. Output audio from the host is passed through a DSP pipeline generated with lib_audio_dsp. An active speaker application with volume control and bass boost is used as the example.
Key Features#
The application is designed to run on the xcore.ai Multichannel Audio Board (MCAB). It uses the XMOS USB Audio framework to implement a USB Audio device with the following key features:
USB Audio Class 2.0 (High Speed)
Multi-channel inputs and outputs connecting the host to ADCs and DACs
DSP that is simple to configure to a specific application
48 kHz sample rate
Known Issues#
None
Required Tools#
XMOS XTC Tools: 15.3.0
Required Libraries (Dependencies)#
lib_sw_pll (www.github.com/xmos/lib_sw_pll)
lib_xua (www.github.com/xmos/lib_xua)
lib_adat (www.github.com/xmos/lib_adat)
lib_locks (www.github.com/xmos/lib_locks)
lib_logging (www.github.com/xmos/lib_logging)
lib_mic_array (www.github.com/xmos/lib_mic_array)
lib_xassert (www.github.com/xmos/lib_xassert)
lib_dsp (www.github.com/xmos/lib_dsp)
lib_spdif (www.github.com/xmos/lib_spdif)
lib_xud (www.github.com/xmos/lib_xud)
lib_i2c (www.github.com/xmos/lib_i2c)
lib_i2s (www.github.com/xmos/lib_i2s)
lib_audio_dsp (www.github.com/xmos/lib_audio_dsp)
Support#
Issues can be raised against the software at: http://www.xmos.com/support