:orphan:

################################################################################
AN02014: Integrating a Generated Audio DSP Pipeline into a USB Audio Application
################################################################################

:vendor: XMOS
:version: 2.0.0
:scope: Example
:description: USB audio application with generated DSP
: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 firmware that provides a high-speed USB Audio device designed to be compliant to version 2.0 of the USB Audio Class Specification based on the xcore.ai device. Output audio from the host is passed through a DSP pipeline generated with lib_audio_dsp.

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

 * AN02015: Run-time DSP control in a USB Audio Application
 * AN02031: Live Streaming Sound Card Example


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

This package is supported by XMOS Ltd. Issues can be raised against the software at: http://www.xmos.com/support

