Google在2021年开源的低比特率音频编解码器Lyra,经过社群的热心贡献与改进,不只修复和格式化程序代码,还对项目构建持续集成工作管线,甚至增加支持WebAssembly,现在Google宣布发布Lyra V2。
由于全球COVID-19疫情的关系,对远程语音通信需求大幅上升,因此Google创建Lyra,目的是要将其应用在远程工作和低带宽环境中,借此改善语音通话品质,Lyra是一款极低比特率音频编解码器,并运用机器学习技术来提高音频品质。
Lyra获得不少开发者的欢迎,并要求在更多平台上运行Lyra,以更多种程序语言开发应用程序,同时也希望运算速度可以更快、有更多的比特率选项,还有延迟更低、音质更好且失真更少等功能。Lyra V2肩负这些期待,采用全新的架构,并且支持更多的平台,提供用户可扩展的比特率功能,性能也较第一版更好,也能够产生更高品质的音频。
Lyra V2采用一种称为SoundStream的端到端神经音频编解码器,该架构在传输信道之前和之后,都有一个残差矢量量化器(Residual Vector Quantizer,RVQ),可将经编码的资讯量化成位元流媒体,并在解码端进行重建。Google解释,将RVQ集成到架构中,便能够通过选择量化器数量,随时更改Lyra V2的比特率,使用更多量化器,就会产生更高品质的音频。
Lyra V2支持三种不同的比特率,分别是3.2 kps、6 kbps和9.2 kbps,供开发者依网络条件和品质需求选择适当的比特率。由于Lyra V2模型使用TensorFlow Lite导出,而TensorFlow Lite是轻量版本行动的TensorFlow,支持各种平台和硬件加速。
开发团队已经在Android手机和Linux上进行过测试,并且实验性支持Mac和Windows,目前仍不支持在iOS与其他嵌入式平台,但开发团队提到,这种范式将通过TensorFlow Lite,使Lyra未来也能够支持该平台所支持的任何平台。
在使用新架构之后,Lyra V2的延迟从原本的100毫秒降低到了20毫秒,这样的延迟程度已经能够与当前最被广泛使用的音频编解码器Opus for WebRTC媲美,Opus for WebRTC的一般延迟落在26.5毫秒、46.5毫秒和66.5毫秒。
Lyra V2的解码和编码速度也比之前的版本快5倍,Google在Pixel 6 Pro手机上试验,Lyra V2仅需要0.57毫秒编码和解码一段20毫秒的音频框,比即时快上35倍,而降低复杂度代表有更多手机能够即时运行Lyra V2,并且降低电池消耗。
另外,Lyra V2的音质也因为机器学习技术的进步而获得提升,听力测试显示Lyra V2在3.2 kbps、6 kbps和9.2 kbps的音质,已经与Opus的10 kbps、13 kbps和14 kbps相同,也就是说,Lyra V2要达到与Opus相同音质,只要使用Opus的50%到60%带宽。这代表在带宽受限的环境,可以连接更多的设备,或是通过网络送出更多消息,并更有机会通过前向错误更正和封包丢失补偿技术,避免语音断断续续的问题。
Lyra V2提供的内容涵盖Lyra V1,包括所有的构建工具、测试框架、C++编码和解码API、信号处理工具链和范例应用程序,Lyra V2虽然与Lyra V1存在部分差异,但是开发体验大致相同。