91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何實(shí)現(xiàn)BLE全雙工語(yǔ)音通訊

意法半導(dǎo)體中國(guó) ? 來(lái)源:意法半導(dǎo)體中國(guó) ? 作者:意法半導(dǎo)體中國(guó) ? 2022-04-14 08:47 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一簡(jiǎn)介

在無(wú)線藍(lán)牙領(lǐng)域,既能滿足超低功耗,又能進(jìn)行全雙工語(yǔ)音通訊,一直是市場(chǎng)上的需求,比如:無(wú)線門(mén)鈴,短距離對(duì)講機(jī)等應(yīng)用。針對(duì)BLE語(yǔ)音相關(guān)的應(yīng)用場(chǎng)景,ST推出了FP-AUD-BVLINKWB1這個(gè)軟件包供客戶評(píng)估。

本文將對(duì)這個(gè)軟件包展開(kāi)介紹,該軟件包主要包含以下特性:

使用Opus v1.3編碼和解碼,通過(guò)BLE實(shí)現(xiàn)全雙工立體音頻流。

使用自定義BlueVoiceOPUS協(xié)議,通過(guò)API即可使用Opus功能。

源碼包含數(shù)字音頻捕獲和處理。

可以通過(guò)USB進(jìn)行音頻流的回放。

可使用麥克風(fēng)擴(kuò)展板X-NUCLEO-CCA02M2 + Nucleo開(kāi)發(fā)板P-NUCLEO-WB55的組合或者探索板STM32WB5MM-DK。

兼容STBLESensor App。

免費(fèi)開(kāi)源。

感興趣的話歡迎下載該軟件包進(jìn)行評(píng)估

點(diǎn)擊這里下載軟件包

二軟件介紹

軟件架構(gòu)

如何實(shí)現(xiàn)BLE全雙工語(yǔ)音通訊

▲圖1.軟件架構(gòu)圖

Hardware Abstraction:硬件抽象層,使用了STM32的HAL庫(kù)提供底層的硬件驅(qū)動(dòng)。

BSP層:在HAL層之上,提供了板級(jí)支持包,包含了SPI,ADC,LED和User Button等驅(qū)動(dòng)。

Middleware層:中間件層,主要包含了以下內(nèi)容:

□ STM32 WPAN:提供BLE,ThreadZigbee等協(xié)議相關(guān)的接口API,本應(yīng)用只使用了BLE協(xié)議。

□ USB Device:提供各種不同USB device類的實(shí)現(xiàn),本應(yīng)用中只使用了USB Audio類。

□ PDM Lib:提供了數(shù)字麥克風(fēng)PDM信號(hào)到PCM信號(hào)轉(zhuǎn)換的軟件實(shí)現(xiàn)。

□ OPUS:開(kāi)源第三方的OPUS庫(kù),版本v1.3。

Opus簡(jiǎn)介Opus是完全開(kāi)源免費(fèi)的高通用性音頻編解碼協(xié)議,由Internet Engineering Task Force (IETF)標(biāo)準(zhǔn)化。

Opus可以處理廣泛的音頻應(yīng)用,包括IP語(yǔ)音、視頻會(huì)議、游戲內(nèi)聊天,甚至遠(yuǎn)程現(xiàn)場(chǎng)音樂(lè)表演。它可以從低比特率窄帶語(yǔ)音縮放到非常高質(zhì)量的立體聲音樂(lè),并且具備以下特點(diǎn):

比特率范圍:6kb /s到510 kb/s

采樣率范圍:8khz(窄帶)到48kHz(全帶)

幀大小:2.5 ms到60 ms

比特率,采樣率,幀大小動(dòng)態(tài)可調(diào)節(jié)

支持固定比特率(CBR)和可變比特率(VBR)

支持語(yǔ)音和音樂(lè)

支持單聲道和立體聲

最多支持255個(gè)通道

良好的魯棒性和丟包隱藏能力

支持浮點(diǎn)和定點(diǎn)

BlueVoiceOPUS協(xié)議BlueVoiceOPUS是自定義的協(xié)議,Central和Peripheral是GAP層的角色,在點(diǎn)對(duì)點(diǎn)通訊中,主動(dòng)發(fā)起連接請(qǐng)求的設(shè)備為Central。在GATT協(xié)議中,Server接受請(qǐng)求和命令,將數(shù)據(jù)保存在屬性中。Client實(shí)施服務(wù)發(fā)現(xiàn)流程,并向Server請(qǐng)求數(shù)據(jù)。

如果是單向的非對(duì)稱語(yǔ)音系統(tǒng),那么具備麥克風(fēng)的設(shè)備可以定義為Server,客戶端可以主動(dòng)或被動(dòng)接收Server的語(yǔ)音數(shù)據(jù)流。

如何實(shí)現(xiàn)BLE全雙工語(yǔ)音通訊

▲圖2.GATT角色分配

如圖2,F(xiàn)P-AUD-BVLINKWB1提供了雙向的系統(tǒng),雙方設(shè)備都具備語(yǔ)音的能力,所以雙方都實(shí)現(xiàn)了GATT Server以及Client的角色。并且,Server的語(yǔ)音數(shù)據(jù)基于notification性質(zhì),將以異步的方式主動(dòng)發(fā)送給Client。

? BlueVoiceOPUS服務(wù)

ATT協(xié)議用于在設(shè)備中進(jìn)行數(shù)據(jù)交換,ATT的最小實(shí)體稱為屬性。GATT服務(wù)由各種服務(wù)組成,其中服務(wù)由服務(wù)申明屬性作為起始,每一個(gè)服務(wù)又包含若干特性,特性由任意屬性或?qū)傩悦枋龇M成。

表1是典型的BLE服務(wù)的屬性表,其中包含了1個(gè)服務(wù)申明以及3個(gè)特性。Audio特性用來(lái)通知對(duì)方設(shè)備音頻數(shù)據(jù)。Ctrl特性通知對(duì)方設(shè)備控制數(shù)據(jù),比如播放,暫停等。Music特性用來(lái)通知對(duì)方音樂(lè)數(shù)據(jù),該特性只在ST BLE Sensor APP中實(shí)現(xiàn),取代Audio特性,用來(lái)傳輸壓縮后的48KHz立體音樂(lè)。

如何實(shí)現(xiàn)BLE全雙工語(yǔ)音通訊

▲表1.BlueVoiceOPUS服務(wù)屬性表

? BLUEVoiceOPUS實(shí)現(xiàn)

在Middleware層,和BlueVoiceOPUS協(xié)議相關(guān)的文件包括:

bvopus_service_stm:該文件管理所有和BLE相關(guān)的功能,包括添加服務(wù)和添加特性,以及數(shù)據(jù)的接收和發(fā)送。其中包含了一個(gè)簡(jiǎn)單的數(shù)據(jù)封包和解析協(xié)議。

opus_interface_stm:該文件實(shí)現(xiàn)了Opus編碼器和BlueVoiceOPUS服務(wù)的接口。提供簡(jiǎn)單的API用于Opus初始化,配置,數(shù)據(jù)壓縮和解壓等。

應(yīng)用層介紹在軟件包中包含了三個(gè)主要的工程:

BVLCentral:作為主設(shè)備主動(dòng)發(fā)起連接,并提供BlueVoiceOPUS服務(wù)。

BVLPeripheral:作為從設(shè)備廣播,并提供BlueVoiceOPUS服務(wù)。

BVLPeripheral_FullBand:作為從設(shè)備廣播,提供BlueVoiceOPUS服務(wù), 可以通過(guò)BLE接收立體聲音樂(lè),但目前只能和ST BLE Sensor相連。

BVLCentral和BVLPeripheral分別燒錄到WB55的開(kāi)發(fā)板中,分別作為主機(jī)和從機(jī),通過(guò)開(kāi)啟或停止音頻通知,可以達(dá)到三種不同類型的通訊:?jiǎn)喂ぃ腚p工和全雙工。

當(dāng)設(shè)備在輸出音頻流時(shí),應(yīng)用層負(fù)責(zé)語(yǔ)音的獲取,數(shù)據(jù)壓縮和封包,然后通過(guò)BlueVoiceOPUS協(xié)議發(fā)送出去。

當(dāng)設(shè)備在接收音頻流時(shí),應(yīng)用層通過(guò)從BlueVoiceOPUS協(xié)議中接收BLE數(shù)據(jù)包,然后解包和解碼OPUS語(yǔ)音數(shù)據(jù)。

通過(guò)P-NUCLEO-WB55上的SW1控制打開(kāi)或關(guān)閉語(yǔ)音流通道。

通過(guò)LED顯示設(shè)備的狀態(tài)。

廣播/發(fā)現(xiàn)狀態(tài):綠色LED閃爍

連接狀態(tài):藍(lán)色LED緩慢閃爍

語(yǔ)音流狀態(tài):藍(lán)色LED正常閃爍

接收狀態(tài):藍(lán)色LED穩(wěn)定點(diǎn)亮(不閃爍)

全雙工狀態(tài):藍(lán)色LED快速閃爍(雙方設(shè)備)

BVLCentral可以由APP(ST BLE Sensor)代替,完成設(shè)備和手機(jī)端的全雙工語(yǔ)音通訊。

如何實(shí)現(xiàn)BLE全雙工語(yǔ)音通訊

▲圖3.應(yīng)用流程圖

整個(gè)應(yīng)用流程如圖3所示,整個(gè)流程介紹如下:

從設(shè)備廣播,主設(shè)備發(fā)起連接,直到連接建立成功。

雙方互相完成服務(wù)和特性發(fā)現(xiàn)流程。

從設(shè)備通過(guò)按鈕,請(qǐng)求打開(kāi)特性通知,主設(shè)備打開(kāi)通知,從設(shè)備發(fā)送語(yǔ)音流,此時(shí)狀態(tài)為語(yǔ)音流狀態(tài)。

相反地,主設(shè)備通過(guò)按鈕,請(qǐng)求打開(kāi)特性通知,從設(shè)備打開(kāi)通知,主設(shè)備發(fā)送語(yǔ)音流,此時(shí)狀態(tài)變?yōu)槿p工狀態(tài)。

可以通過(guò)按鈕,開(kāi)關(guān)語(yǔ)音流,改變語(yǔ)音流狀態(tài)。

三系統(tǒng)部署指導(dǎo)

下面將從不同方面分別介紹Demo的部署流程。

兩塊STM32WB開(kāi)發(fā)板之間的全雙工音頻流

如何實(shí)現(xiàn)BLE全雙工語(yǔ)音通訊

▲圖4.NUCLEO+CCA02M2的組合

如上圖4 ,可以使用P-NUCLEO-WB55開(kāi)發(fā)板與一塊麥克風(fēng)擴(kuò)展板X-NUCLEO-CCA02M2進(jìn)行組合。然后分別燒錄BVLCentral工程和BVLPeripheral工程。當(dāng)雙方設(shè)備建立連接以后,通過(guò)Nucleo上的SW1按鈕,就可以建立起半雙工或全雙工的語(yǔ)音流了。麥克風(fēng)擴(kuò)展板可以對(duì)語(yǔ)音信號(hào)以8kHz或16kHz進(jìn)行采集,并通過(guò)BlueVoiceOPUS協(xié)議傳輸,當(dāng)對(duì)方設(shè)備接收到語(yǔ)音數(shù)據(jù)后,也通過(guò)usb傳輸?shù)絇C,使用刻錄軟件(如audacity)進(jìn)行刻錄保存,然后使用Audacity或其他語(yǔ)音軟件播放。

如何實(shí)現(xiàn)BLE全雙工語(yǔ)音通訊

▲圖5.STM325MM-DK探索板

如上圖5,也可以使用STM32WB5MM-DK進(jìn)行同樣的操作,該開(kāi)發(fā)板使用了STM32WB5MM的模組,并且板載了一塊OLED顯示屏供開(kāi)發(fā)。

當(dāng)然也可以使用圖4和圖5的組合,只要一塊燒錄的是主機(jī)程序,另一塊燒錄的是從機(jī)程序即可。

STM32WB開(kāi)發(fā)板和手機(jī)之間的全雙工音頻流除了上面的配置方法外,ST還提供了ST BLE Sensor手機(jī)APP供測(cè)試。

如何實(shí)現(xiàn)BLE全雙工語(yǔ)音通訊

▲圖6.手機(jī)和開(kāi)發(fā)板之間的音頻流

如圖6,手機(jī)可以作為主設(shè)備,掃描然后連接STM32WB55開(kāi)發(fā)板,建立全雙工的音頻流的BLE鏈路。語(yǔ)音信號(hào)可以從開(kāi)發(fā)板采集,發(fā)送到手機(jī)側(cè)進(jìn)行播放。也可以從手機(jī)側(cè)采集,發(fā)送到開(kāi)發(fā)板后,再通過(guò)USB進(jìn)行播放。

STM32WB開(kāi)發(fā)板和手機(jī)之間的立體聲音樂(lè)播放上面介紹的都是8kHz/16kHz的語(yǔ)音流,該軟件包還提供了全帶(Full-Band)的48kHz立體聲音樂(lè)流方案。

如何實(shí)現(xiàn)BLE全雙工語(yǔ)音通訊

▲圖7.48kHz立體聲音樂(lè)流方案

如圖7,手機(jī)掃描設(shè)備后,發(fā)起并建立連接,完成GATT服務(wù)發(fā)現(xiàn)流程,然后通過(guò)按鈕打開(kāi)特性的通知屬性,建立全帶音樂(lè)流。APP使用OPUS對(duì)手機(jī)內(nèi)音樂(lè)進(jìn)行壓縮和封包,然后通過(guò)BLE發(fā)送給開(kāi)發(fā)板。開(kāi)發(fā)板通過(guò)USB將數(shù)據(jù)導(dǎo)出到PC上,最后使用Audacity或其他語(yǔ)音軟件進(jìn)行播放。

原文標(biāo)題:無(wú)線與云連接技術(shù)專題之二:利用Opus在STM32WB上實(shí)現(xiàn)BLE全雙工語(yǔ)音流

文章出處:【微信公眾號(hào):意法半導(dǎo)體中國(guó)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • ST
    ST
    +關(guān)注

    關(guān)注

    32

    文章

    1181

    瀏覽量

    130604
  • BLE
    BLE
    +關(guān)注

    關(guān)注

    12

    文章

    705

    瀏覽量

    63357
  • 語(yǔ)音通訊
    +關(guān)注

    關(guān)注

    0

    文章

    5

    瀏覽量

    6116

原文標(biāo)題:無(wú)線與云連接技術(shù)專題之二:利用Opus在STM32WB上實(shí)現(xiàn)BLE全雙工語(yǔ)音流

文章出處:【微信號(hào):STMChina,微信公眾號(hào):意法半導(dǎo)體中國(guó)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    如何使用普通IO模擬串口實(shí)現(xiàn)非阻塞全雙工通訊功能?

    如何使用普通IO模擬串口實(shí)現(xiàn)非阻塞全雙工通訊功能?
    發(fā)表于 12-03 06:14

    如何使用普通IO模擬串口實(shí)現(xiàn)全雙工通訊功能

    STM32使用IO口模擬串口期望效果:使用普通IO模擬串口,實(shí)現(xiàn)全雙工通訊功能。硬件資源:1.2個(gè)IO口2.1個(gè)外部中斷3.1個(gè)定時(shí)器串口相關(guān)知識(shí)簡(jiǎn)述:1.波特率波特率,即每秒傳輸?shù)奈粋€(gè)數(shù)。例
    發(fā)表于 02-08 07:29

    AT32F4xx SPI使用全雙工模式通訊

    AT32F4xx SPI使用全雙工模式通訊演示AT32F403Axx SPI使用全雙工模式通訊,其余系列的使用方式與此類似。
    發(fā)表于 10-27 07:27

    HT46R46使用IO PORT進(jìn)行SPI全雙工通訊

    HT46R46使用IO PORT進(jìn)行SPI全雙工通訊:
    發(fā)表于 04-11 08:45 ?23次下載

    網(wǎng)卡的全雙工

     網(wǎng)卡的全雙工   網(wǎng)卡的全雙工(Full Duplex)是指網(wǎng)卡
    發(fā)表于 12-26 11:47 ?1214次閱讀

    單工、半雙工全雙工簡(jiǎn)介

    單工、半雙工全雙工簡(jiǎn)介 串行通訊簡(jiǎn)單認(rèn)識(shí) 串行通訊的基本概念:與外界的信息交換
    發(fā)表于 01-13 14:33 ?4897次閱讀
    單工、半<b class='flag-5'>雙工</b>和<b class='flag-5'>全雙工</b>簡(jiǎn)介

    全雙工,全雙工是什么意思

    全雙工,全雙工是什么意思 概念及實(shí)例: 單工即Simplex Communication,指在通信過(guò)程的任意時(shí)刻,信息只能由一方A傳到另
    發(fā)表于 03-17 16:21 ?4477次閱讀

    全雙工傳輸,全雙工傳輸原理是什么?

    全雙工傳輸,全雙工傳輸原理是什么? 全雙工模式(Full-duplex Transmissions)是指同時(shí)發(fā)生在兩個(gè)方向上的一種數(shù)據(jù)傳輸方式。簡(jiǎn)單的解釋就是就像電
    發(fā)表于 03-17 16:22 ?4698次閱讀

    基于LPC1768的全雙工UART的軟件模擬實(shí)現(xiàn)

    基于LPC1768的全雙工UART的軟件模擬實(shí)現(xiàn)
    發(fā)表于 09-26 09:14 ?14次下載
    基于LPC1768的<b class='flag-5'>全雙工</b>UART的軟件模擬<b class='flag-5'>實(shí)現(xiàn)</b>

    通過(guò)BLE實(shí)現(xiàn)全雙工立體音頻流

    在無(wú)線藍(lán)牙領(lǐng)域,既能滿足超低功耗,又能進(jìn)行全雙工語(yǔ)音通訊,一直是市場(chǎng)上的需求,比如:無(wú)線門(mén)鈴,短距離對(duì)講機(jī)等應(yīng)用。針對(duì) BLE 語(yǔ)音相關(guān)的應(yīng)
    的頭像 發(fā)表于 08-27 09:30 ?3349次閱讀

    AN4678_STM32F4系列實(shí)現(xiàn)模擬全雙工SPI通訊

    AN4678_STM32F4系列實(shí)現(xiàn)模擬全雙工SPI通訊
    發(fā)表于 11-21 08:11 ?4次下載
    AN4678_STM32F4系列<b class='flag-5'>實(shí)現(xiàn)</b>模擬<b class='flag-5'>全雙工</b>SPI<b class='flag-5'>通訊</b>

    UM2382_基于BLE全雙工語(yǔ)音流傳輸?shù)腟TM32ODE功能軟件包入門(mén)指南

    UM2382_基于BLE全雙工語(yǔ)音流傳輸?shù)腟TM32ODE功能軟件包入門(mén)指南
    發(fā)表于 11-22 19:25 ?0次下載
    UM2382_基于<b class='flag-5'>BLE</b><b class='flag-5'>全雙工</b><b class='flag-5'>語(yǔ)音</b>流傳輸?shù)腟TM32ODE功能軟件包入門(mén)指南

    單工、雙工、半雙工全雙工通信常識(shí)

    根據(jù)通信雙方的分工和信號(hào)傳輸方向可將通信分為三種方式:?jiǎn)喂ぁ?b class='flag-5'>雙工與全雙工。單工通信指通信雙方設(shè)備中發(fā)送器與接收器分工明確,只能在由發(fā)送器向接收器的單一固定方向上傳送數(shù)據(jù),并且不能實(shí)現(xiàn)雙向通信,
    的頭像 發(fā)表于 03-31 17:57 ?8347次閱讀

    雙工全雙工通信模式的比較

    雙工全雙工通信模式的比較? 半雙工全雙工是兩種不同的通信模式,在不同的通信需求下,它們各有優(yōu)劣。下面,我將詳細(xì)介紹半雙工
    的頭像 發(fā)表于 01-09 14:00 ?2441次閱讀

    全雙工分軌語(yǔ)音數(shù)據(jù)集:讓AI實(shí)現(xiàn)無(wú)縫對(duì)話

    全雙工語(yǔ)音交互是一種允許設(shè)備在接收語(yǔ)音的同時(shí)并行處理和響應(yīng)的技術(shù)。在傳統(tǒng)半雙工模式下,用戶需要說(shuō)完一句話后等待系統(tǒng)響應(yīng),交互效率低且體驗(yàn)不自然;而
    的頭像 發(fā)表于 04-10 09:39 ?308次閱讀
    <b class='flag-5'>全雙工</b>分軌<b class='flag-5'>語(yǔ)音</b>數(shù)據(jù)集:讓AI<b class='flag-5'>實(shí)現(xiàn)</b>無(wú)縫對(duì)話
    主站蜘蛛池模板: 六九视频在线观看 | 高清视频在线观看+免费 | 给我一个可以看片的www日本 | 在线91精品亚洲网站精品成人 | 亚洲va久久久噜噜噜久久狠狠 | 成人欧美一区二区三区黑人免费 | ts人妖在线| 日本亚洲在线 | 99久久99久久精品国产 | 久久新视频 | 五月情视频在线观看 | 亚洲国产丝袜精品一区杨幂 | 国产精品igao在线观看樱花日本 | 天堂网视频 | 国产福利在线免费 | 欧美一级在线观看视频 | 女人本色高清在线观看wwwwww国产 | 狠狠色噜噜狠狠狠狠97不卡 | 男男gay高h文 | 欧美性生活网址 | 国产99热| 丁香婷婷电影 | 免费一级网站 | 天天色天天综合 | 美女扒开尿口给男的桶个爽 | 国产又粗又大又爽又免费 | h视频在线观看网站 | 四虎在线精品免费高清在线 | 午夜视频网站在线观看 | 天堂影院jav成人天堂免费观看 | a免费在线 | 曰本三级香港三级人妇99视频 | 婷婷五月天.com | 亚洲一区高清 | 一级特黄a免费大片 | 精品特级毛片 | 亚洲天天干| 亚洲人与牲动交xxxxbbbb | 亚洲成色在线综合网站 | 黄色福利小视频 | 亚洲人成影院在线高清 |