一種藍(lán)牙音箱通話音質(zhì)的調(diào)試方法和裝置的制造方法
【專利摘要】本發(fā)明公開了一種藍(lán)牙音箱通話音質(zhì)的調(diào)試方法和裝置,以解決藍(lán)牙音頻數(shù)據(jù)分析能力和分析效率低下的問題。該裝置包括:接收模塊、數(shù)據(jù)解析模塊和語音數(shù)據(jù)保存模塊,其中,接收模塊用于獲取藍(lán)牙模組控制端的數(shù)據(jù)包,數(shù)據(jù)包包括數(shù)據(jù)包的數(shù)據(jù)和數(shù)據(jù)包的狀態(tài)標(biāo)識兩部分;數(shù)據(jù)解析模塊,用于解析獲取到的數(shù)據(jù)包,獲得數(shù)據(jù)包的解析結(jié)果,并依據(jù)解析結(jié)果,篩選出語音數(shù)據(jù)包保存到語音數(shù)據(jù)保存模塊;語音數(shù)據(jù)保存模塊,用于將篩選出的語音數(shù)據(jù)包拆分為語音數(shù)據(jù)和狀態(tài)標(biāo)識兩部分,將語音數(shù)據(jù)部分保存到左聲道中以及將放大x倍后的狀態(tài)標(biāo)識部分保存到右聲道中,并進(jìn)行左右聲道數(shù)據(jù)的同步輸出,從而,能夠提升藍(lán)牙音頻數(shù)據(jù)的分析能力和分析效率。
【專利說明】
一種藍(lán)牙音箱通話音質(zhì)的調(diào)試方法和裝置
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及藍(lán)牙技術(shù)領(lǐng)域,尤其涉及一種藍(lán)牙音箱通話音質(zhì)的調(diào)試方法和裝置。
【背景技術(shù)】
[0002] 參閱圖1所示,手機通話時,將語音數(shù)據(jù)編碼并加密,然后通過無線射頻信號 (RF)發(fā)送給音箱。音箱的控制器(Controller)端接收空中的語音數(shù)據(jù)并解析,然后通過 UART (串口)發(fā)送給音箱的Host (主控)端。Host (主控)收到數(shù)據(jù)后進(jìn)行一些后期處理然 后才丟給DAC(數(shù)模轉(zhuǎn)換器)從音箱的Speaker (喇叭)端輸出聲音,其中Controller (控 制器)是外接的藍(lán)牙模組,Host (主控)是藍(lán)牙音箱的主控芯片。當(dāng)我們想實時的分析 Controller (控制器)發(fā)送給Host (主控)的語音數(shù)據(jù)時,往往需要借助第三方工具,因為 Host (主控)端的硬件資源(主頻、內(nèi)存、存儲)受限。第三方工具即UART sniffer (串口 監(jiān)聽器),通常使用的有Ellisys或者Frontline兩家的藍(lán)牙協(xié)議分析儀。
[0003] 這些藍(lán)牙協(xié)議分析儀可以抓取空中或者UART(串口)的所有藍(lán)牙數(shù)據(jù),并實時的 在PC端配套軟件將數(shù)據(jù)解析,對平時藍(lán)牙協(xié)議棧的研究和調(diào)試都有很大幫助。
[0004] 但是這些分析工具都僅支持將抓取到的所有導(dǎo)出為wav格式的語音數(shù)據(jù)。當(dāng)使用 音頻分析工具分析導(dǎo)出的wav文件時,可能會發(fā)現(xiàn)某段聲音不正常,這時需要確認(rèn)這部分 音頻數(shù)據(jù)是否出現(xiàn)丟包或者錯包,需要返回到sniffer配套的PC工具中,從抓取到的藍(lán)牙 數(shù)據(jù)里頭找出對應(yīng)的數(shù)據(jù)幀,根據(jù)幀頭的狀態(tài)信息確認(rèn)是否丟包或者錯包,這是一個相當(dāng) 繁瑣和效率低下的過程。
[0005] 如圖2所示白色位置明顯出現(xiàn)斷音,當(dāng)我們想確認(rèn)白色部分的音頻數(shù)據(jù)是否出現(xiàn) 丟包時,我們需要先從PC工具中找到音頻數(shù)據(jù)起始位置的時間戳,如圖3為148. 316s,再 加上圖2中想查看位置的時間偏移6. 588s,得到154. 904s。找到圖4所示位置,即為該音 頻數(shù)據(jù)對應(yīng)的原始數(shù)據(jù),分析其數(shù)據(jù)幀的狀態(tài)(status)為數(shù)據(jù)部分丟失(data partially loss),即對應(yīng)的音頻數(shù)據(jù)有丟包。
[0006] 而對于錯包,則無法從音頻分析工具上發(fā)現(xiàn)。
[0007] 另外,利用UART sniffer導(dǎo)出的音頻文件無法在PC上模擬主控端(Host)進(jìn)行丟 包補償處理,無法方便的統(tǒng)計出音頻數(shù)據(jù)的錯誤率和錯誤分布情況,進(jìn)而大大地限制了對 音頻數(shù)據(jù)的分析能力。
【發(fā)明內(nèi)容】
[0008] 本發(fā)明的目的是提供一種藍(lán)牙音箱通話音質(zhì)的調(diào)試方法和裝置,以解決現(xiàn)有技術(shù) 藍(lán)牙音頻數(shù)據(jù)分析能力和分析效率低下的問題。
[0009] 本發(fā)明的目的是通過以下技術(shù)方案實現(xiàn)的:
[0010] -種藍(lán)牙音箱通話音質(zhì)的調(diào)試裝置,包括:
[0011] 接收模塊,用于獲取藍(lán)牙模組控制端的數(shù)據(jù)包,所述數(shù)據(jù)包包括數(shù)據(jù)包的數(shù)據(jù)和 數(shù)據(jù)包的狀態(tài)標(biāo)識兩部分;
[0012] 數(shù)據(jù)解析模塊,用于解析獲取到的數(shù)據(jù)包,獲得數(shù)據(jù)包的解析結(jié)果,并依據(jù)解析結(jié) 果,篩選出語音數(shù)據(jù)包保存到語音數(shù)據(jù)保存模塊;
[0013] 所述語音數(shù)據(jù)保存模塊,用于將篩選出的語音數(shù)據(jù)包拆分為語音數(shù)據(jù)和狀態(tài)標(biāo)識 兩部分,將語音數(shù)據(jù)部分保存到左聲道中以及將放大X倍后的狀態(tài)標(biāo)識部分保存到右聲道 中,并進(jìn)行左右聲道數(shù)據(jù)的同步輸出,其中X為設(shè)定的正數(shù)。
[0014] 這樣通過自制的藍(lán)牙調(diào)試裝置來分析語音數(shù)據(jù),能夠避免購買UARTsniffer產(chǎn)生 的較大開銷,而且自制調(diào)試工具的實現(xiàn)方法簡單,硬件要求低,只需具有能夠接收控制器端 UART接口數(shù)據(jù)功能的開發(fā)板即可,更重要的是通過自制的藍(lán)牙調(diào)試裝置抓取后的音頻數(shù)據(jù) 直觀明了,易于分析,可用于仿真Host端對音頻數(shù)據(jù)的處理過程,從而對Host端處理進(jìn)行 優(yōu)化,還能進(jìn)一步對實時通話的語音數(shù)據(jù)進(jìn)行評估。
[0015] 可選的,所述接收模塊從藍(lán)牙模組控制端獲取的數(shù)據(jù)包類型為主機控制器接口 HCI命令數(shù)據(jù)包、HCI異步數(shù)據(jù)包、HCI同步數(shù)據(jù)包和HCI事件包的任意種組合,其中HCI同 步數(shù)據(jù)包為語音數(shù)據(jù)包。
[0016] 可選的,解析獲取到的數(shù)據(jù)包,獲得數(shù)據(jù)包的解析結(jié)果時,所述數(shù)據(jù)解析模塊具體 用于:
[0017] 在接收模塊獲取到所述數(shù)據(jù)包后,針對數(shù)據(jù)包的數(shù)據(jù)部分,獲取1字節(jié)的數(shù)據(jù),確 定數(shù)據(jù)包的類型和數(shù)據(jù)包的包頭長度;
[0018] 基于數(shù)據(jù)包的包頭長度,獲取數(shù)據(jù)包的包頭數(shù)據(jù),確定數(shù)據(jù)包的數(shù)據(jù)長度,獲得解 析結(jié)果。
[0019] 可選的,依據(jù)解析結(jié)果,篩選出語音數(shù)據(jù)包保存到語音數(shù)據(jù)保存模塊時,所述數(shù)據(jù) 解析模塊具體用于:
[0020] 依據(jù)數(shù)據(jù)包的解析結(jié)果,判斷所述數(shù)據(jù)包的類型是否為HCI同步數(shù)據(jù)包,若是,則 將所述數(shù)據(jù)包標(biāo)記為語音數(shù)據(jù)包;否則,依據(jù)所述數(shù)據(jù)包的數(shù)據(jù)長度,將所述數(shù)據(jù)包丟掉;
[0021] 篩選出所有標(biāo)記為語音數(shù)據(jù)包的數(shù)據(jù)包,基于所述語音數(shù)據(jù)包的解析結(jié)果將所述 語音數(shù)據(jù)包保存到所述語音數(shù)據(jù)保存模塊。
[0022] 可選的,將篩選出的語音數(shù)據(jù)包拆分為語音數(shù)據(jù)和狀態(tài)標(biāo)識兩部分,將語音數(shù)據(jù) 部分保存到左聲道中以及將放大X倍后的狀態(tài)標(biāo)識部分保存到右聲道中,并進(jìn)行左右聲道 數(shù)據(jù)的同步輸出時,所述語音數(shù)據(jù)保存模塊具體用于:
[0023] 將篩選出的語音數(shù)據(jù)包拆分為語音數(shù)據(jù)和狀態(tài)標(biāo)識兩部分,將語音數(shù)據(jù)部分保存 到左聲道中以及將放大X倍后的狀態(tài)標(biāo)識部分保存到右聲道中,以及將左聲道中的語音數(shù) 據(jù)部分和對應(yīng)的右聲道中狀態(tài)標(biāo)識部分進(jìn)行對齊處理,并進(jìn)行同步輸出。
[0024] -種藍(lán)牙音箱通話音質(zhì)的分析裝置,包括:
[0025] 語音數(shù)據(jù)提取模塊,用于接收上述藍(lán)牙音箱通話音質(zhì)的調(diào)試裝置中輸出的語音數(shù) 據(jù)包,從所述語音數(shù)據(jù)包中提取語音數(shù)據(jù),將語音數(shù)據(jù)包的語音數(shù)據(jù)部分和狀態(tài)標(biāo)識部分 進(jìn)行分離,獲取所述語音數(shù)據(jù)包的語音數(shù)據(jù)和狀態(tài)標(biāo)識;
[0026] 語音數(shù)據(jù)重對齊模塊,用于基于所述語音數(shù)據(jù)包的語音數(shù)據(jù)和狀態(tài)標(biāo)識,將語音 數(shù)據(jù)包的大小調(diào)整為空中傳輸?shù)恼Z音數(shù)據(jù)包的大小,以及針對語音數(shù)據(jù)包的狀態(tài)標(biāo)識進(jìn)行 修正處理,得到修正后的語音數(shù)據(jù)包,并輸出到語音數(shù)據(jù)保存模塊;
[0027] 語音數(shù)據(jù)PLC處理模塊,用于獲取修正后的語音數(shù)據(jù)包,并根據(jù)數(shù)據(jù)包的狀態(tài)標(biāo) 識判斷對應(yīng)的數(shù)據(jù)包的數(shù)據(jù)是否進(jìn)行丟包補償處理,若是,則進(jìn)行丟包補償處理;否則,進(jìn) 行簡單平滑處理,得到處理后的語音數(shù)據(jù)包,并輸出到所述語音數(shù)據(jù)保存模塊;
[0028] 語音數(shù)據(jù)統(tǒng)計模塊,用于從語音數(shù)據(jù)重對齊模塊和語音數(shù)據(jù)PLC處理模塊獲取處 理中的數(shù)據(jù)包進(jìn)行統(tǒng)計分析,得到統(tǒng)計結(jié)果,并輸出到所述語音數(shù)據(jù)保存模塊;
[0029] 語音數(shù)據(jù)保存模塊,用于將語音數(shù)據(jù)重對齊模塊,語音數(shù)據(jù)PLC處理模塊和語音 數(shù)據(jù)統(tǒng)計模塊的輸出文件進(jìn)行保存。
[0030] 這樣,能夠進(jìn)一步針對藍(lán)牙調(diào)試裝置輸出的語音數(shù)據(jù)進(jìn)行詳細(xì)分析,分析過程直 觀,分析效率高,提高了針對音頻數(shù)據(jù)的分析能力,且分析結(jié)果直觀。
[0031] 一種藍(lán)牙音箱通話音質(zhì)的調(diào)試方法,包括:
[0032] 獲取藍(lán)牙模組控制端的數(shù)據(jù)包,所述數(shù)據(jù)包包括數(shù)據(jù)包的數(shù)據(jù)和數(shù)據(jù)包的狀態(tài)標(biāo) 識兩部分;
[0033] 解析獲取到的數(shù)據(jù)包,獲得數(shù)據(jù)包的解析結(jié)果,并依據(jù)解析結(jié)果,篩選出語音數(shù)據(jù) 包并進(jìn)行保存;
[0034] 將篩選出的語音數(shù)據(jù)包拆分為語音數(shù)據(jù)和狀態(tài)標(biāo)識兩部分,將語音數(shù)據(jù)部分保存 到左聲道中以及將放大X倍后的狀態(tài)標(biāo)識部分保存到右聲道中,并進(jìn)行左右聲道數(shù)據(jù)的同 步輸出,其中X為設(shè)定的正數(shù)。
[0035] 這樣抓取后的音頻數(shù)據(jù)直觀明了,易于分析,可用于仿真Host端對音頻數(shù)據(jù)的處 理過程,從而對Host端處理進(jìn)行優(yōu)化,還能進(jìn)一步對實時通話的語音數(shù)據(jù)進(jìn)行評估。
[0036] 可選的,從藍(lán)牙模組控制端獲取的數(shù)據(jù)包類型為主機控制器接口 HCI命令數(shù)據(jù) 包、HCI異步數(shù)據(jù)包、HCI同步數(shù)據(jù)包和HCI事件包的任意種組合,其中HCI同步數(shù)據(jù)包為語 音數(shù)據(jù)包。
[0037] 可選的,解析獲取到的數(shù)據(jù)包,獲得數(shù)據(jù)包的解析結(jié)果,具體包括:
[0038] 在獲取到所述數(shù)據(jù)包后,針對數(shù)據(jù)包的數(shù)據(jù)部分,獲取1字節(jié)的數(shù)據(jù),確定數(shù)據(jù)包 的類型和數(shù)據(jù)包的包頭長度;
[0039] 基于數(shù)據(jù)包的包頭長度,獲取數(shù)據(jù)包的包頭數(shù)據(jù),確定數(shù)據(jù)包的數(shù)據(jù)長度,獲得解 析結(jié)果。
[0040] 可選的,依據(jù)解析結(jié)果,篩選出語音數(shù)據(jù)包保存到語音數(shù)據(jù)保存模塊,具體包括:
[0041] 依據(jù)數(shù)據(jù)包的解析結(jié)果,判斷所述數(shù)據(jù)包的類型是否為HCI同步數(shù)據(jù)包,若是,則 將所述數(shù)據(jù)包標(biāo)記為語音數(shù)據(jù)包;否則,依據(jù)所述數(shù)據(jù)包的數(shù)據(jù)長度,將所述數(shù)據(jù)包丟掉;
[0042] 篩選出所有標(biāo)記為語音數(shù)據(jù)包的數(shù)據(jù)包,基于所述語音數(shù)據(jù)包的解析結(jié)果將所述 語音數(shù)據(jù)包進(jìn)行保存。
[0043] 可選的,將篩選出的語音數(shù)據(jù)包拆分為語音數(shù)據(jù)和狀態(tài)標(biāo)識兩部分,將語音數(shù)據(jù) 部分保存到左聲道中以及將放大X倍后的狀態(tài)標(biāo)識部分保存到右聲道中,并進(jìn)行左右聲道 數(shù)據(jù)的同步輸出,具體包括:
[0044] 將篩選出的語音數(shù)據(jù)包拆分為語音數(shù)據(jù)和狀態(tài)標(biāo)識兩部分,將語音數(shù)據(jù)部分保存 到左聲道中以及將放大X倍后的狀態(tài)標(biāo)識部分保存到右聲道中,以及將左聲道中的語音數(shù) 據(jù)部分和對應(yīng)的右聲道中狀態(tài)標(biāo)識部分進(jìn)行對齊處理,并進(jìn)行同步輸出。
[0045] -種藍(lán)牙音箱通話音質(zhì)的分析方法,包括:
[0046] 接收按照藍(lán)牙音箱通話音質(zhì)的調(diào)試方法中輸出的語音數(shù)據(jù)包,從所述語音數(shù)據(jù)包 中提取語音數(shù)據(jù),將語音數(shù)據(jù)包的語音數(shù)據(jù)部分和狀態(tài)標(biāo)識部分進(jìn)行分離,獲取所述語音 數(shù)據(jù)包的語音數(shù)據(jù)和狀態(tài)標(biāo)識;
[0047] 基于所述語音數(shù)據(jù)包的語音數(shù)據(jù)和狀態(tài)標(biāo)識,將語音數(shù)據(jù)包的大小調(diào)整為空中傳 輸?shù)恼Z音數(shù)據(jù)包的大小,以及針對語音數(shù)據(jù)包的狀態(tài)標(biāo)識進(jìn)行修正處理,得到修正后的語 音數(shù)據(jù)包,并進(jìn)行輸出;
[0048] 獲取修正后的語音數(shù)據(jù)包,并根據(jù)數(shù)據(jù)包的狀態(tài)標(biāo)識判斷對應(yīng)的數(shù)據(jù)包的數(shù)據(jù)是 否進(jìn)行丟包補償處理,若是,則進(jìn)行丟包補償處理;否則,進(jìn)行簡單平滑處理,得到處理后的 語音數(shù)據(jù)包,并進(jìn)行輸出;
[0049] 從語音數(shù)據(jù)重對齊模塊和語音數(shù)據(jù)PLC處理模塊獲取處理中的數(shù)據(jù)包進(jìn)行統(tǒng)計 分析,得到統(tǒng)計結(jié)果,并進(jìn)行輸出;
[0050] 獲取輸出的文件進(jìn)行保存。
[0051] 這樣,能夠進(jìn)一步針對藍(lán)牙調(diào)試裝置輸出的語音數(shù)據(jù)進(jìn)行詳細(xì)分析,分析過程直 觀,分析效率高,提高了針對音頻數(shù)據(jù)的分析能力,且分析結(jié)果直觀。
【附圖說明】
[0052] 圖1為現(xiàn)有技術(shù)中通話語音數(shù)據(jù)的調(diào)試裝置示意圖;
[0053] 圖2為音頻數(shù)據(jù)出現(xiàn)丟包的示意圖;
[0054] 圖3和圖4為現(xiàn)有通過音頻分析工作分析結(jié)果示意圖;
[0055] 圖5為本發(fā)明實施中的通話語音數(shù)據(jù)的調(diào)試裝置示意圖;
[0056] 圖6為本發(fā)明實施中UART tool的結(jié)構(gòu)示意圖;
[0057] 圖7為本發(fā)明實施例中UART tool的結(jié)構(gòu)連接示意圖;
[0058] 圖8為本發(fā)明實施例中UART tool的工作原理示意圖;
[0059] 圖9為本發(fā)明實施例中UART數(shù)據(jù)解析流程示意圖;
[0060] 圖10為本發(fā)明實施例中UART tool保存的語音數(shù)據(jù)示意圖;
[0061] 圖11為本發(fā)明實施例中UART tool保存的語音數(shù)據(jù)經(jīng)放大后的示意圖;
[0062] 圖12為本發(fā)明實施例中藍(lán)牙音箱通話音質(zhì)分析裝置的工作原理示意圖;
[0063] 圖13為本發(fā)明實施例中分析裝置的結(jié)構(gòu)框架示意圖;
[0064] 圖14為本發(fā)明實施例中空中數(shù)據(jù)包和UART端語音數(shù)據(jù)包的狀態(tài)示意圖;
[0065] 圖15為本發(fā)明實施例中分析裝置的輸出結(jié)果示意圖;
[0066] 圖16為本發(fā)明實施例中圖11中的語音數(shù)據(jù)經(jīng)過重對齊處理后的語音數(shù)據(jù)示意 圖;
[0067] 圖17為本發(fā)明實施例中圖11中的語音數(shù)據(jù)經(jīng)過PLC處理前和處理后的語音數(shù)據(jù) 示意圖;
[0068] 圖18為本發(fā)明實施例中圖17的部分語音數(shù)據(jù)經(jīng)放大后的示意圖;
[0069] 圖19為本發(fā)明實施中分析裝置的語音數(shù)據(jù)分析統(tǒng)計模塊的輸出結(jié)果示意圖;
[0070] 圖20為本發(fā)明實施例中輸入到分析裝置的影響PLC處理的部分語音數(shù)據(jù)示意圖。
【具體實施方式】
[0071] 下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,并不是全部的實施例。基于 本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他 實施例,都屬于本發(fā)明保護(hù)的范圍。
[0072] 為了解決串口監(jiān)聽器(UART sniffer)無法滿足對音頻數(shù)據(jù)高效分析的缺點,結(jié)合 自身需求,采用自制的UART tool,具體架構(gòu)參閱圖5所示,自制串口監(jiān)聽工具(UART tool) 主要由UART接收模塊、UART數(shù)據(jù)解析模塊和UART語音數(shù)據(jù)保存模塊三部分組成,具體模 塊構(gòu)成參閱圖6所示。UART接收模塊負(fù)責(zé)UART相關(guān)硬件接口的初始化及UART數(shù)據(jù)的接收 和發(fā)送(這里只需要接收功能);UART數(shù)據(jù)解析模塊主要負(fù)責(zé)從UART接收模塊獲取UART 數(shù)據(jù)并按照藍(lán)牙主機控制器接口(HCI)數(shù)據(jù)的格式進(jìn)行數(shù)據(jù)解析,從而得到想要的SCO數(shù) 據(jù)包交給UART語音數(shù)據(jù)保存模塊;UART語音數(shù)據(jù)保存模塊主要負(fù)責(zé)將語音數(shù)據(jù)按照特定 的格式保存到存儲介質(zhì)中,既可以保存到存儲卡中,也可以通過通用串行總線(USB)傳輸 到PC上保存。
[0073] 由于UART tool對硬件的要求比較低,所以能夠容易的在平時的研發(fā)資源中方便 的找到滿足條件的開發(fā)板進(jìn)行制作。本發(fā)明實施中選擇了舊的UTS2825方案遺留下來的板 子作為UART tool,其具有滿足RS232標(biāo)準(zhǔn)的UART接口及卡槽。將藍(lán)牙音箱開發(fā)板藍(lán)牙模 組的UART TX 口引線,連接到UART tool的UART RX 口引線上,插入一張足夠容量的安全數(shù) 碼卡(SD卡),給板子上電就可以實時抓取通話時的語音數(shù)據(jù)進(jìn)行分析。此外還有一點需要 保證的是兩塊板子共地,否則UART無法正常收發(fā)數(shù)據(jù),具體示意圖參閱圖7所示
[0074] 下面以UART接收模塊、UART數(shù)據(jù)解析模塊和UART語音數(shù)據(jù)保存模塊為例,介紹 UART tool工作原理如下,具體可參閱圖8所示:
[0075] 步驟800 :UART tool接收模塊獲取藍(lán)牙模組控制端的數(shù)據(jù)包,數(shù)據(jù)包包括數(shù)據(jù)包 的數(shù)據(jù)和數(shù)據(jù)包的狀態(tài)標(biāo)識兩部分。
[0076] 進(jìn)一步的,UART tool接收模塊從藍(lán)牙模組控制端獲取的數(shù)據(jù)包類型為HCI命令 數(shù)據(jù)包、HCI異步數(shù)據(jù)包、HCI同步數(shù)據(jù)包和HCI事件包的任意種組合,其中HCI同步數(shù)據(jù)包 為語音數(shù)據(jù)包。
[0077] 根據(jù)藍(lán)牙核心規(guī)范定義,Controller端和Host端的交互是通過HCI來完成的,HCI 分為如下4種類型包,具體見表1所示.
[0078] 表 1
[0079]
[0080] 具體的,協(xié)議中規(guī)定的HCI的數(shù)據(jù)包的格式可參閱圖9所示,這里將4種HCI數(shù)據(jù) 包格式歸納為如下4條表達(dá)式。
[0081] HCI Command Packet :lbyte type+3bytes header+N bytes data(N = header [2])
[0082] HCI ACL Data Packet :lbyte type+4bytes header+N bytes data(N = header[2]|(header[3]〈〈8))
[0083] HCI Synchronous Data Packet :lbyte type+3bytes header+N bytes data(N = header [2])
[0084] HCI Event Packet :lbyte type+2bytes header+N bytes data(N = header[1])
[0085] 具體的,語音數(shù)據(jù)包包括數(shù)據(jù)包的數(shù)據(jù)和數(shù)據(jù)包的狀態(tài)標(biāo)識兩部分。參閱表2所 示,語音數(shù)據(jù)包的狀態(tài)標(biāo)識用二進(jìn)制表示法來表示,具有〇〇、〇1、10、11四種類型,而數(shù)據(jù)則 為分析時真正需要的語音數(shù)據(jù)。狀態(tài)標(biāo)識四種類型值的對應(yīng)意義可以大概理解為好包、錯 包、丟包、部分丟包,其中數(shù)據(jù)包的狀態(tài)標(biāo)識,由藍(lán)牙模組控制器發(fā)送并包含在數(shù)據(jù)包內(nèi)。
[0086] 表 2
[0087]
[0088] 步驟801 :UART too 1的數(shù)據(jù)解析模塊解析獲取到的數(shù)據(jù)包,獲得數(shù)據(jù)包的解析結(jié) 果,并依據(jù)解析結(jié)果,篩選出語音數(shù)據(jù)包保存到UART tool的語音數(shù)據(jù)保存模塊。
[0089] 具體的,UART tool的數(shù)據(jù)解析模塊解析獲取到的數(shù)據(jù)包,獲得數(shù)據(jù)包的解析結(jié) 果,具體過程為:在UART tool接收模塊獲取到數(shù)據(jù)包后,針對數(shù)據(jù)包的數(shù)據(jù)部分,獲取1字 節(jié)的數(shù)據(jù),確定數(shù)據(jù)包的類型和數(shù)據(jù)包的包頭長度;進(jìn)一步基于數(shù)據(jù)包的包頭長度,獲取數(shù) 據(jù)包的包頭數(shù)據(jù),確定數(shù)據(jù)包的數(shù)據(jù)長度,獲得解析結(jié)果。
[0090] 具體的,UART tool的數(shù)據(jù)解析模塊依據(jù)依據(jù)解析結(jié)果,篩選出語音數(shù)據(jù)包保存到 UART tool的語音數(shù)據(jù)保存模塊,具體過程為:依據(jù)數(shù)據(jù)包的解析結(jié)果,判斷數(shù)據(jù)包的類型 是否為HCI同步數(shù)據(jù)包,若是,則將該數(shù)據(jù)包標(biāo)記為語音數(shù)據(jù)書包;否則,依據(jù)該數(shù)據(jù)包的 數(shù)據(jù)長度,將該數(shù)據(jù)包丟掉;篩選出所有標(biāo)記為語音數(shù)據(jù)包的數(shù)據(jù)包,基于該語音數(shù)據(jù)包的 解析結(jié)果將該語音數(shù)據(jù)包保存到UART tool的語音數(shù)據(jù)保存模塊。
[0091] 例如,參閱圖9所示,UART tool的數(shù)據(jù)解析主要是一個狀態(tài)轉(zhuǎn)換的循環(huán)過程,首 先初始時獲取1字節(jié)數(shù)據(jù)解析數(shù)據(jù)包的類型狀態(tài),即執(zhí)行步驟901,接著轉(zhuǎn)換為解析包頭狀 態(tài),即執(zhí)行步驟902,獲取數(shù)據(jù)包的包頭數(shù)據(jù)進(jìn)行解析,確定數(shù)據(jù)的長度,最后是解析數(shù)據(jù)包 的數(shù)據(jù),即執(zhí)行步驟903,若是語音數(shù)據(jù)包,則將該數(shù)據(jù)包發(fā)往UART tool的語音數(shù)據(jù)保存 模塊,若不是語音數(shù)據(jù)包,則依據(jù)該數(shù)據(jù)包的長度將該語音數(shù)據(jù)包進(jìn)行丟棄處理。在這三個 過程中,任何一個狀態(tài)出現(xiàn)異常都會回到解析包類型的初始狀態(tài)即步驟901,當(dāng)解析到HCI 同步數(shù)據(jù)包(Synchronous Data Packet)時,即為需要的語音數(shù)據(jù)包,將該語音數(shù)據(jù)包交給 UART tool的語音數(shù)據(jù)保存模塊處理,而對于其它三種類型的數(shù)據(jù)包,則直接略過,繼續(xù)解 析剩余的數(shù)據(jù)包。
[0092] 步驟802 :UART tool的語音數(shù)據(jù)保存模塊將篩選出的語音數(shù)據(jù)包拆分為語音數(shù) 據(jù)和狀態(tài)標(biāo)識兩部分,將語音數(shù)據(jù)部分保存到左聲道中以及將放大X倍后的狀態(tài)標(biāo)識部分 保存到右聲道中,并進(jìn)行左右聲道數(shù)據(jù)的同步輸出,其中X為設(shè)定的正數(shù)。
[0093] 例如,UART tool的語音數(shù)據(jù)保存模塊將從UART tool的數(shù)據(jù)解析模塊接收到的 語音數(shù)據(jù)包(Synchronous Data Packet)拆分為語音數(shù)據(jù)(Data)和狀態(tài)標(biāo)識兩部分。
[0094] 具體的,UART tool的語音數(shù)據(jù)保存模塊將篩選出的語音數(shù)據(jù)包拆分為語音數(shù)據(jù) 和狀態(tài)標(biāo)識兩部分,將語音數(shù)據(jù)部分保存到左聲道中以及將放大X倍后的狀態(tài)標(biāo)識部分保 存到右聲道中,以及將左聲道中的語音數(shù)據(jù)部分和對應(yīng)的右聲道中狀態(tài)標(biāo)識部分進(jìn)行對齊 處理,并進(jìn)行同步輸出。
[0095] 為了使保存下來的語音數(shù)據(jù)結(jié)果更加直觀,較佳的,語音數(shù)據(jù)保存模塊將語音數(shù) 據(jù)部分保存到左聲道中,而狀態(tài)標(biāo)識的值進(jìn)行1〇〇〇倍放大并保存到語音數(shù)據(jù)對應(yīng)的右聲 道中。參閱圖10所示,白色橢圓1所示的白線分割的上邊為左聲道數(shù)據(jù),下邊為右聲道數(shù) 據(jù),即上邊是通話時的原始語音數(shù)據(jù),下邊是語音數(shù)據(jù)對應(yīng)的status。將白色橢圓2所示的 白色底對應(yīng)的左右聲道放大后得到如圖11所示的圖像,可以直觀的看出白色橢圓1所示的 數(shù)據(jù)是一條數(shù)值都為〇的平直線,出現(xiàn)丟包,同時其對應(yīng)的右聲道數(shù)值如白色橢圓2所示為 一條數(shù)值為2000的平直線,也意味著對應(yīng)的語音數(shù)據(jù)出現(xiàn)丟包。而從圖10中可以初略的 看出本次通話的語音數(shù)據(jù)比較理想,出現(xiàn)丟包和錯包的地方較少,由此可以看出UART Tool 針對語音數(shù)據(jù)分析更加的快速準(zhǔn)確。
[0096] UART Tool的語音數(shù)據(jù)保存模塊最終輸出一個名為sco. pcm的文件,已經(jīng)從圖10 中看到音頻分析工具UART Tool輸出的結(jié)果示意圖。
[0097] 本發(fā)明實施例中還提供一種藍(lán)牙音箱通話音質(zhì)的分析裝置,應(yīng)用在客戶端,能夠 通過在PC端運行程序?qū)崿F(xiàn)該分析裝置的功能,下面以語音數(shù)據(jù)提取模塊、語音數(shù)據(jù)重對齊 模塊、語音數(shù)據(jù)PLC處理模塊、語音數(shù)據(jù)統(tǒng)計模塊和語音數(shù)據(jù)保存模塊為例,介紹該分析裝 置的工作原理如下,具體可參閱圖12所示,其中,分析裝置的架構(gòu)可參閱圖13所示:
[0098] 步驟120 :分析裝置的語音數(shù)據(jù)提取模塊接收UART Tool中輸出的語音數(shù)據(jù)包,從 該語音數(shù)據(jù)包中提取語音數(shù)據(jù),將語音數(shù)據(jù)包的語音數(shù)據(jù)部分和狀態(tài)標(biāo)識部分進(jìn)行分離, 獲取該語音數(shù)據(jù)包的語音數(shù)據(jù)和狀態(tài)標(biāo)識;
[0099] 步驟121 :分析裝置的語音數(shù)據(jù)重對齊模炔基于該語音數(shù)據(jù)包的語音數(shù)據(jù)和狀態(tài) 標(biāo)識,將語音數(shù)據(jù)包的大小調(diào)整為空中傳輸?shù)恼Z音數(shù)據(jù)包的大小,以及針對語音數(shù)據(jù)包的 狀態(tài)標(biāo)識進(jìn)行修正處理,得到修正后的語音數(shù)據(jù)包,并輸出到語音數(shù)據(jù)保存模塊;
[0100] 步驟122 :分析裝置的語音數(shù)據(jù)PLC處理模塊獲取修正后的語音數(shù)據(jù)包,并根據(jù)數(shù) 據(jù)包的狀態(tài)標(biāo)識判斷是否需要進(jìn)行丟包補償處理,若是,則進(jìn)行丟包補償處理;否則,進(jìn)行 簡單的平滑處理,得到處理后的語音數(shù)據(jù)包,并輸出到語音數(shù)據(jù)保存模塊。
[0101] 步驟123 :分析裝置的語音數(shù)據(jù)統(tǒng)計模塊從語音數(shù)據(jù)重對齊模塊和語音數(shù)據(jù)PLC 處理模塊獲取處理中的數(shù)據(jù)包進(jìn)行統(tǒng)計分析,得到統(tǒng)計結(jié)果,并輸出到語音數(shù)據(jù)保存模塊。
[0102] 步驟124 :分析裝置的語音數(shù)據(jù)保存模塊將語音數(shù)據(jù)重對齊模塊、語音數(shù)據(jù)PLC處 理模塊和語音數(shù)據(jù)統(tǒng)計模塊的輸出結(jié)果進(jìn)行保存。
[0103] 例如,該分析裝置將sco. pcm文件作為輸入,利用PC上強大的資源可以快速的開 發(fā)一個控制臺應(yīng)用程序,仿真主控(Host)端的處理,從而可以對Host端的處理算法進(jìn)行分 析和優(yōu)化。
[0104] 參閱圖13所示,pC端控制臺應(yīng)用程序(分析裝置)主要由5個模塊構(gòu)成。其中, 語音數(shù)據(jù)提取模塊130負(fù)責(zé)從輸入的sco. pcm文件提取語音數(shù)據(jù),將語音數(shù)據(jù)和狀態(tài)標(biāo)識 分離開來并交給語音數(shù)據(jù)重對齊模塊131。語音數(shù)據(jù)重對齊模塊131的目的是嘗試恢復(fù)空 中真正數(shù)據(jù)包及其狀態(tài)。參閱圖14所示,由于控制器(Controller)端的重組導(dǎo)致送給的主 控(Host)端的數(shù)據(jù)包(Packet)大小變?yōu)?8bytes,與空中實際傳輸時使用的Packet大小 60bytes不等,進(jìn)而導(dǎo)致由于狀態(tài)標(biāo)記為丟包而浪費了空中實際上沒有丟包的部分?jǐn)?shù)據(jù)。針 對此等浪費,語音數(shù)據(jù)重對齊模塊131會將Packet的大小從48bytes恢復(fù)為60bytes并修 正其對應(yīng)的狀態(tài);語音數(shù)據(jù)重對齊模塊131會將處理后的數(shù)據(jù)送給語音數(shù)據(jù)PLC處理模塊 132進(jìn)行PC端仿真處理,送給語音數(shù)據(jù)統(tǒng)計模塊133輔助分析,送給各階段數(shù)據(jù)保存模塊 134進(jìn)行輸出結(jié)果保存;語音數(shù)據(jù)PLC處理模塊132主要是將藍(lán)牙音箱上Host端的PLC處 理代碼移植到PC上進(jìn)行同步仿真處理。該模塊包括了根據(jù)狀態(tài)判斷是否進(jìn)行丟包補償處 理;語音數(shù)據(jù)統(tǒng)計模塊133主要統(tǒng)計由于沒有足夠的前向有效數(shù)據(jù)導(dǎo)致無法得到最優(yōu)PLC 處理效果時的附近語音數(shù)據(jù)某段時間內(nèi)的錯誤率;語音數(shù)據(jù)保存模塊134主要將語音數(shù)據(jù) 重對齊模塊131、語音數(shù)據(jù)PLC處理模塊132及語音數(shù)據(jù)統(tǒng)計模塊133的輸出結(jié)果保存到文 件中。
[0105] 參閱圖15所示,將sco. pcm文件作為輸入,PC端控制臺應(yīng)用程序(分析裝置)最 終輸出realign_sco. pcm、plc_sco. pcm和info_sco. txt三個文件分別對應(yīng)語音數(shù)據(jù)重對 齊模塊131、語音數(shù)據(jù)PLC處理模塊132及語音數(shù)據(jù)統(tǒng)計模塊133的處理結(jié)果。參閱16顯 示的是前面圖11經(jīng)過語音數(shù)據(jù)重對齊模塊131處理后的結(jié)果,可以看到圖11白色橢圓3 所示原先標(biāo)記為部分丟包的數(shù)據(jù)經(jīng)過修正后如圖16白色橢圓所示沒有丟包的相應(yīng)位置標(biāo) 記為好包(00)。
[0106] 用戶用音頻分析工具打開plc_sco. pcm文件可以看到是一個采樣率為8KHz的立 體聲音頻文件,如圖17所示。其中,白色橫線上部分為左聲道數(shù)據(jù)代表了進(jìn)行PLC補償前 的語音數(shù)據(jù),白色橫線下部分為右聲道數(shù)據(jù)代表了進(jìn)行PLC補償后的語音數(shù)據(jù)。將圖17中 白色底所示的數(shù)據(jù)進(jìn)行放大,得到圖18所示結(jié)果。圖18的框中,上邊語音數(shù)據(jù)有斷的部分 在下邊的語音數(shù)據(jù)是連續(xù)的,那就是PLC補償后的結(jié)果。通過這樣子的比對,用戶可以對處 理結(jié)果不滿意處的聲音數(shù)據(jù)進(jìn)行分析,看是否有處理不當(dāng)?shù)牡胤健?br>[0107] 圖19是語音數(shù)據(jù)分析統(tǒng)計模塊的結(jié)果,首先第一行的意思是在11. 100s處的前向 有效數(shù)據(jù)不夠,可能導(dǎo)致PLC處理效果不理想,其前向60ms內(nèi)有25%的數(shù)據(jù)無效,并且實際 進(jìn)行PLC處理后,前向60ms內(nèi)有50%的數(shù)據(jù)是無效的。圖20中垂直虛線處就是11. 100s 的位置,可以看到垂直虛線前確實存在一段較長時間的丟包,會影響PLC處理效果。但是由 于該時間段內(nèi)恰好是靜音數(shù)據(jù),所以最終聲音輸出時只有很輕微的影響。
[0108] 藍(lán)牙模組控制器(Controller)端與主控(Host)端通信的硬件接口除了使用 UART (H4),還可能使用USB、SD、UART (H5)、PCM其它接口。無論使用何種硬件通信接口,均 可使用一樣的調(diào)試方法,只是數(shù)據(jù)的獲取方法不同。
[0109] 綜上所述,本發(fā)明實施例中通過自制的UART tool獲取藍(lán)牙模組控制端的數(shù)據(jù)包, 數(shù)據(jù)包包括數(shù)據(jù)包的數(shù)據(jù)和數(shù)據(jù)包的狀態(tài)標(biāo)識兩部分;并解析獲取到的數(shù)據(jù)包,獲得數(shù)據(jù) 包的解析結(jié)果,并依據(jù)解析結(jié)果,篩選出語音數(shù)據(jù)包保存到語音數(shù)據(jù)保存模塊;以及將篩選 出的語音數(shù)據(jù)包拆分為語音數(shù)據(jù)和狀態(tài)標(biāo)識兩部分,將語音數(shù)據(jù)部分保存到左聲道中以及 將放大X倍后的狀態(tài)標(biāo)識部分保存到右聲道中,并進(jìn)行左右聲道數(shù)據(jù)的同步輸出,這樣通 過自制的藍(lán)牙調(diào)試裝置來分析語音數(shù)據(jù),能夠避免購買UART sniffer產(chǎn)生的較大開銷,而 且自制UART tool實現(xiàn)方法簡單,硬件要求低,只需具有能夠接收控制器端UART接口數(shù)據(jù) 功能的開發(fā)板即可,更重要的是通過UART tool抓取后的音頻數(shù)據(jù)直觀明了,易于分析,可 用于仿真Host端對音頻數(shù)據(jù)的處理過程,從而對Host端處理進(jìn)行優(yōu)化,還能進(jìn)一步對實時 通話的語音數(shù)據(jù)進(jìn)行評估。
[0110] 本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機程序 產(chǎn)品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實 施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機可用程序代碼的計算機 可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學(xué)存儲器等)上實施的計算機程序產(chǎn) 品的形式。
[0111] 本發(fā)明是參照根據(jù)本發(fā)明實施例的方法、設(shè)備(系統(tǒng))、和計算機程序產(chǎn)品的流程 圖和/或方框圖來描述的。應(yīng)理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一 流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算 機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設(shè)備的處理 器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生 用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能 的裝置。
[0112] 這些計算機程序指令也可存儲在能引導(dǎo)計算機或其他可編程數(shù)據(jù)處理設(shè)備以特 定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指 令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或 多個方框中指定的功能。
[0113] 這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計 算機或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或 其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖 一個方框或多個方框中指定的功能的步驟。
[0114] 盡管已描述了本發(fā)明的優(yōu)選實施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造 性概念,則可對這些實施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu) 選實施例以及落入本發(fā)明范圍的所有變更和修改。
[0115] 顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明實施例進(jìn)行各種改動和變型而不脫離本發(fā) 明實施例的精神和范圍。這樣,倘若本發(fā)明實施例的這些修改和變型屬于本發(fā)明權(quán)利要求 及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
【主權(quán)項】
1. 一種藍(lán)牙音箱通話音質(zhì)的調(diào)試裝置,其特征在于,包括: 接收模塊,用于獲取藍(lán)牙模組控制端的數(shù)據(jù)包,所述數(shù)據(jù)包包括數(shù)據(jù)包的數(shù)據(jù)和數(shù)據(jù) 包的狀態(tài)標(biāo)識兩部分; 數(shù)據(jù)解析模塊,用于解析獲取到的數(shù)據(jù)包,獲得數(shù)據(jù)包的解析結(jié)果,并依據(jù)解析結(jié)果, 篩選出語音數(shù)據(jù)包保存到語音數(shù)據(jù)保存模塊; 所述語音數(shù)據(jù)保存模塊,用于將篩選出的語音數(shù)據(jù)包拆分為語音數(shù)據(jù)和狀態(tài)標(biāo)識兩部 分,將語音數(shù)據(jù)部分保存到左聲道中以及將放大X倍后的狀態(tài)標(biāo)識部分保存到右聲道中, 并進(jìn)行左右聲道數(shù)據(jù)的同步輸出,其中X為設(shè)定的正數(shù)。2. 如權(quán)利要求1所述的裝置,其特征在于,所述接收模塊從藍(lán)牙模組控制端獲取的數(shù) 據(jù)包類型為主機控制器接口 HCI命令數(shù)據(jù)包、HCI異步數(shù)據(jù)包、HCI同步數(shù)據(jù)包和HCI事件 包的任意種組合,其中HCI同步數(shù)據(jù)包為語音數(shù)據(jù)包。3. 如權(quán)利要求1所述的裝置,其特征在于,解析獲取到的數(shù)據(jù)包,獲得數(shù)據(jù)包的解析結(jié) 果時,所述數(shù)據(jù)解析模塊具體用于: 在接收模塊獲取到所述數(shù)據(jù)包后,針對數(shù)據(jù)包的數(shù)據(jù)部分,獲取1字節(jié)的數(shù)據(jù),確定數(shù) 據(jù)包的類型和數(shù)據(jù)包的包頭長度; 基于數(shù)據(jù)包的包頭長度,獲取數(shù)據(jù)包的包頭數(shù)據(jù),確定數(shù)據(jù)包的數(shù)據(jù)長度,獲得解析結(jié) 果。4. 如權(quán)利要求1、2或3所述的裝置,其特征在于,依據(jù)解析結(jié)果,篩選出語音數(shù)據(jù)包保 存到語音數(shù)據(jù)保存模塊時,所述數(shù)據(jù)解析模塊具體用于: 依據(jù)數(shù)據(jù)包的解析結(jié)果,判斷所述數(shù)據(jù)包的類型是否為HCI同步數(shù)據(jù)包,若是,則將所 述數(shù)據(jù)包標(biāo)記為語音數(shù)據(jù)包;否則,依據(jù)所述數(shù)據(jù)包的數(shù)據(jù)長度,將所述數(shù)據(jù)包丟掉; 篩選出所有標(biāo)記為語音數(shù)據(jù)包的數(shù)據(jù)包,基于所述語音數(shù)據(jù)包的解析結(jié)果將所述語音 數(shù)據(jù)包保存到所述語音數(shù)據(jù)保存模塊。5. 如權(quán)利要求1所述的裝置,其特征在于,將篩選出的語音數(shù)據(jù)包拆分為語音數(shù)據(jù)和 狀態(tài)標(biāo)識兩部分,將語音數(shù)據(jù)部分保存到左聲道中以及將放大X倍后的狀態(tài)標(biāo)識部分保存 到右聲道中,并進(jìn)行左右聲道數(shù)據(jù)的同步輸出時,所述語音數(shù)據(jù)保存模塊具體用于: 將篩選出的語音數(shù)據(jù)包拆分為語音數(shù)據(jù)和狀態(tài)標(biāo)識兩部分,將語音數(shù)據(jù)部分保存到左 聲道中以及將放大X倍后的狀態(tài)標(biāo)識部分保存到右聲道中,以及將左聲道中的語音數(shù)據(jù)部 分和對應(yīng)的右聲道中狀態(tài)標(biāo)識部分進(jìn)行對齊處理,并進(jìn)行同步輸出。6. -種藍(lán)牙音箱通話音質(zhì)的分析裝置,其特征在于,包括: 語音數(shù)據(jù)提取模塊,用于接收權(quán)利要求1中的所述裝置中輸出的語音數(shù)據(jù)包,從所述 語音數(shù)據(jù)包中提取語音數(shù)據(jù),將語音數(shù)據(jù)包的語音數(shù)據(jù)部分和狀態(tài)標(biāo)識部分進(jìn)行分離,獲 取所述語音數(shù)據(jù)包的語音數(shù)據(jù)和狀態(tài)標(biāo)識; 語音數(shù)據(jù)重對齊模塊,用于基于所述語音數(shù)據(jù)包的語音數(shù)據(jù)和狀態(tài)標(biāo)識,將語音數(shù)據(jù) 包的大小調(diào)整為空中傳輸?shù)恼Z音數(shù)據(jù)包的大小,以及針對語音數(shù)據(jù)包的狀態(tài)標(biāo)識進(jìn)行修正 處理,得到修正后的語音數(shù)據(jù)包,并輸出到語音數(shù)據(jù)保存模塊; 語音數(shù)據(jù)PLC處理模塊,用于獲取修正后的語音數(shù)據(jù)包,并根據(jù)數(shù)據(jù)包的狀態(tài)標(biāo)識判 斷對應(yīng)的數(shù)據(jù)包的數(shù)據(jù)是否進(jìn)行丟包補償處理,若是,則進(jìn)行丟包補償處理;否則,進(jìn)行簡 單平滑處理,得到處理后的語音數(shù)據(jù)包,并輸出到所述語音數(shù)據(jù)保存模塊; 語音數(shù)據(jù)統(tǒng)計模塊,用于從語音數(shù)據(jù)重對齊模塊和語音數(shù)據(jù)PLC處理模塊獲取處理中 的數(shù)據(jù)包進(jìn)行統(tǒng)計分析,得到統(tǒng)計結(jié)果,并輸出到所述語音數(shù)據(jù)保存模塊; 語音數(shù)據(jù)保存模塊,用于將語音數(shù)據(jù)重對齊模塊,語音數(shù)據(jù)PLC處理模塊和語音數(shù)據(jù) 統(tǒng)計模塊的輸出文件進(jìn)行保存。7. -種藍(lán)牙音箱通話音質(zhì)的調(diào)試方法,其特征在于,包括: 獲取藍(lán)牙模組控制端的數(shù)據(jù)包,所述數(shù)據(jù)包包括數(shù)據(jù)包的數(shù)據(jù)和數(shù)據(jù)包的狀態(tài)標(biāo)識兩 部分; 解析獲取到的數(shù)據(jù)包,獲得數(shù)據(jù)包的解析結(jié)果,并依據(jù)解析結(jié)果,篩選出語音數(shù)據(jù)包并 進(jìn)行保存; 將篩選出的語音數(shù)據(jù)包拆分為語音數(shù)據(jù)和狀態(tài)標(biāo)識兩部分,將語音數(shù)據(jù)部分保存到左 聲道中以及將放大X倍后的狀態(tài)標(biāo)識部分保存到右聲道中,并進(jìn)行左右聲道數(shù)據(jù)的同步輸 出,其中X為設(shè)定的正數(shù)。8. 如權(quán)利要求7所述的方法,其特征在于,從藍(lán)牙模組控制端獲取的數(shù)據(jù)包類型為主 機控制器接口 HCI命令數(shù)據(jù)包、HCI異步數(shù)據(jù)包、HCI同步數(shù)據(jù)包和HCI事件包的任意種組 合,其中HCI同步數(shù)據(jù)包為語音數(shù)據(jù)包。9. 如權(quán)利要求7所述的方法,其特征在于,解析獲取到的數(shù)據(jù)包,獲得數(shù)據(jù)包的解析結(jié) 果,具體包括: 在獲取到所述數(shù)據(jù)包后,針對數(shù)據(jù)包的數(shù)據(jù)部分,獲取1字節(jié)的數(shù)據(jù),確定數(shù)據(jù)包的類 型和數(shù)據(jù)包的包頭長度; 基于數(shù)據(jù)包的包頭長度,獲取數(shù)據(jù)包的包頭數(shù)據(jù),確定數(shù)據(jù)包的數(shù)據(jù)長度,獲得解析結(jié) 果。10. 如權(quán)利要求7、8或9所述的方法,其特征在于,依據(jù)解析結(jié)果,篩選出語音數(shù)據(jù)包保 存到語音數(shù)據(jù)保存模塊,具體包括: 依據(jù)數(shù)據(jù)包的解析結(jié)果,判斷所述數(shù)據(jù)包的類型是否為HCI同步數(shù)據(jù)包,若是,則將所 述數(shù)據(jù)包標(biāo)記為語音數(shù)據(jù)包;否則,依據(jù)所述數(shù)據(jù)包的數(shù)據(jù)長度,將所述數(shù)據(jù)包丟掉; 篩選出所有標(biāo)記為語音數(shù)據(jù)包的數(shù)據(jù)包,基于所述語音數(shù)據(jù)包的解析結(jié)果將所述語音 數(shù)據(jù)包進(jìn)行保存。11. 如權(quán)利要求7所述的方法,其特征在于,將篩選出的語音數(shù)據(jù)包拆分為語音數(shù)據(jù)和 狀態(tài)標(biāo)識兩部分,將語音數(shù)據(jù)部分保存到左聲道中以及將放大X倍后的狀態(tài)標(biāo)識部分保存 到右聲道中,并進(jìn)行左右聲道數(shù)據(jù)的同步輸出,具體包括: 將篩選出的語音數(shù)據(jù)包拆分為語音數(shù)據(jù)和狀態(tài)標(biāo)識兩部分,將語音數(shù)據(jù)部分保存到左 聲道中以及將放大X倍后的狀態(tài)標(biāo)識部分保存到右聲道中,以及將左聲道中的語音數(shù)據(jù)部 分和對應(yīng)的右聲道中狀態(tài)標(biāo)識部分進(jìn)行對齊處理,并進(jìn)行同步輸出。12. -種藍(lán)牙音箱通話音質(zhì)的分析方法,其特征在于,包括: 接收按照權(quán)利要求7中的方法輸出的語音數(shù)據(jù)包,從所述語音數(shù)據(jù)包中提取語音數(shù) 據(jù),將語音數(shù)據(jù)包的語音數(shù)據(jù)部分和狀態(tài)標(biāo)識部分進(jìn)行分離,獲取所述語音數(shù)據(jù)包的語音 數(shù)據(jù)和狀態(tài)標(biāo)識; 基于所述語音數(shù)據(jù)包的語音數(shù)據(jù)和狀態(tài)標(biāo)識,將語音數(shù)據(jù)包的大小調(diào)整為空中傳輸?shù)?語音數(shù)據(jù)包的大小,以及針對語音數(shù)據(jù)包的狀態(tài)標(biāo)識進(jìn)行修正處理,得到修正后的語音數(shù) 據(jù)包,并進(jìn)行輸出; 獲取修正后的語音數(shù)據(jù)包,并根據(jù)數(shù)據(jù)包的狀態(tài)標(biāo)識判斷對應(yīng)的數(shù)據(jù)包的數(shù)據(jù)是否進(jìn) 行丟包補償處理,若是,則進(jìn)行丟包補償處理;否則,進(jìn)行簡單平滑處理,得到處理后的語音 數(shù)據(jù)包,并進(jìn)行輸出; 從語音數(shù)據(jù)重對齊模塊和語音數(shù)據(jù)PLC處理模塊獲取處理中的數(shù)據(jù)包進(jìn)行統(tǒng)計分析, 得到統(tǒng)計結(jié)果,并進(jìn)行輸出; 獲取輸出的文件進(jìn)行保存。
【文檔編號】H04R1/20GK105992093SQ201510099083
【公開日】2016年10月5日
【申請日】2015年3月5日
【發(fā)明人】陳金宏, 林繁鋒
【申請人】炬新(珠海)微電子有限公司