You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
To switch to the bidirectional mode, set the ``CONFIG_STREAM_BIDIRECTIONAL`` Kconfig option to ``y`` in the :file:`applications/nrf5340_audio/prj.conf` file (for the debug version) or in the :file:`applications/nrf5340_audio/prj_release.conf` file (for the release version).
79
+
To switch to the bidirectional mode, set the :ref:`CONFIG_STREAM_BIDIRECTIONAL<nrf53_audio_app_kconfigs>` Kconfig option to ``y`` in the :file:`applications/nrf5340_audio/prj.conf` file (for the debug version) or in the :file:`applications/nrf5340_audio/prj_release.conf` file (for the release version).
The walkie-talkie demo uses one or two bidirectional streams from the gateway to one or two headsets.
25
87
The PDM microphone is used as input on both the gateway and headset device.
26
-
To switch to using the walkie-talkie, set the ``CONFIG_WALKIE_TALKIE_DEMO`` Kconfig option to ``y`` in the :file:`applications/nrf5340_audio/prj.conf` file (for the debug version) or in the :file:`applications/nrf5340_audio/prj_release.conf` file (for the release version).
88
+
To switch to using the walkie-talkie, set the :ref:`CONFIG_WALKIE_TALKIE_DEMO<nrf53_audio_app_kconfigs>` Kconfig option to ``y`` in the :file:`applications/nrf5340_audio/prj.conf` file (for the debug version) or in the :file:`applications/nrf5340_audio/prj_release.conf` file (for the release version).
27
89
28
90
Enabling the Auracast™ (broadcast) mode
29
91
=======================================
@@ -38,8 +100,8 @@ Enabling the BIS mode with two gateways
38
100
In addition to the standard BIS mode with one gateway, you can also add a second gateway device.
39
101
The BIS headsets can then switch between the two gateways and receive audio stream from one of the two gateways.
40
102
41
-
To configure the second gateway, add both the ``CONFIG_TRANSPORT_BIS`` and the ``CONFIG_BT_AUDIO_USE_BROADCAST_NAME_ALT`` Kconfig options set to ``y`` to the :file:`applications/nrf5340_audio/prj.conf` file for the debug version and to the :file:`applications/nrf5340_audio/prj_release.conf` file for the release version.
42
-
You can provide an alternative name to the second gateway using the ``CONFIG_BT_AUDIO_BROADCAST_NAME_ALT`` or use the default alternative name.
103
+
To configure the second gateway, add both the :ref:`CONFIG_TRANSPORT_BIS<nrf53_audio_app_kconfigs>` and the :ref:`CONFIG_BT_AUDIO_USE_BROADCAST_NAME_ALT<nrf53_audio_app_kconfigs>` Kconfig options set to ``y`` to the :file:`applications/nrf5340_audio/prj.conf` file for the debug version and to the :file:`applications/nrf5340_audio/prj_release.conf` file for the release version.
104
+
You can provide an alternative name to the second gateway using the :ref:`CONFIG_BT_AUDIO_BROADCAST_NAME_ALT<nrf53_audio_app_kconfigs>` or use the default alternative name.
43
105
44
106
You build each BIS gateway separately using the normal procedures from :ref:`nrf53_audio_app_building`.
45
107
After building the first gateway, configure the required Kconfig options for the second gateway and build the second gateway firmware.
@@ -53,7 +115,7 @@ Selecting the analog jack input using I2S
53
115
In the default configuration, the gateway application uses USB as the audio source.
54
116
The :ref:`nrf53_audio_app_building` and the testing steps also refer to using the USB serial connection.
55
117
56
-
To switch to using the 3.5 mm jack analog input, set the ``CONFIG_AUDIO_SOURCE_I2S`` Kconfig option to ``y`` in the :file:`applications/nrf5340_audio/prj.conf` file for the debug version and in the :file:`applications/nrf5340_audio/prj_release.conf` file for the release version.
118
+
To switch to using the 3.5 mm jack analog input, set the :ref:`CONFIG_AUDIO_SOURCE_I2S<nrf53_audio_app_kconfigs>` Kconfig option to ``y`` in the :file:`applications/nrf5340_audio/prj.conf` file for the debug version and in the :file:`applications/nrf5340_audio/prj_release.conf` file for the release version.
57
119
58
120
When testing the application, an additional audio jack cable is required to use I2S.
59
121
Use this cable to connect the audio source (PC) to the analog **LINE IN** on the development kit.
@@ -82,6 +144,102 @@ You can use one of the following options, depending on how you decide to build t
82
144
83
145
west build -b nrf5340_audio_dk/nrf5340/cpuapp --pristine -- -DEXTRA_CONF_FILE=".\unicast_server\overlay-unicast_server.conf" -Dnrf5340_audio_SHIELD=nrf21540ek -Dipc_radio_SHIELD=nrf21540ek
84
146
85
-
To set the TX power output, use the ``CONFIG_BT_CTLR_TX_PWR_ANTENNA`` and ``CONFIG_MPSL_FEM_NRF21540_TX_GAIN_DB`` Kconfig options in :file:`applications/nrf5340_audio/sysbuild/ipc_radio/prj.conf`.
147
+
To set the TX power output, use the :kconfig:option:`CONFIG_BT_CTLR_TX_PWR_ANTENNA` and :kconfig:option:`CONFIG_MPSL_FEM_NRF21540_TX_GAIN_DB` Kconfig options in :file:`applications/nrf5340_audio/sysbuild/ipc_radio/prj.conf`.
86
148
87
149
See :ref:`ug_radio_fem` for more information about FEM in the |NCS|.
The SD Card Playback module allows you to play audio files directly from an SD card inserted into the nRF5340 Audio development kit.
157
+
This feature supports both WAV and LC3 audio file formats and is compatible with all nRF5340 Audio applications.
158
+
159
+
File format support requirements
160
+
================================
161
+
162
+
The SD card playback module supports both WAV and LC3 audio file formats.
163
+
The audio files must meet the following requirements:
164
+
165
+
* WAV files must be 48 kHz, 16-bit, mono PCM format.
166
+
* LC3 files must be in the LC3 file format with proper headers.
167
+
168
+
SD card requirements
169
+
====================
170
+
171
+
Make sure the SD card meets the following requirements:
172
+
173
+
* Formatted with FAT32 or exFAT file system.
174
+
* Audio files are placed in the root directory or subdirectories.
175
+
176
+
Configuring SD card playback
177
+
============================
178
+
179
+
To enable SD card playback functionality, you need to set the following Kconfig options to ``y``:
180
+
181
+
* :ref:`CONFIG_NRF5340_AUDIO_SD_CARD_MODULE<nrf53_audio_app_kconfigs>` - to enable the SD card module; this option is enabled by default on nRF5340 Audio DK
182
+
* :ref:`CONFIG_SD_CARD_PLAYBACK<nrf53_audio_app_kconfigs>` - to enable the playback functionality
183
+
184
+
Optionally, you can also set the following Kconfig options:
Copy file name to clipboardExpand all lines: applications/nrf5340_audio/doc/firmware_architecture.rst
+45Lines changed: 45 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -288,3 +288,48 @@ The received audio data in the I2S-based firmware devices follows the following
288
288
#. The audio decoder decodes the data and sends the uncompressed audio data (PCM) back to the :file:`audio_datapath.c` module.
289
289
#. The :file:`audio_datapath.c` module continuously feeds the uncompressed audio data to the hardware codec.
290
290
#. The hardware codec receives the uncompressed audio data over the inter-IC sound (I2S) interface and performs the digital-to-analog (DAC) conversion to an analog audio signal.
The SD Card Playback module (:file:`sd_card_playback.c`) provides functionality to play audio files directly from an SD card.
298
+
This module works alongside the existing audio system and can mix SD card audio with Bluetooth audio streams.
299
+
300
+
The module is compatible with all nRF5340 Audio applications.
301
+
302
+
The SD Card Playback module consists of the following components:
303
+
304
+
* File system interface - Uses the SD card module (:file:`sd_card.c`) to read files from the FAT32/exFAT file system
305
+
* Audio format support - Handles both WAV and LC3 file formats with proper header parsing
306
+
* Ring buffer management - Uses a ring buffer to store audio data for smooth playback
307
+
* Thread management - Runs in a dedicated thread to handle file reading and audio processing
308
+
* Audio mixing - Integrates with the PCM mixing system to combine SD card audio with other audio sources
309
+
310
+
For information about how to enable SD card playback, see :ref:`nrf53_audio_app_configuration_sd_card_playback`.
311
+
312
+
SD card playback audio processing flow
313
+
--------------------------------------
314
+
315
+
The SD card playback module uses the following processing flow:
316
+
317
+
1. User selects an audio file using shell commands.
318
+
#. Module reads and validates the file header (WAV or LC3 format).
319
+
#. Audio data is read from the SD card in chunks.
320
+
#. For LC3 files, the data is decoded using the LC3 decoder.
321
+
#. Audio data is stored in a ring buffer for continuous playback.
322
+
#. The module provides a mixing function that can be called by the audio system.
323
+
#. Thread manages the playback state and timing.
324
+
325
+
Integration with audio system
326
+
-----------------------------
327
+
328
+
The SD Card Playback module integrates with the existing audio system through the PCM mixing interface.
329
+
The module provides the ``sd_card_playback_mix_with_stream()`` function that can be called by the audio datapath to mix SD card audio with other audio sources.
330
+
331
+
This integration allows for scenarios such as:
332
+
333
+
* Playing background music from SD card while receiving Bluetooth audio.
334
+
* Mixing multiple audio sources.
335
+
* Providing local audio content when Bluetooth connections are not available.
Copy file name to clipboardExpand all lines: doc/nrf/releases_and_maturity/releases/release-notes-changelog.rst
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -237,6 +237,7 @@ nRF5340 Audio
237
237
The :ref:`net_buf_interface` will also contain the metadata about the audio stream in the ``user_data`` section of the API.
238
238
This change was done to transition to standard Zephyr APIs, as well as to have a structured way to pass N-channel audio between modules.
239
239
* The optional buildprog tool to use `nRF Util`_ instead of nrfjprog that has been deprecated.
240
+
* The documentation pages with information about the :ref:`SD card playback module <nrf53_audio_app_overview_architecture_sd_card_playback>` and :ref:`how to enable it <nrf53_audio_app_configuration_sd_card_playback>`.
0 commit comments