Skip navigation

emUSB-Device Audio

  • Record audio from the host
  • Send audio to the host
  • Cross-platform, no drivers needed on Linux, macOS or Windows
  • High performance
  • Small footprint

Easily transmit audio via USB. Record or replay audio received from the host, send recorded audio to the host.
Simple and driverless! Plug-and-play on any operating system.

Enhance your device with audio capabilities

Using emUSB-Device Audio, an embedded device can be transformed into an audio recorder or an audio speaker. An audio jack and dedicated audio hardware is not necessarily available on every design. emUSB-Device Audio allows the device to handle audio data irrespective of the available hardware, for example audio data played from a PC (Linux/Windows/Mac) can be saved directly onto an SD card.

emUSB-Device-audio-headset-conference.png

Typical Applications

The audio class is the foundation for any embedded device handling audio data. Whether it has a microphone or speaker, or whether it simply functions as an audio editor.

Typical applications range from speaker phones, conferencing systems, or headsets, to music instruments, voice recorders, music players, or sports wearables.

Application Samples emUSB-Device Audio

Conference speakerphone
emUSB-Device-audio-conference-500x.png
Headset
emUSB-Device-audio-headset-500x.png
USB sound card
mini-Soundcard-500x.png

Technical details

SEGGER’s implementation of the Audio class V1.0 is designed with minimal resource usage in mind, especially targeted to embedded devices. The implementation supports the usage of a “speaker” (input/output audio terminal with a feature terminal for controls) and a “microphone” (input/output audio terminal). 

The speaker and microphone can be used independently of each other; both can be enabled at the same time allowing audio transfer in either direction. 

The Audio class supports no synchronization; commands SET_CUR, GET_CUR, SET_MIN, GET_MIN, SET_MAX, GET_MAX, SET_RES, GET_RES for the speaker interface feature unit controls are supported (volume, mute, etc.).

emUSB-Device-Audio does not provide drivers/codecs for any audio peripherals. Writing a driver to interface with the audio hardware is the responsibility of the customer.

With emUSB-Device-Audio Audio data is transferred in the PCM encoding. The Audio class transfers multiple audio samples in a single packet. In the demo below the speaker interface of the audio class is configured with 2 channels (stereo) and 16 bit data per channel.

emUSB-Packet.svg

Try it now

Download the emUSB-Device Audio demo for the emPower board:

  • Program the emPower with the default application using Embedded Studio
  • Connect the HS USB connector to your PC
  • Select the emUSB-Device Audio demo as your default sound output and sound input device
  • Play audio which will be saved onto the SD card
  • Loopback the emUSB-Device Audio microphone to your speakers to listen to the audio demo

Components

Components required to use the Audio class:

emUSB-Device Audio Media

 Enhance your embedded device with audio capabilities!