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

vendor:

XMOS

version:

1.0.0

scope:

Example

description:

USB audio application with generated DSP

category:

Audio

keywords:

USB, UAC, DSP, Audio

hardware:

XK-AUDIO-316-MC

Overview#

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.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#

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