大家好! 我是“聲波電波還看今朝”成員的一位FAE ,歡迎大家關注我們的博文。
今天給大家大概講解“如何排查Qualcomm BT Audio”的疑難雜症(五):聲音異常問題分析。
如果大家還沒有註冊我們大大通的賬號,麻煩掃描如下的二維碼來註冊一下吧,方便我們後期問題討論。
今天的內容主要給大家介紹在遇到聲音上出現Silence和Glith以及Distortion的現象時,我們應該怎麼去定位問題的原因。
1、如果出現Silence(無聲)現象時,我們首先要做如下的檢查:
- 採用 KSP檢查鏈路中的buffer.
- buffers.analyse_cbuffer(buffer 初始地址 , plot_content=True) 檢測buffer 中的數據是否為0.
- 檢查MIPS 。
- profiler.run_all()檢查MIPS使用情況
- 增加 DSP時鐘看問題是否解決。
- 檢查當前格式輸出codec的license是否有效.
- 用 python調用函數bool appTestLicenseCheck(void)查看license 情況.
- 檢查airtrace 中的數據是否是有效數據.
- airtrace數據需要藉助抓包器,大家可以反饋穩定復現問題的方法,我們可以幫忙抓取.
2、如果出現Glitch(毛刺)現象時,建議做如下檢查,並抓取完整的數據提供給到我們:
- 查看KSP錄音。
通過KSP錄音我們可以精準定位到某一個模塊上,或者是某一個模塊前導致的Glitch.
- 查看是否跟環境有關。
出現異常的現象,可能是周邊環境干擾導致,建議更換一個環境再測試看看。
- 查看跟source (手機或 編碼)是否有關。
出現Glitch(毛刺)現象很有可能是編碼後帶出來的,這樣就需要抓取 airtrace分析看看,空中傳輸過來的音頻是不是就帶有Glitch(毛刺)。
- 查看跟multipoint連接是否有關。
出現這現象,可以先關閉multipoint的功能,燃後再測隨。
- 修改 TTP latency 是否有改善。
出現Glitch(毛刺)現象,可以加到TTP緩衝區的時間buffer, 看看是否有優化,TTP 越大就會導致延時越大,不建議配置的太長。
備註:有關KSP錄音的使用,大家可以參考如下的博文去操作。
3、如果出現Distortion(失真)現象時,可以參考如下流程去定位和排查:
- 查看KSP 的 錄音是否有失真現象。 KSP的操作方法可以參考我們之前寫的博文。
- 如果失真在 QACT 工具 CVC2MIC_SEND 的 operator 之後,必 查看參數是否正確加載。
- 正常情況與異常情況下的錄音對比。發現在異常情況下進入CVC2MIC_SEN的operator 的信號非常大。
- 查看麥克風的配置。發現是由於客戶代碼中對麥克風的參數設置不對引起的。
- SourceConfigure(mic_source, STREAM_CODEC_INPUT_GAIN, gain);
- SourceConfigure(mic_source, STREAM_CODEC_MIC_INPUT_GAIN_ENABLE, preamp);
- 增加DSP時鐘查看是否失真問題得到有效改善。
比如添加太多的 EQ 參數引起的失真問題。
下篇博文預告:
下次的博文給大家描述如果通過ACAT執行Audio Log的抓取,歡迎大家登錄大大通一起探討和學習。
FAQ:
- 參考文檔?
參考80-CG063-1_REV_AB_Debugging_with_ACAT.pdf
- KSP錄音的博文鏈接在哪裡?
Biu~筆記:高通藍牙ADK(22)--DSP音頻鏈路監聽 - 大大通(簡體站) (wpgdadatong.com.cn)
Qualcomm藍牙耳機FAQ(36)----優化ADK6.4.2.26Sink工程KSP的使用 - 大大通(簡體站) (wpgdadatong.com.cn)
- DSP時鐘如何調整?
不同的ADK修改的地方不一樣,具體的可以諮詢我們FAE人員。
- 定位到問題後,我們應該怎麼處理?
如果定位到問題,自己沒有方式去解決,可以直接反饋給我們FAE,等待我們FAE出patch給你優化。
- 以上提到的環境搭建,是否有具體的博文介紹?
基本上左右的環境搭建都有博文,如果大家找到不可以直接諮詢我們。
評論