使用 LE Audio 通過 nRF5340 合成和傳輸音訊

Mondo 科技 更新 2024-02-21

最近,我對製作和音訊裝置的建立產生了濃厚的興趣。 當我還是一名學生時,我在 Nordic 工作時,我學會了通過藍芽傳輸音訊,這引起了我的興趣。 尤其是令人興奮的藍芽 le 音訊,據說它可以以更低的位元率和更少的延遲獲得更好的音訊質量。 演奏樂器時,您希望動作和聲音響應之間的延遲最小。 我想測試一下我是否可以利用 nrf5340 通過簡單的鍵盤介面控制產生悅耳的聲音,看看延遲是否足以不影響我的演奏。

該應用程式由乙個發聲裝置、乙個合成器和乙個接收耳機組成。 LE Audio 可以同時傳送兩個對應於耳機左右部分的音訊流。

該應用程式基於 Nordic NRF5340 Audio 演示應用程式,但經過簡化並專門用於合成器用例。 該應用程式的主要焦點是合成器和鍵盤輸入部分。

合成器的結構是高度模組化的,可以輕鬆新增或排除不同的模組並測試不同的音訊合成拓撲。 提供的設定演示了合成器的不同方面,例如複音振盪器、效果器和音訊同步時間相關性。

合成器模組從按鈕模組接收有關停止和停止哪個音符的資訊。 這些音符可以轉換為音序器,或者在這種情況下,可以轉換為琶音器。 琶音器與時間有關,因此需要時間源。 我們必須使用與處理音訊的時間感同步的時間源。 這就是滴答提供程式的作用,它為處理的每個音訊塊增加了時間。 即時報價提供商向訂閱模組傳送即時報價。 這與MIDI同步不同音源的方式相同,因此可以實現MIDI同步。

對於複調合成,我們需要多個振盪器,這些振盪器等於一次可以演奏的音符數。 Key Assign 跟蹤當前處於活動狀態的振盪器,並以振盪器首先被啟用的方式(處於活動狀態時間最長的振盪器)將音符分配給振盪器。 如果沒有非活動振盪器,它會將新音符分配給第乙個活動(最長的有源振盪器)振盪器。 預設情況下,應用程式配置了五個振盪器。 即使**的琶音器超過5個音符,也很難注意到最後乙個活動音符被切斷。

在“音訊程序啟動”中,應用程式配置為單聲道音訊編碼。 所有模組也都內建在單聲道中。 修改應用程式以處理立體聲音訊並不難。 例如,您可以將回聲效果轉換為立體聲桌球延遲效果。 在使用回聲效果之前,將單聲道聲音分為左聲道和右聲道。 然後將這些通道饋入回聲效果。 確保在 SW 編解碼器編碼中正確設定了立體聲編碼的 PCM 大小。

音訊在 n 個樣本塊中處理,這些樣本塊在音訊處理中啟動。 計時器確保新塊的處理間隔與音訊取樣率相匹配。 這也許應該直接與藍芽連線間隔同步,以便進一步開發。

使用 16 位深度。 DSP 主要使用定點格式的整數。 因此,fixed16 型別和相關運算是在 interger math 中定義的。 由於應用特定於NRF5340,因此在某些情況下,SOC 中包含的 DSP 指令由 DSP 指令使用和抽象。

以下塊(來自振盪器c)是產生正弦波的乙個例子,其頻率由相位增量決定。Phase Accumulate[24:31] 的前 8 位用於選擇要使用的儲存樣本,而 Phase Increment[8:23] 用於確定兩個樣本之間的插值。 然後是訊號的應用幅度。

for (uint32_t i = 0; i < block_size; i++)
英特爾數學中提供了固定插值和縮放功能,以便使用 CPU 上的 DSP 指令有效地執行此計算。

在當前的應用配置中,當所有振盪器都處於活動狀態時,NRF5340應用核心的利用率約為 80%。 當連線兩個頭戴式裝置裝置時,大約使用了 40% 的應用程式核心。 其中很大一部分可能是 LC3 編碼器。

低功耗藍芽的最小連線間隔為 75 毫秒 每 7 次音訊處理每 5 毫秒啟動一次,以匹配連線間隔。 因此,處理過程不會增加延遲。 LE Audio 中的新 LC3 編解碼器取代了 SBC 編解碼器,應該會顯著減少延遲。 但是,它尚未在此特定應用中進行測試。 輸入按鈕的去抖動時間為 50 毫秒。 但是,這不會導致延遲。 這是因為在實現過程中,每次觸發新中斷時,按鈕狀態都會發生變化。 去抖動時間結束後,通過讀取引腳值來測試此假設。 這將導致偶爾不正確的按鈕狀態,但在去抖動時間後會再次糾正。 這不會在測試中導致任何聽覺偽影**。

由此產生的應用程式演示了使用 BLE LE Audio 傳輸合成器音訊的功能系統。 有關如何測試應用程式的說明,請檢視 GitHub 儲存庫。 以下是使用的設定**:2 x NRF5340 Audio DK 作為耳機,1 x NRF5340 DK 作為合成器:

雖然沒有進行定量分析來確定總延遲,但我認為在彈奏鍵盤和聆聽生成的聲音時,延遲並不明顯。 我相信 LE Audio 在NRF5340上有很多令人興奮的新應用。

相關問題答案

    使用粉撲的原理和技巧

    粉撲是化妝工具的重要組成部分,使用正確的方法可以幫助您打造更完美的妝容。那麼,究竟如何正確使用粉撲呢?下面我們來詳細闡述一下。.選擇適合您的泡芙。不同型別的泡芙有不同的用途,您應該根據不同的需求選擇合適的泡芙。例如,海綿粉撲適用於溼敷,以使粉底更貼合羊絨粉撲適合定型乾粉,可以延長其使用壽命。.避免過...

    雞肉精和味精的區別及其使用方法

    在廚房裡,雞精和味精是兩種常見的調味品,它們都為菜餚增添了鮮味。然而,儘管它們都與 鮮味 有關,但它們在成分 和用途上有所不同。本文將詳細介紹雞肉精和味精的區別,以幫助您更好地了解這兩種的特點和用途。味精是由味精組成的調味料,由玉公尺等澱粉類物質發酵 提取和精製而成。味精 的鮮味是味精,在高溫下容易...

    合理使用版權和法律允許使用有什麼區別?

    版權的合理使用與法律允許的使用之間的區別。隨著數字技術和網際網絡的飛速發展,版權問題越來越受到關注。在版權領域,合理使用和法律允許使用是兩個重要概念,但它們之間存在一些顯著差異。首先,合理使用是指在特定情況下,未經著作權人許可且無償使用他人出版的作品,用於個人學習 研究 欣賞或新聞報道。這種使用基於...

    華僑城人才的選拔與使用

    華僑城集團的快速發展增加了對人才的需求,因此,為適應業務發展的需要,華僑城集團採取了內部人才選拔和流動的方式,同時加強了企業內部建設。華僑城集團內部的職位空缺將優先從集團內部人才庫中抽選,如果內部人才庫不能滿足需求,將進行外部招聘。集團人力資源部負責協調集團內部人才。各分公司等人才需求方提出人才需求...

    維修基金的管理和使用

    維護的管理和使用 一 保養的使用範圍 公共設施維修的使用範圍 小區道路 小區路燈 小區園林綠化 小區地下排水管 小區文體場館 小區停車場等公共設施。 房屋本體維修的使用範圍 房屋承重牆的結構件 抗震結構件 多牆體 樓梯間 公共通道 門廳 公共屋頂 電梯 機電裝置 本體的消防設施 公共天線 本體給水和...