陳玨









關鍵詞:聲源定位;交叉相關;互動裝置
中圖分類號:TP18 文獻標識碼:A
文章編號:1009-3044(2022)36-0023-03
1 概述
人的雙耳可以分辨從三維空間中的各個方向傳來聲音的位置,專業領域已經有很多基于人耳定位原理的研究成果。斯達克(Starkey)是全球定制機式助聽器最大的研發和制造商,Starkey 的Cetera 技術使助聽器在大腦中“隱形”。Cetera消除了聲音和大腦處理信號的能力之間的障礙。Cetera算法是一種聲音定位算法,它忠實地再現了立體聲耳機的三維定位,雖然最初是為使用助聽器而設計的。如果戴上立體聲耳機,聽一些樣本音軌(最著名的樣本是一個理發店里的立體聲效果),三維定位的準確無誤會令人吃驚。
但實際應用中情況較為復雜,涉及頭部產生的遮擋和外耳邊緣造成的反射。在本研究中僅僅通過使用2組麥克風來模擬完整的聽覺系統,雖然定位精度不夠高,但低成本、低技術(Low-Cost & Low-Tech)方式對學生制作互動裝置原型有實際應用的意義。
這個研究的目的是用2組麥克風模擬人類在二維區域的聽覺系統。該研究將解決一類實體互動的I/O系統,例如:一個基于傳入聲音方向的轉向系統(如:動態雕塑中的舵機陣列)。使用低成本的微控制器(Arduino)作為系統的處理中心,目前該微控制器及配套傳感器的價格都很便宜,并且在市場上也很容易買到。當然用2組麥克風,只能在二維空間檢測到傳入的聲音,而無法區分聲音是來自系統的前面還是后面,但對互動作品的原型演示已經夠用了。
定位傳入聲音方向的方法是基于同一音源的聲波到達兩個麥克風的時間差,這需要應用交叉相關法和位置估計技術。這套實時定位(方向)算法是由微控制器Arduino實現。Arduino是一套開源硬件系統,在數字媒體互動設計方向已經被普遍使用,它的低成本和易開發以及模塊化設計已經讓很多缺乏專業技術的藝術設計者受益匪淺,本文的實現硬件系統即為Arduino UNO。
2 交叉相關算法與位置估算
2.1 交叉相關算法理論
研究的第1 步是對最簡單的時延估計算法:直接交叉相關算法(Cross-Correlation)的波束成形理論進行測試。
交叉相關的定義為:時間序列x(t)和y(t)中,兩個變量之間同時或非同時的一種重合關系[1]。這里x 和y 可以代表在不同地點測得的同一個變量,或代表在同一地點不同時間測得的單一變量。也可以理解為對兩個波形之間相似性的檢測,是應用于其中一個波形的時間滯后的函數。
圖1 是一個交叉相關的例子,用于測量相關信號源之間的滯后時間。找到兩個相似信號的延遲時間的表達式由下面的公式給出。
其中x(t)是傳感器x收到的信號,y(t)是傳感器y收到的信號,τ是2個信號之間的延遲時間[2]。交叉相關結果的峰值所在點顯示了兩個信號的延遲時間,如圖1所示。有兩種方法可以對信號進行關聯。第一種是周期法。如果信號是正弦波或矩形波這樣的連續周期信號,或者說采樣信號只代表信號整體形式的某些部分,則采用這種方法。之所以說它是周期,是因為當數據指標(幅值)超出范圍時,它還可以被轉換到范圍內,例如:x(N+τ)=x(τ)。第二種是非周期法(沒有周期重復信號出現)。可以認為信號是不連續的,或者說采樣的信號代表了信號的整個形式。在目前的項目中互動方式大都為單一聲源的隨機觸發,所以采用第二種方式較多。
2.2 聲源角度計算方法
一旦進行了交叉關聯,計算出了信號的延遲時間,那就可以在限定條件下預測或估算傳入聲音的方向,先簡化建模做如下定義:
限定條件:已有當前空氣聲速數據;聲源離傳聲器較遠(測量值過小對精度影響較大);假設環境較理想(沒有回聲和發射效應等)。
位置估計的幾何原理如圖2,聲音傳入角度可以通過簡單的三角函數計算得到。
α是聲源的方向(角度);
c是空氣中的實際聲速(測量值);
d是2組麥克風模塊的間距;
Δτ是聲源信號達到2個麥克風的延遲時間(由交叉關聯計算得出)。
3 系統設計
3.1 系統硬件架構
圖3是一套完整的互動裝置系統架構,包含了輸入-處理-輸出整流程。聲源放在輸入傳感器前面的任何地方(可感應范圍設定為20°~160°)。將由2 組麥克風接收傳入的聲音信號,然后在系統中進行處理。在實驗裝置中有2個輸出,1個是輸出到電腦(與Unity 進行串口通信)實現UI 響應,另一個是輸出到舵機,使攝像頭轉向音源位置。
前級采集信號使用了DFRobot SKU:DFR0034模擬聲音傳感器,這款MIC聲音傳感器是一款低成本高靈敏度的聲音傳感器,可用來檢測環境中聲音的強度,并內置了放大器(300倍),輸出模擬信號能使用3.3V和5V為基準AD采集,可以用來實現根據聲音大小進行互動的效果[3]。工作電壓:5V,工作電流:<10mA,最長響應時間:220ms,麥克風靈敏度在50dBμ。采集的信號為模擬量,不能直接轉成分貝數值,中間的信號處理會非常的復雜,增益自動調節、頻率計權、積分電路、時間計權,這些是需要硬件電路來實現的,因此不能單靠單片機的程序來實現,商家推薦直接使用現成的分貝計模塊,但費用高昂且接口兼容性差。
3.2 系統優化
基于成本的考慮,解決方案中的后級處理選用了DFRobot SKU_DFR00126 頻譜分析模塊。這是一款音頻信號分析模塊,此模塊選用了音頻頻譜分析儀芯片MSGEQ7,并有了2.0改進版。通過接收音頻信息,可運算分析出63 Hz、160 Hz、400 Hz、1,000Hz、2,500Hz七個頻段的振幅[4]。使用該模塊和麥克風傳感器(DFR0034)配套使用,完成與Arduino 的音頻采集。
因為在互動裝置作品中對聲音的定位需求是感應人聲,傳感器不必采集到全聲域。正常人耳能聽見的頻率范圍是20Hz 到20000Hz(圖4)。頻率1000Hz~4000Hz是人耳能感受到的頻率中最敏感的范圍。據測定,標準普通話語音頻率在500~3000Hz,聲強在10dB~50dB 之間[5]。所以,通過濾波器保留400Hz,1KHz,2.5kHz 頻段的幅值,并根據不同的展覽環境設定不同的閾值。
依靠雙耳的聽覺。從某方位發送的聲音到達兩耳時,由于聲源與兩耳的距離不同,其間距與聲源的方位密切相關,因此有時間(或相位)差,聲強也不同。低頻定位主要依據雙耳在相同瞬間接收聲音的時間差,而高頻定位則依據強度差,而耳郭的聚聲效應又有利于高頻定位[6]。完全模擬人耳較為困難,因此實驗中使用了單一不連續的聲源進行了測試。
所有交叉關聯和位置估計技術的計算都由Ar?duino UNO(ATmega328p微處理器)程序實現。
4 測試
4.1 聲速數值測定
通過在搭建的硬件原型上做了多次實驗,獲得了有價值的實測數據。聲源是通過喇叭播放一個人聲樣本聲音,并且以喇叭至麥克風中心垂直位置的距離作為半徑,在圓弧上各個角度進行測試。
位置估計技術第一步是先確定空氣中的聲音傳播速度。空氣中的聲速在不同的地方是不同的,這取決于環境因素。因此,應該先進行一個實驗來測量實際測試環境中的聲速。空氣中的平均聲速為c=317m/s。但這個值會和實際值有較大偏差,空氣中的音速在1 個標準大氣壓條件下的傳播速度是:空氣(15℃)340m/s ,空氣(25℃)346m/s 。表1是測聲速的實驗數據,實驗測試環境下的平均聲速c≈337.55m/s。
4.2 誤差校正
第二步是獲取測試系統的誤差校正值,這應該是本次研究中最容易忽略的環節。2個信號到達麥克風的延遲時間受到了很多因素的影響,例如:相同元件存在的公差,單片機A/D 多路復用造成的2 個通道的延時,這些都將導致信號的相位偏差。
因為數字媒體藝術專業的學生偏藝術,普遍存在技術不夠精通的問題,他們不了解也不可能使用專業領域中的校準方式。所以,時間延遲校準只能通過比較實際和理論計算之間的差異值來計算誤差。實際獲得誤差值的方式是:假設聲源方向是兩個麥克風相對水平(0°或180°)的位置,麥克風之間的距離是D,在檢測程序中使用交叉相關技術計算的實際延遲是42。查閱了Arduino UNO板微處理器Atmel 芯片數據手冊,ATMega328p 的內部A/D 轉換器的復用延遲是每通道100μs,使用了2個通道,采樣的延遲時間為200μs。推演出以下公式用來計算到達2個麥克風的聲音的延遲時間的理論值:
通過將公式(1)代入公式(2),并設置D=50厘米和C=338米/秒,那么:s= 42.604。因此,校準值Δs=42.604-42=0.604。在這個實驗中,最終在數據校正時,結果都會向下取整后再對比。
4.3 實驗結果
聲源被放置在不同的位置,測試結果記錄在表中,上面的表格顯示了位置估計實驗的結果。例如,聲源被放置在與系統有關的60°處(見表2)。延遲時間的理論值是7.4。接下來,理論值減去校準值(0.604 采樣)結果是6.79,最后得到理論值是6。這個理論值與實驗數據獲得的數據6 一致,多次實驗的結果都驗證了這套解決方案是正確的。
5 結束語
由于A/D采樣頻率不夠高,方向估算的準確性還有待提高。通過替換高精度高采樣率的A/D轉換器,以及提高主板控制器的配置,可以有效提高信號采集的有效性和算法的執行效率。在現有實驗的基礎上,完全有可能迭代出更高精度的定位計算系統,最終目標是更高難度的三維空間的音源定位。
其實,還有另一種優化解決方案。通過分頻方式提取人聲的效率和準確率都不高,但通過語音識別技術,將采樣的聲音進行過濾,去除噪聲(如背景聲,雜音)后,只提取符合要求的聲音以提高計算效率,這個方法也將在下一步研究中進行測試。
一種最新的聲源定位技術也值得關注,這項新技術是利用音視一致性深度學習的方式實現聲源定位,這與上述研究中利用聲源到達不同麥克風的時差,聲強差來定位思路完全不同。深度學習利用大規模視頻數據集學習聲音與聲源物體之間的一致對應關系,進而達到定位的目的。當然,這項技術需要更多專業領域的知識,這將是下一步的研究計劃。
最后,本研究只是針對特定單一聲源方向的一種估算方法。雖然該解決方案有很大的局限性,但在很多作品中都得到了應用,也符合設計目標中的低成本低技術的要求。