陸成剛, 王斌, 龍皋月
(1.浙江工業大學 理學院, 浙江 杭州 310023;2.浙江華數廣電網絡股份有限公司,浙江 杭州 310017)
聲卡是計算機處理多媒體聲音功能的重要部件,甚至被用于工控系統的數據采集[1],除了集成在主板的聲卡外,還有一些場合是使用PCI插槽形式的獨立聲卡。一般情況下,聲卡的錄音和播放是獨立、互不相關的,除了在本地場合使用聲卡作為演講的擴音設施,或者作為遠程通信的語音終端之外,很少需要考慮錄音和播放之間的嚴格同步。事實上這涉及到聲學回聲消除的問題[2]1,與使用麥克風陣列進行聲源定位的波束形成、有源主動降噪技術等問題類似[3],它們都需要考慮多路信號的數據同步。
由于聲卡晶振的老化[4]和操作系統軟件的調度抖動[5]等因素,如果不去專門針對性地加強設計,那么錄音、播放即便在同等調度優先級下,它們的調用頻率的一致性都是有欠缺的。在使用計算機聲卡進行遠程語音通信時,通常需要集成聲學回聲消除模塊,而聲學回聲消除模塊的有效性需要聲卡輸入輸出較好的同步性支持。歷史上,這個問題解決得較好的是Global IP sound公司,但該技術的同步的實現細節一直沒有使用專利或論文披露,后來該公司被谷歌收購,就是現今谷歌WebRTC技術的由來[2]2。
本文從聲卡錄音播放的編程模式著手,分析了常用的教科書式的錄音、播放調度模式的頻率失衡,然后從回調遞歸的對稱交叉,進行邏輯鏈變向,設計了一種結構類似于基因雙螺旋的錄音播放調度模式[6],起到了對系統抖動一定程度的緩沖中和,達到了提升錄音播放頻率平衡的目的。……