马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?快速注册
x
微信应用号的内测无疑是一个重磅消息,这几日覆盖了媒体头条,各个领域都在猜测微信应用对于APP带来的重要影响。虽然暂时还无法确认微信应用在音频支持方面的细节,但是微信这几年在音频方面的进步还是有很多惊喜。
% M* @6 x5 s/ N7 L# K5 P4 R
& r4 V! o; U/ }微信对于音频的支持主要有两种方法, 一个是微信内置的浏览器,另外一个就是JS-SDK,这两种方法面向的开发应用场景不同。JS-SDK对于音频的支持主要是录音和识别,但是这两个功能被微信自身严重限制,扩展性很差,当前主要应用于微信Native SDK集成的场景。
4 f, g0 D; B: ~
1 Q% H6 E, T2 ]7 Q" z微信应用推出之前,真正能够带给开发人员想象力的则是微信浏览器。微信浏览器曾经也很垃圾,老版本对于H5和CSS3的支持很差,一度让开发者吐槽为“移动端的IE”。 2016年4月,微信浏览器终于升级到X5 Blink内核,而且Android和IOS平台兼容性基本一致,当时就激起各个开发社区的一波热浪。5 g' q/ U% g0 b" \" W7 ?1 o* t9 N
2 u8 T: E! m+ z; I
微信浏览器能够支持哪些音频功能?我们用html5test进行了测试,结果如下图: n( e: \ r# @4 B9 a' m
! d7 {4 K* N4 ], s f0 L O7 t
" o( {" N$ R2 T- S- n" [9 F
( @1 \ H4 l& L/ q; s2 E可以看到,微信浏览器已经全面支持最重要的Web Audio API接口。Web Audio API是H5里面一个用来处理和合成声音的Java接口。这个API可以被用来编写游戏声音引擎,以及实现类似各种音乐制作软件对声音的编辑和处理等功能。2 V( x0 {4 H; h& ?/ c5 f3 G5 q
! r g) d* g" B( G, Q
事实上,Web上的音频播放一直比较落后,在H5之前主要依赖于Flash或者QuickTime的插件形式。而在此之前的音效体验,基本都是依赖于APP底层驱动或者硬件内置音效的方法。H5的Audio标签具有非常重要的意义,它允许了基本的流式音频播放。
+ D1 E+ J5 }0 C& _7 C
% t$ l! V3 j% @" _但是, Audio标签仅能提供给开发人员对声音文件进行读取,播放,暂停以及音量调节的功能,它并不能处理更复杂的音频应用。对于复杂的基于Web 的游戏或者交互式应用,特别是游戏音频引擎和桌面音频处理应用里实现的混音、处理、滤波、音效、定位等功能,则就需要Web Audio API来进行处理。0 j* w! p2 r4 b B) F! P0 Y( K- ^
9 f; ~+ s2 H- x7 g; ]; EWeb Audio API包括了支持复杂混音的模组化音频路由、高动态范围音频处理、多采样精度和低延时音频处理、动态音效生成、声音包络和淡入淡出支持、声道分离和合并处理、音视频分离支持、网络实时通信支持、现场音频处理支持、动态压缩和频域处理、音频可视化支持、非线性效果和滤波器支持以及声信号参数生成等等。这些功能罗列起来,是不是有点类似音频领域的PS软件?事实上,利用这些API,可以快速做出一款“美声”的微信应用出来,下图就是Web Audio API的可视化效果截图。, M/ k3 l6 R' G3 H }7 ^
- r, |$ N [- i0 p4 I) Z& T! @6 ]7 P8 U# c
0 Z( `# y* t" G# `+ f# G甚至,Web Audio API直接支持了各种场景空间音效,比如仅仅通过简单的几行H5代码就可以随意切换不同的场景,仿佛置身于真实的场景之中,享受沉浸式的声音体验。这些场景包括:大/小房间、教堂、音乐厅、山洞、隧道、门厅、森林、露天剧场、通过门口的一个遥远房间的声音、滤波器效果。好吧,几乎可以抛弃专业的音效插件了!甚至将来,硬件仅仅打通录音和播放的通道就可以了,至于效果完全交由软件来处理。
: w4 R6 a# l# o' N- _; t# J
1 k7 d3 r. O. d7 A Z C1 y当然,Web Audio API最为吸引人的,还是对于空间音频,通常称为3D音频的支持。这里所说的3D音频需要加上“虚拟”两字,毕竟和杜比全景声相比还是有较大差距,但是若应用于当前流行的VR游戏或者聊天,Web Audio API的这项功能也还是不错。Web Audio API全面支持Equal-power、HRTF、距离衰减、多普勒频移、声源/听者模型等虚拟3D音频功能,利用这些API,几十行代码就可以实现较为逼真的3D效果。
; }% \" h h8 \$ z) ~) k9 m0 U4 I
: T9 g, L. x) ]( h! |! Z& s; Y
, U9 r, `9 S+ E
8 f8 M! d0 M" k( w3 c. z这里要阐述下HRTF,即头相关传递函数(Head Related Transfer Function),通俗来说,就是试图模拟人耳获取声音的模型,并且通过这个模型虚拟出来任意声源所对人耳所造成的感觉。 Equal-power也是3D音频的一种方法,但是效果不如HRTF更好一些。HRTF主要参数是ITD(Interaural Time Difference )双耳时间差、ILD(Interaural Level Difference)双耳强度差和双耳相关系数(Interaural Coherence)。科学家通过大量实验验证,这些参数和人耳处理声音的机制密切相关,但是没有准确的理论推导。因此HRTF需要测量众多人耳的数据,并通过这些数据建立起黑盒子的声学模型,这有点类似机器学习的意思。) ^$ S4 `$ K/ `
+ T6 Q0 D h, v! C5 s- m# H$ b$ v+ H8 p7 E1 j+ A7 }
2 R& t! h2 M7 @从这点来看,Web Audio API提供的HRTF还是标准模型,仍然需要科研机构和专业公司继续研发完善。当然,开源也是其中非常重要的推动力量,比如Google已经开源的项目Omnitone,就可以配合Web网页体验VR/AR的沉浸式音效。国内SoundAI团队,也有开源HRTF数据库和配套引擎的计划。
4 Y0 `- u% @: q3 |- j) n; G$ F* r3 m. h6 o* S
但是若没有音频硬件方面的支持,上述的这些功能也大都是个摆设,无法打造出用户期望的效果。特别是在iPhone 7的双扬声器配置之前,大多数用户通过手机聆听的还是单声道体验,若想感受虚拟3D效果就必须佩戴耳机,这在VR领域很不方便,VR眼镜再戴上耳机总是个障碍。何况厂商所赠送的耳机,基本上也都是祸害用户的耳朵。这些配套的不足对于用户来说都是巨大的麻烦,也是3D音频发展迟缓的重要原因。可喜的是,大多数用户对于音质的渴求正在回归,几十元的耳机和低价的喇叭已经无法满足需求。这点从侧面来看也有所端倪,例如Vivo的卖点恰恰就是强调音质,而苹果直接在iPhone 7上同时提升了扬声器和耳机的配置。其实仔细一想也是,手机既然标配了双摄像头,自然也需要标配双喇叭,甚至多麦克这些音频硬件,用户无非就是关注声音和视频的沉浸式效果而已。+ V: \# y; Z) }" K
7 \: T, m8 W G' U, b
iPhone 7既然配置了双扬声器,AirPods也是独立无线双通道,相信国内的众多手机厂商很快就会跟上,这就给3D音频应用带来无限的空间,甚至基于微信的沉浸式3D音频体验也不再遥远。既然开发的难度降低很多,那什么场景才能黏住用户?游戏和音乐自然是重要的场景,但是这两个场景总是老生常谈,用户的预期基本上被消耗殆尽。当然,这都是企鹅帝国尤其重要的阵地,企鹅帝国开放平台的600万开发人员肯定还会推出各类微信音频应用。- h# }9 y6 D4 u2 D
4 Q t8 c2 Y4 x; f2 _5 ~- s产品经理总是喜欢挖掘能够超出用户预期的空间和产品,而最近火热的直播和VR,或许将是3D音频应用的重要场景,简单的音效提升对于用户来说可能都是惊喜。事实上,腾讯不可能不关注直播和VR这个领域。另外,微信最大的优势还在于庞大的用户社交群体,作为一个社交平台,微信会不会推出VR社交,VR直播,甚至3D语音聊天?这也是我们所期待的一个方向,虽然微信应用中还会是更多的音乐和游戏率先支持3D音频,但是至少,当我们在微信聊天的时候,我们应该感知到对方就在身旁 |
|
|
|
|