0
| 本文作者: 陳孝良 | 2016-09-25 16:47 |
雷鋒網按:本文作者陳孝良,工學博士,聲智科技創始人。雷鋒網獨家文章,轉載請聯系授權。
微信應用號的內測無疑是一個重磅消息,這幾日覆蓋了媒體頭條,各個領域都在猜測微信應用對于APP帶來的重要影響。雖然暫時還無法確認微信應用在音頻支持方面的細節,但是微信這幾年在音頻方面的進步還是有很多驚喜。
微信對于音頻的支持主要有兩種方法,一個是微信內置的瀏覽器,另外一個就是JS-SDK,這兩種方法面向的開發應用場景不同。JS-SDK對于音頻的支持主要是錄音和識別,但是這兩個功能被微信自身嚴重限制,擴展性很差,當前主要應用于微信Native SDK集成的場景。
微信應用推出之前,真正能夠帶給開發人員想象力的則是微信瀏覽器。微信瀏覽器曾經也很垃圾,老版本對于H5和CSS3的支持很差,一度讓開發者吐槽為“移動端的IE”。 2016年4月,微信瀏覽器終于升級到X5 Blink內核,而且Android和IOS平臺兼容性基本一致,當時就激起各個開發社區的一波熱浪。
微信瀏覽器能夠支持哪些音頻功能?我們用html5test進行了測試,結果如下圖:

可以看到,微信瀏覽器已經全面支持最重要的Web Audio API接口。Web Audio API是H5里面一個用來處理和合成聲音的Javascript接口。這個API可以被用來編寫游戲聲音引擎,以及實現類似各種音樂制作軟件對聲音的編輯和處理等功能。
事實上,Web上的音頻播放一直比較落后,在H5之前主要依賴于Flash或者QuickTime的插件形式。而在此之前的音效體驗,基本都是依賴于APP底層驅動或者硬件內置音效的方法。H5的Audio標簽具有非常重要的意義,它允許了基本的流式音頻播放。
但是,Audio標簽僅能提供給開發人員對聲音文件進行讀取,播放,暫停以及音量調節的功能,它并不能處理更復雜的音頻應用。對于復雜的基于Web 的游戲或者交互式應用,特別是游戲音頻引擎和桌面音頻處理應用里實現的混音、處理、濾波、音效、定位等功能,則就需要Web Audio API來進行處理。
Web Audio API包括了支持復雜混音的模組化音頻路由、高動態范圍音頻處理、多采樣精度和低延時音頻處理、動態音效生成、聲音包絡和淡入淡出支持、聲道分離和合并處理、音視頻分離支持、網絡實時通信支持、現場音頻處理支持、動態壓縮和頻域處理、音頻可視化支持、非線性效果和濾波器支持以及聲信號參數生成等等。這些功能羅列起來,是不是有點類似音頻領域的PS軟件?事實上,利用這些API,可以快速做出一款“美聲”的微信應用出來,下圖就是Web Audio API的可視化效果截圖。

甚至,Web Audio API直接支持了各種場景空間音效,比如僅僅通過簡單的幾行H5代碼就可以隨意切換不同的場景,仿佛置身于真實的場景之中,享受沉浸式的聲音體驗。這些場景包括:大/小房間、教堂、音樂廳、山洞、隧道、門廳、森林、露天劇場、通過門口的一個遙遠房間的聲音、濾波器效果。好吧,幾乎可以拋棄專業的音效插件了!甚至將來,硬件僅僅打通錄音和播放的通道就可以了,至于效果完全交由軟件來處理。
當然,Web Audio API最為吸引人的,還是對于空間音頻,通常稱為3D音頻的支持。這里所說的3D音頻需要加上“虛擬”兩字,畢竟和杜比全景聲相比還是有較大差距,但是若應用于當前流行的VR游戲或者聊天,Web Audio API的這項功能也還是不錯。Web Audio API全面支持Equal-power、HRTF、距離衰減、多普勒頻移、聲源/聽者模型等虛擬3D音頻功能,利用這些API,幾十行代碼就可以實現較為逼真的3D效果。

這里要闡述下HRTF,即頭相關傳遞函數(Head Related Transfer Function),通俗來說,就是試圖模擬人耳獲取聲音的模型,并且通過這個模型虛擬出來任意聲源所對人耳所造成的感覺。Equal-power也是3D音頻的一種方法,但是效果不如HRTF更好一些。HRTF主要參數是ITD(Interaural Time Difference )雙耳時間差、ILD(Interaural Level Difference)雙耳強度差和雙耳相關系數(Interaural Coherence)。科學家通過大量實驗驗證,這些參數和人耳處理聲音的機制密切相關,但是沒有準確的理論推導。因此HRTF需要測量眾多人耳的數據,并通過這些數據建立起黑盒子的聲學模型,這有點類似機器學習的意思。

從這點來看,Web Audio API提供的HRTF還是標準模型,仍然需要科研機構和專業公司繼續研發完善。當然,開源也是其中非常重要的推動力量,比如Google已經開源的項目Omnitone,就可以配合Web網頁體驗VR/AR的沉浸式音效。國內SoundAI團隊,也有開源HRTF數據庫和配套引擎的計劃。
但是若沒有音頻硬件方面的支持,上述的這些功能也大都是個擺設,無法打造出用戶期望的效果。特別是在iPhone 7的雙揚聲器配置之前,大多數用戶通過手機聆聽的還是單聲道體驗,若想感受虛擬3D效果就必須佩戴耳機,這在VR領域很不方便,VR眼鏡再戴上耳機總是個障礙。何況廠商所贈送的耳機,基本上也都是禍害用戶的耳朵。這些配套的不足對于用戶來說都是巨大的麻煩,也是3D音頻發展遲緩的重要原因。可喜的是,大多數用戶對于音質的渴求正在回歸,幾十元的耳機和低價的喇叭已經無法滿足需求。這點從側面來看也有所端倪,例如Vivo的賣點恰恰就是強調音質,而蘋果直接在iPhone 7上同時提升了揚聲器和耳機的配置。其實仔細一想也是,手機既然標配了雙攝像頭,自然也需要標配雙喇叭,甚至多麥克這些音頻硬件,用戶無非就是關注聲音和視頻的沉浸式效果而已。
iPhone 7既然配置了雙揚聲器,AirPods也是獨立無線雙通道,相信國內的眾多手機廠商很快就會跟上,這就給3D音頻應用帶來無限的空間,甚至基于微信的沉浸式3D音頻體驗也不再遙遠。既然開發的難度降低很多,那什么場景才能黏住用戶?游戲和音樂自然是重要的場景,但是這兩個場景總是老生常談,用戶的預期基本上被消耗殆盡。當然,這都是企鵝帝國尤其重要的陣地,企鵝帝國開放平臺的600萬開發人員肯定還會推出各類微信音頻應用。
產品經理總是喜歡挖掘能夠超出用戶預期的空間和產品,而最近火熱的直播和VR,或許將是3D音頻應用的重要場景,簡單的音效提升對于用戶來說可能都是驚喜。事實上,騰訊不可能不關注直播和VR這個領域。另外,微信最大的優勢還在于龐大的用戶社交群體,作為一個社交平臺,微信會不會推出VR社交,VR直播,甚至3D語音聊天?這也是我們所期待的一個方向,雖然微信應用中還會是更多的音樂和游戲率先支持3D音頻,但是至少,當我們在微信聊天的時候,我們應該感知到對方就在身旁…….
雷峰網原創文章,未經授權禁止轉載。詳情見轉載須知。