Introduction to Bluetooth LE Audio

Revision as of 11:02, 8 February 2024 by Registered User
Under construction.png Coming soon

1. Introduction

Bluetooth® Low Energy Audio is the new feature enabling the Audio Streaming over Bluetooth® Low Energy.

Almost every Bluetooth® devices are now using the Bluetooth® Low Energy. Except the audio streaming that was requiring a Dual Mode controller for streaming audio over Classic Bluetooth®. The Bluetooth® Special Interest Group (Bluetooth® SIG) thought of a solution for streaming audio over BLE.

Classic Bluetooth® (BR/EDR) Audio is already the most used audio wireless system in the world today. Bluetooth® LE Audio is coming as the next generation of it. Comparing to Classic (BR/EDR) Audio, Bluetooth® LE Audio reduce the power consumption and allow a whole new world of possibilities to the audio stream.

One of them is the Auracast™ Broadcast Audio. Auracast™ is the new Bluetooth® standard. It enables listeners to share audio to multiple users. It's defined over these 3 fundamentals :

  • Share your audio : Auracast™ broadcast will let you invite others to share in your audio experience bringing us closer together
  • Unmute the world : Auracast™ broadcast audio will enable you to fully enjoy televisions in public spaces unmuting what was once silent and creating a more complete watching experience
  • Hear your best: Auracast™ broadcast will allow you to hear best in the places you go.


2. LC3 Codec

Bluetooth® LE Audio is based on a new audio codec : LC3 (Low Complexity Communication Codec). This codec is mandatory and brings a new quality higher than any codec based on Classic Bluetooth® Audio. LC3 Codec

[1]


3. Isochronous Channels

Bluetooth® LE Audio is also based on a Bluetooth® 5.2 optional feature : Isochronous Channels. This is a link layer feature. This feature enables the transmission of a stream over a new connection : the Isochronous Stream.

There are 2 types of isochronous streams :

  • Connected Isochronous Stream (CIS) : enabling the user to have an audio stream over a Bluetooth® connection. This is the classic way of doing BLE Audio (1 connection for 1 device, like a headset). With 2 CIS, we can stream synchronized audio streams to 2 different devices (for earbuds or hearing aids)
  • Broadcast Isochronous Stream (BIS) : enabling a user to broadcast 1 or 2 audio streams to any receiver able to receive it . It does not need a connection meaning there could be an infinite number of receivers.

This 2 types of isochronous streams add new features to BLE :

  • It's defining the latency for the system for the whole streaming time (without any drift). This latency is lower than classic Bluetooth® audio).
  • It's also defining the retransmissions at the same time. We can ask for a system based on the lowest latency possible (some packets can be missed because there are really a few retransmissions), or on the better quality possible (all packets should be received but the latency is higher to enable this possibility).

If we compare an Isochronous Stream to a ACL Data transfer or Classic Bluetooth® Audio we can list some important differences :

Classic Bluetooth® Audio ACL Data Transfer Bluetooth® LE Audio
Data is sent over ACL Data transfer Data is sent over Isochronous data stream
Data is continuous Data is synchronized on a timestamp
All packets are transmitted, leading to an infinity of retransmissions if the link has bad quality Data has a validity in time, becoming obsolete after a certain time
Data is irrelevant with missing packets Each packet has a certain amount of audio
Latency is not defined and can have some lags or drifts. Latency is always defined in the system and can't change during the stream.

It enables the sender to "stream" audio as a radio. If the receiver missed a few packets, it will have some glitches (corrected by the LC3 Packet Lost Control - PLC), but it would still be synchronized, with the same latency and anchor points.


  • periodic advertising + extended


4. Audio profiles

Now that the base of the Bluetooth® LE Audio (LC3 and isochronous channels) is enabled, the Bluetooth® SIG developed a whole new framework to be able to configure all types of audio streams :

Figure 1.1 Generic Audio Framework (to modify)

Figure 1.1 Generic Audio Framework (to modify)

The base of the audio framework is the audio stream management, defined by the Basic Audio Profile (BAP)[2]. It's the mandatory profile for Bluetooth® LE Audio. It defines the streams types, the configurations, the capabilities, the quality, the latency, etc. BAP is used with 3 services :

  • Published Audio Capabilities Service (PACS) : made to expose audio capabilities of the device.
  • Audio Stream Control Service (ASCS) : enable to configure the Unicast Stream.
  • Broadcast Audio Scan Service (BASS) : permits to solicit for clients to scan on behalf of the server for broadcast Audio Streams.

BAP defines 2 types of streams : Unicast and Broadcast, listed below.


5. Unicast

Unicast is the connected Audio Stream, based on the Connected Isochronous Stream (CIS). It means that with Unicast you can create connected audio streams over CIS. To create a Unicast Stream, we first need an ACL connection to exchange all of the useful information over GATT and LLCP. Unicast is divided in 2 roles :

  • Unicast Client : Establishes connection to Unicast Server, discovers its capabilities and configure the Audio Stream. This role would be used by a smartphone, a laptop, a television etc.
  • Unicast Server : Advertises its role, exposes its capabilities, accepts the Unicast Server to configure the Audio Stream. This role would be used by headphone, hearing aids, speaker, earbuds, or even a microphone.

Moreover, the Unicast Client can be able to stream to 2 Unicast Server synchronously.

To start a Unicast Audio Stream, over the ACL connection The Unicast Client and Server exchange the information about the quality of the stream, the retransmissions, the number of audio channels (mono/stereo), and the latency.

The stream can be unidirectional (for music) or bidirectional (for calls). This is called the topologies of the audio stream. They are selected by the Unicast Client from what the Unicast Server exposes. All the possible topologies are listed in the BAP Specification. [2]

The stream can be low quality or high quality. They are selected by the Unicast Client from what the Unicast Server exposes. All this possibilities are also listed in the BAP Specification. [2]

The stream can be low latency or high reliability. They are selected by the Unicast Client from what the Unicast Server exposes. All this possibilities are also listed in the BAP Specification. [2] The principal use cases are :

  • 1 phone connected to 1 headset/speaker
  • 1 phone connected to 2 earbuds/hearing aids.


6. Broadcast

Broadcast is a non connected Audio Stream, based on Broadcast Isochronous Stream (BIS).The first device is the sender, it broadcasts Audio data over BIS, and exposes its broadcast information over extended advertising and periodic advertising. Any receiver capable of scanning and getting synchronized to this audio stream will be able to hear it. This is a new use case allowing an infinity number of users to listen to the same audio stream.

It can be music on a phone to share with friends, or an announcement like a conference translated in another language directly, or a train announcement to receive it directly in the earbuds.

This stream is public but it can be encrypted and you'll need to get a password to synchronize. As the stream is broadcasted, it can only be unidirectional.

BAP add also another feature . As broadcast is not connected, we need a way to synchronize to the stream directedly on the receive device. But most of the time these devices don't have any screen or too few buttons to select efficiently the audio stream. This role is called Broadcast Assistant, that would be a phone for example controlling a hearing device. The phone would scan and send the selected stream's information to the hearing device.

Broadcast defines 4 roles :

  • Broadcast Source : establishes a BIS and advertise all the information over extended advertising and periodic advertising.
  • Broadcast Sink : scan advertising to find Broadcast Source, and get synchronized to receive the Audio Stream
  • Broadcast Assistant : scan advertising to find Broadcast Source, discovers the scan delegator (and broadcast sink) capabilities and send the information to get synchronized.
  • Scan Delegator : exposes its capabilities and wait for a broadcast assistant to get information to which broadcast source to synchronize.

The principal use cases are :

  • 1 phone/laptop/television sending the same audio to multiple audio devices.
  • 1 announcement in an public spaces for anyone wanting to receive through Bluetooth®.
  • 1 video or conference broadcasted for people with hearing loss, or translated in other languages.

7. Remote Control Profiles

The Generic Audio Framework defines also new profiles to control some audio linked process :

Now that the audio stream is up, we need other profiles to configure the listening part. Are we listening to music, having a call ? This is the role of these other profiles, adding even more interoperability with any device.

  • Media Control Profile (MCP) and its service (Media Control Service - MCS): The peripheral device would be able to control the central with any action : start, pause, play, stop the media, and read some information as track name, track position, next track etc.[3]
  • Call Control Profile (CCP) and its service (Telephone Bearer Service - TBS) : The peripheral would be able to do any action the phone can do : answer, decline, hold, terminate the call, and also see some information as caller name, signal, provider, etc.[4]
  • Coordinated Set Identification Profile (CSIP) and its service (Coordinated Set Identification Service - CSIS) : It enables multiple devices to identify as a coordinated set (earbuds or sound system for example). With these information, the central will be able to connect to all devices of this set and configure them together, for audio streams and controls.[5]
  • Microphone Control Profile (MICP) and its service (Microphone Control Service - MICS): It allows the user to control the audio input selection and its properties as the volume offset, mute and unmute etc.[6]
  • Volume Control Profile (VCP) and its service (Volume Control Service - VCS, Volume Offset Control Service - VOCS, Audio Input Control Service - AICS): It allows the user to control the volume of the audio stream, with the offset, the current volume position, the mute and unmute, etc. It permits also to select the audio output of the audio stream.[7]

The Common Audio Profile (CAP) is made to be able to control all of the profiles below, creating a full framework to handle the audio streams. It enables to link some commands of calls or media with the start/stop of the audio stream. It enables also to link commands together when they need to be send to multiple peripherals inside 1 coordinated set.[8]

Architecture and Integration

8. Use Case Profile

See from the image

  • Public Broadcast Profile (PBP) : Made for public broadcast (as announcements) and receivers (any user).[9]

2 applications made with PBP are already available : STM32WBA Public Broadcast Profile

  • Telephony and Media Audio Profile (TMAP) : Made for call and media use cases.[10]

2 applications made with TMAP are already available: STM32WBA Telephony & Media Audio Profile

  • Hearing Aid Profile (HAP) : Made for hearing aids use cases.[11]
  • Gaming Audio Profile (GMAP) : Made for gaming use cases.[12]

9. Differences between LE Audio and Classic Audio

First, Bluetooth® Low Energy allows a reduce consumption of more than XXX [ref]. Second, it's based on the Isochronous Channels in the Link Layer [ref]. It handles the audio data packet in a way to define anchor points, retransmissions to be able to qualify the latency of the whole system. It defines 2 streams : Connected Isochronous Stream (CIS), allowing to perform a stream over a connected BLE link and Broadcast Isochronous Stream (BIS) allowing to broadcast a stream to anyone able to scan it. Third, as A2DP and XXXX was the profile handling the audio streaming over BR/EDR. The SIG defined a whole framework of profile handling the audio stream and all the associated functions.

  • Power consumption and BLE
  • Broadcast
  • Multi stream (earbuds)
  • Framework

10. References