写点什么

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:118591
用户头像

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

关注

评论

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

MySQL从入门到入魔(03)

海拥(haiyong.site)

MySQL 数据库 28天写作 12月日更

身兼数职的Amazon DocumentDB,还有什么不为人知的功能?

亚马逊云科技 (Amazon Web Services)

Data

揭秘远程证明架构EAA:机密容器安全部署的最后一环 | 龙蜥技术

OpenAnolis小助手

容器 龙蜥社区

阿里云(腾讯云)服务器使用宝塔,搭建Python环境,运行 django 程序

梦想橡皮擦

12月日更

Java 性能调优必备利器—JMH

编程江湖

JMH java编程

干货来了!神州数码 CIO 沈旸揭秘 Hackathon 背后的 TiDB 生态丨TiDB Hackathon 评委访谈

PingCAP

让自家APP跑小程序的技术产品都有哪些?

Speedoooo

ios开发 APP开发 容器安全 Andriod开发 小程序容器

Flink 实践教程-进阶(4):TOP-N

腾讯云大数据

flink 流计算 Oceanus

关于Amazon Redshift性能调优的十大Tips

亚马逊云科技 (Amazon Web Services)

Data

netty系列之:一口多用,使用同一端口运行不同协议

程序那些事

Java Netty nio 程序那些事 12月日更

给弟弟的信第20封|珍爱生命,远离传销

大菠萝

28天写作

为Amazon DMS数据库迁移任务建立自动化监控机制

亚马逊云科技 (Amazon Web Services)

Data

科技助力新冠防疫——构建 COVID-19 知识图谱

亚马逊云科技 (Amazon Web Services)

Data

40张图+万字,从9个数据类型帮你稳稳的拿捏Redis 数据结构

华为云开发者联盟

数据库 redis 数据结构 Redis 数据结构

OceanBase 联合山东移动斩获殊荣:入选2021年信息技术应用创新安全优秀解决方案

OceanBase 数据库

信息安全 工信部 oceanbase 获奖 山东移动

Java 开发之Linux 命令知识的积累

@零度

Java linux命令

【大咖直播】Elastic 企业搜索实战工作坊(第二期)

腾讯云大数据

Elastic Search

21《重学JAVA》-- 集合 (三)

杨鹏Geek

Java25周年 28天写作 12月日更

求适借力,共生共强|明道云伙伴大会(2021/秋)完满落幕

明道云

quest2上手初体验

wood

28天写作 元宇宙 quest2

Dart 条件语句

坚果

flutter dart 28天写作 12月日更

实用机器学习笔记二十一:集成学习之Bagging

打工人!

人工智能 机器学习 学习笔记 集成学习 12月日更

React vs Angular vs Vue.js 那个前端框架更好

编程江湖

前端开发 Javascript框架

The Data Way Vol.8|离开了代码,还能被称为工程师吗?

SphereEx

开源 ShardingSphere SphereEx OpenSEC 工程师文化

阿里云弹性计算首席架构师分享云上应用架构演进三大方向

阿里云弹性计算

2021 年 25 大 DevOps 工具(上)

禅道项目管理

DevOps 工具

Flink 实践教程-进阶(3):窗口操作

腾讯云大数据

flink 流计算 Oceanus

为什么 SASE 很重要?

devpoint

SD-WAN sase 12月日更

重磅消息 | Amazon MemoryDB for Redis闪亮登场!

亚马逊云科技 (Amazon Web Services)

Data

HIVE中临时表创建

编程江湖

大数据 Hive SQL

用链式调用的方式来给代码减负

为自己带盐

dotnet 28天写作 12月日更

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