Auracast(Broadcast)対応のスピーカーを開発してみた

本サイトはアフィリエイト広告を利用しています。
Bluetooth LE

Auracast(Broadcast)対応のトランスミッターとスピーカーを開発してみました。

実際にハード・ソフト実装して、音声テストまで確認しています。

Bluetooth LE AudioかつMulti-Streamで音声接続した内容を紹介します。

 

スポンサーリンク

Auracast(Broadcast)対応のスピーカーを開発してみた

Auracast(Broadcast)対応のトランスミッターとスピーカーを開発してみました。

実際にハード・ソフト実装して、音声テストまで確認しています。

 

Bluetooth LE AudioかつMulti-Streamで音声接続した内容を紹介します。

 

回路図・アートワーク・BOM

開発した基板に関しては、KiCadで設計しています。

 

下記記事で実際のパターン・PCB設計の手法について、詳細を記載しています。

Pad on ViaをKiCadで設計して、PCBWayで基板作成してみた

Pad on ViaをKiCadで設計して、PCBWayで基板作成してみた
6層+Pad on Viaの基板作成をしました。KiCadで回路図・アートワークを作成をしています。実際にパッドオンビアの基板発注した内容を紹介します。Pad on ViaをKiCadで設計して、PCBWayで基板作成してみた6層+Pad ...

 

実際のKiCadのデータに関しては、下記GitHubに保存しています。

筆者がパターン専門の設計者でなく、また趣味で作ったものですが、動作確認は出来ています。

Sonic-Sprint/pcb at main · iotengineer22/Sonic-Sprint
This repository present solution for the Sonic Sprint - iotengineer22/Sonic-Sprint

 

開発したハードウェアのチェック

開発した基板のハードウェアIFが正常に動作するかは下記記事で紹介しています。

Bluetooth LE Audioの基板開発をして、デバッグしてみた。

Bluetooth LE Audioの基板開発をして、デバッグしてみた。
Bluetooth LE Audioの基板開発をして、デバッグしました。SOCはnRF5340、PMICはnPM1300、Audio_ICはCS47L63を使用しています。実際に基板作成して、一からデバッグした内容を紹介します。Blueto...

 

また複合電源IC(PMIC)がTypeCとバッテリからも動作できていることも確認しています。

PMIC(nPM1300)で電源管理・バッテリ制御までしてみた。

PMIC(nPM1300)で電源管理・バッテリ制御までしてみた。
NordicのPMIC(Power Management IC)であるnPM1300を使って、基板開発してみました。複数電源を出力するだけでなく、バッテリ含めた電源管理まで対応しています。SOCからPMICにI2Cで情報取得するまでの内容を...

 

プログラム

基本的にnRF5340評価ボードの公式のBroadcastのプログラムを利用しています。

 https://github.com/nrfconnect/sdk-nrf/tree/main/applications/nrf5340_audio/broadcast_source

 https://github.com/nrfconnect/sdk-nrf/tree/main/applications/nrf5340_audio/broadcast_sink

 

一部、マルチストリーム用にするときは修正しています。下記で変更内容はまとめています。

Sonic-Sprint/src/project/nrf5340_broadcast at main · iotengineer22/Sonic-Sprint
This repository present solution for the Sonic Sprint - iotengineer22/Sonic-Sprint

 

BLE Audio Broadcast(ブロードキャスト音声)

Bluetooth LE Audioには新機能であるAuracast(Broadcast Audio)があります。

対応のスピーカーをnRF5340を使って開発しました。

今回はカスタムボードでテストしていますが、公式の評価ボードでも同様にテストしています。

nRF5340 Audio DKの始め方。BLE Audioのテストしてみた。

nRF5340 Audio DKの始め方。BLE Audioのテストしてみた。
NordicのnRF5340の評価ボードを使ってみました。nRF5340 Audio DKです。Bluetooth LE Audioのデバッグが可能です。Unicast, Broadcast含めてテストしたので紹介します。nRF5340 A...

 

1:1のブロードキャストの実装

まず、基本的なブロードキャスト機能を確認しました。1:1の接続です。

2言語(英語+ドイツ語)のアナウンスをBLE Audioで出力するテストを実施しました。

 

左右で違う音声の作り方に関しては、下記記事で紹介しています。

左右で違う音声データの作成方法。ffmpegで作ってみた。

左右で違う音声データの作成方法。ffmpegで作ってみた。
左右で違う音声データを作成してみました。左はドイツ語、右は英語みたいな2chの音声データを作成しています。ffmpegで作成した内容を紹介します。左右で違う音声データの作成方法。ffmpegで作ってみた。左右で違う音声データを作成してみまし...

 

実装のポイント:

  • カスタムnRF5340ボードを使用
  • 英語とドイツ語の2言語対応
  • リアルタイムでのブロードキャスト切り替え可能

 

デモ動画としては下記となります。

 

実際のテストでは以下を確認できました。

  1. 接続確認:ログからブロードキャスト接続が正常に確立されることを確認
  2. 音声出力:左右(L/R)チャンネルでのブロードキャスト音声の出力
  3. 制御機能:カスタムnRF5340ボードのスイッチからブロードキャスト音声の変更が可能

 

 

複数ゲートウェイによるブロードキャスト実装

複数のゲートウェイが異なるブロードキャスト音声(マルチストリーム)を送信します。

そしてデバイス側で切り替えを行う機能を実装しました。

下記4言語を切り替えて、音声出力ができることを確認しています。

  • 英語(English)
  • ドイツ語(German)
  • 中国語(Chinese)
  • スペイン語(Spanish)

 

デモ動画が下記となります。

 

下記構成でテストして、動作確認できました。

  • ブロードキャストソース:2台のカスタムnRF5340ボード
  • ブロードキャストシンク:1台のカスタムnRF5340ボード
  • 制御方式:シンクデバイスからのブロードキャストストリーム切り替え

 

Bluetooth LE Audioの同期確認

ブロードキャストにおいて、複数のシンクデバイス間での精密な同期を確認しました。

 

デモ動画としては下記です。

 

下記構成でテストして、同じソースから別々のシンクへ音声出力した同期を確認しました。

素人では分からないレベルで音声同期が取れていました。

  • ブロードキャストソース:2台
  • ブロードキャストシンク:2台
  • 同期精度:聴覚的に遅延を感じないレベル

 

まとめ

Auracast(Broadcast)対応のトランスミッターとスピーカーを開発してみました。

実際にハード・ソフト実装して、音声テストまで確認しています。

Bluetooth LE AudioかつMulti-Streamで音声接続した内容を紹介しました。

コメント