:orphan:


########################################################
AN02015: Run-time DSP control in a USB Audio Application
########################################################

:vendor: XMOS
:version: 2.0.0
:scope: Example
:description: Adding run-time control to the DSP in a USB audio application with an active speaker example.
:category: Audio
:keywords: USB, UAC, DSP, Audio
:hardware: XK-AUDIO-316-MC

********
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.1

*********************************
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)

*************
Related notes
*************

 * AN02014: Integrating a Generated Audio DSP Pipeline into a USB Audio Application
 * AN02031: Live Streaming Sound Card Example

*******
Support
*******

Issues can be raised against the software at: http://www.xmos.com/support

