写点什么

Lyra- 为移动互联网下一个十亿用户群体启用语音通话

Andrew Storus & Michael Chinen

  • 2021-04-12
  • 本文字数:1290 字

    阅读完需:约 4 分钟

Lyra-为移动互联网下一个十亿用户群体启用语音通话

北京时间 4 月 6 日,谷歌开源了 Lyra。Lyra 是一种新型的音频编码解码器,用于语音的编码和解码。与传统基于 DSP(数字信号处理)技术的编解码器相比,主要优势在于其可以利用机器学习产生高质量的语音呼叫,同时将音频压缩到最小 3 kbps。


据谷歌开源博客介绍,过去一年,由于新冠疫情等原因,在线语音已经变得至关重要并且随处可见,于是在今年 2 月推出了 Lyra。现在,为了让 Lyra 惠及更多人,谷歌选择将 Lyra 开源,以此让更多开发人员可以便捷地使用这一最佳编解码器,增强各类音频应用的功能,同时,推动 Lyra 更快地发展。


目前开源的版本为开发人员提供了所必须的工具,以使用 Lyra 进行音频编码和解码。同时,这一版本针对 Linux 上的 64 位 ARM Android 平台进行了优化。未来将会与社区一起扩展此代码库并开发对更多平台的支持。

Lyra 的架构

Lyra 的架构分为编码器和解码器两部分。当某人对着电话讲话时,编码器先从语音中捕获独特的语音属性(Feature),将这些属性提取为 40ms 的块然后压缩转换成字节流,通过网络发送。字节流传到电话另一端之前,解码器会通过生成模型将语音属性解码回可以在听众电话扬声器里播放的波形。这里的生成模型是一种特殊的机器学习模型,非常适合基于有限的语音属性重新创建完整的音频波形。



(图片来自 Google 开源博客)


Lyra 架构与传统的音频编解码器十分相似,传统的音频编解码器作为互联网通信的骨干力量已经有数十年了,而 Lyra 才诞生。相比之下,传统的编解码器基于数字信号处理技术(DSP)重建语音信号,而 Lyra 基于生成模型重建语音信号,后者优势显著。

Lyra 开源版本详解

为了速度更快,效率更高以及更好的软硬件交互性,Lyra 的开发团队基于 Bazel 构建项目,使用 C++ 编写代码,并使用 GoogleTest 框架做测试。Lyra 的核心 API 提供了可以在文件和数据包级别进行编码和解码的接口。还提供了完整的信号处理工具链,其中包括各种滤波器和变换器。


谷歌开源博客介绍到,我们的 Demo 集成了 Android NDK,展示了如何将本机 Lyra 代码集成到基于 Java 开发的 android 应用程序中,还提供了运行 Lyra 所需的矢量量化器等基础设施。


对于本次版本发布的用意,谷歌开源博客介绍道,我们今天将 Lyra 作为 Beta 版本发布是希望内部开发人员尽快获得使用反馈。除了 KML(核心数学内核库)之外,Lyra 将会根据 Apache 开源协议开放所有运行 Lyra 的代码。

开源之后

在过去十年中,伴随着移动设备的爆发式增长,计算能力的增长已经使得高速无线基础架构的可靠性受到威胁。对于存在这种反差的地区,尤其是发展中国家,当下一个十亿互联网用户群体需要接入网络,他们之间能紧密联系的可能性将会很低。即使在连接高度可靠的地区,远程办公的出现也加剧了移动数据传输的带宽限制。虽然 Lyra 可以将原始音频压缩到 3 kbps,并使其质量优于其他编解码器(例如 Opus),但它的目标不是成为一个完整的替代方案,而是可以在高压缩比,高质量的情况下节省有意义的带宽。


这些趋势为 Lyra 提供了动力,也是开发团队专注于实时语音通信的原因。除此外,Lyra 还有其他一些非常独特的应用,例如存档大量语音,借助高效计算的 Lyra 编码器节省电池,缓解多人试图同时拨打电话的紧急情况下的网络拥塞等等。

2021-04-12 15:119010
用户头像

发布了 74 篇内容, 共 31.9 次阅读, 收获喜欢 83 次。

关注

评论

发布
暂无评论
发现更多内容

从“中国GPL诉讼第一案”聊聊开源软件的license许可证

赵新龙

GitHub 开源 许可证

疫情故事一则 | 庆祝北京应急响应调为二级

赵新龙

滴滴 顺风车

Spring IOC 和 DI

再见孙悟空

spring

使用Vue+Highcharts绘制中国地图

kos

Vue 大前端

万物皆逝

冯夷

生活

有问必答(2020-04-23):为什么读书?怎么读书比较高效?

冯夷

你问我答

有问必答(2020-04-24):如何做时间管理/任务管理?

冯夷

你问我答

如何写作一本书(1):写前须知

英子编辑

技术 写作 读书

MongoDB入门笔记

编程随想曲

sql mongodb

程序猿 Windows 10 日常使用软件推荐

夏天

程序员 日常软件 windows

小小说

冯夷

在 VPS 里搭建 Drone CI 持续集成构建系统

Gadzan

Docker ci DevOps cicd 持续集成

ELK环境搭建

Geek_0o5u34

elasticsearch Logstash Kibana ELK

Windows中使用vagrant+virtual box创建Docker

Java收录阁

Docker vagrant

一篇文章教你服务器OOM后如何快速定位处理问题

Java OOM 系统故障

Angular的遍历,默写一遍。

玉龙BB

大前端 angular 前后端分离 集合

做成事情,唯有实干,没有捷径

Yolanda

我的第一个 100K app

道哥

ios swift 自由职业 独立开发者 App

使用Kubeadm搭建Kubernetes集群

Java收录阁

Kubernetes k8s

一文学会设计模式

泰伦卢

c++ 互联网 极客 设计模式 架构模式

有问必答(2020-03-28):活着是为了什么?

冯夷

生活

技术“大跃进”进行中

冯夷

基础设施

媒体的经营 04 | 难在:有所表达,影响决策

邓瑞恒Ryan

创业 媒体 技术社区

高并发下作余额扣减的一些经验

流沙

后端

设计一个地铁路线规划小工具

流沙

开源 后端

「颜值即正义」那些管UI小姐姐要来的网站

童欧巴

CSS 效率工具 大前端 UI

回"疫"录(7):关键时刻稳住别浪

小天同学

疫情 回忆录 现实纪录 纪实

怎样打造用户喜爱的产品

孙苏勇

思考 产品设计 读书

Firefox浏览器背后的力量,Mozilla基金会的“生财”之道

赵新龙

firefox 开源 基金会

如何表达自己的感情?

zkh

关于需求评审和讲解的一些思考

Yezhiwei

Lyra-为移动互联网下一个十亿用户群体启用语音通话_语言 & 开发_InfoQ精选文章