我們已經有了幾十年的3D圖像,但是有效地模仿3D聲音一直是研究人員所迴避的問題。現在,機器學習算法可以通過觀看視頻產生「2.5D」的聲音。
聽著附近樹上小鳥的歌唱,你就能相對快速地辨認出它的大致位置,而不用看。當你過馬路時,聽聽汽車引擎的轟鳴聲,你通常能立即知道它是否在你身後。
人類在三維空間定位聲音的能力是非凡的。這一現象得到了很好的理解——它是耳朵形狀不對稱以及耳朵之間距離不對稱的結果。
但是,儘管研究人員已經學會了如何創建容易欺騙我們的視覺系統的3D圖像,但還沒有人找到一種令人滿意的方法來創建能夠令人信服地欺騙我們的聽覺系統的合成3D聲音。
如今,這種狀況似乎至少在一定程度上將發生改變,這要歸功於德克薩斯大學at分校的高若翰(Ruohan Gao)和Facebook Research的克裡斯汀格勞曼(Kristen Grauman)的研究。他們使用了一種人類也會利用的技巧,來教人工智慧系統將普通的單聲道聲音轉換成相當不錯的3D聲音。研究人員稱之為2.5D聲音。
第一次的一些背景知識。大腦利用各種線索來判斷聲音來自3D空間的哪裡。一個重要的線索是聲音到達每隻耳朵的時間的差異——耳間時差。
在你左邊發出的聲音顯然會比在你右邊發出的聲音先到達你的左耳。雖然你沒有意識到這種差異,但大腦用它來確定聲音的來源。
另一個線索是體積的差異。同樣的聲音在左耳會比右耳更大,大腦也會利用這一信息進行計算。這叫做耳間電平差。
這些差異取決於兩耳之間的距離。立體聲錄音不會再現這種效果,因為立體聲麥克風的分離與之不匹配。
聲音與耳垂相互作用的方式也很重要。襟翼會根據聲音到達的方向來扭曲聲音。例如,一個聲音從前面到達耳道之前擊中耳瓣。相比之下,同樣的聲音從頭部後面發出,在到達耳道之前就被耳瓣扭曲了。
大腦也能感覺到這些差異。事實上,耳朵的不對稱形狀是我們能夠分辨聲音是來自上方,還是其他許多方向的原因。
人工複製3D聲音的技巧是再現所有這些幾何形狀對聲音的影響。這是一個棘手的問題。
測量失真的一種方法是雙耳錄音。這是一段通過在每隻耳朵裡放一個麥克風來錄製的錄音,它可以捕捉到這些微小的變化。
通過分析這些變異,研究人員可以使用一種數學算法來重現它們,這種算法被稱為「頭部相關傳遞函數」。這就把任何一副普通的耳機變成了非凡的3D音響。
但是因為每個人的耳朵是不同的,每個人以不同的方式聽到聲音。因此,創造一個人的頭部相關傳遞函數意味著在播放錄音之前測量這個人的耳朵的形狀。雖然這可以在實驗室裡完成,但是沒有人知道如何在野外完成。
儘管如此,仍然有一些方法可以利用不依賴於耳朵形狀的聲音失真來近似三維聲音——耳朵間的時間和水平差異。
格勞曼和高使用的技巧是通過視覺線索來確定聲音的方向(人類也經常這樣做)。因此,如果有一個場景的視頻和單聲道錄音,機器學習系統就會計算出聲音來自哪裡,然後扭曲聽覺間的時間和水平差異,從而為聽者產生這種效果。
例如,想像一段視頻,兩個音樂家在演奏鼓和鋼琴。如果鼓在視野的左邊鋼琴在右邊,很容易假設鼓的聲音應該來自左邊鋼琴應該來自右邊。這就是這個機器學習系統所做的,相應地扭曲了聲音。
研究人員的訓練方法相對簡單。訓練任何機器學習系統的第一步是創建一個資料庫,其中包含它需要學習的效果的示例。格勞曼和高通過對2000多個音樂片段的雙耳錄音製作了一個,他們也對這些音樂片段進行了錄像。
他們的雙耳記錄儀由一對合成的耳朵組成,耳朵之間的間距相當於一個人頭的寬度,這對耳朵還可以用GoPro相機記錄前方的場景。
然後,研究小組用這些錄音來訓練機器學習算法,根據現場視頻識別聲音來自哪裡。學會了這一點,它就能夠觀看視頻,然後以一種模擬聲音應該來自哪裡的方式扭曲單耳錄音。Grauman和Gao說:「我們將結果輸出的聲音稱為2.5D的視覺聲音——視頻流幫助『提升』平面單聲道音頻到空間化的聲音中。」
結果令人印象深刻。你可以在這裡觀看他們工作的視頻——觀看的時候一定要戴上耳機。
這段視頻將2.5D錄音和單耳錄音的結果進行了比較,並展示了其效果。「預測的2.5D視覺聲音提供了更身臨其境的音頻體驗,」格勞曼和高說。
然而,由於上面提到的原因,它並不能產生完整的3D聲音——研究人員沒有創建一個個性化的頭部相關傳輸功能。
同時,該算法也存在一些難以處理的問題。顯然,系統無法處理視頻中不可見的任何聲源。它也不能處理未經訓練而無法識別的聲源。該系統主要針對音樂視頻。
儘管如此,格勞曼和高有一個聰明的想法,適用於許多音樂視頻。他們還雄心勃勃地要擴展它的應用。他們說:「我們計劃探索結合物體定位和運動的方法,並明確地模擬場景聲音。」