燃爆上海 5·23-24,AICon 大模型实战风暴,50+ 干货一网打尽,即将开幕~ 了解详情
写点什么

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

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

关注

评论

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

Java实现Base64

Java

服务发现:ZooKeeper vs etcd vs Consul

Tux Hu

Docker 容器 微服务 etcd Consul

看完这篇HTTP,跟面试官扯皮就没问题了

苹果看辽宁体育

https okhttp

奔腾吧,“后浪”李子柒!

无量靠谱

网红

程序员的晚餐 | 5 月 15 日 如果不写代码了,那就开个饺子店

清远

美食

回“疫”录(17):返宁的前一天

小天同学

疫情 回忆录 现实纪录 纪实

网站系统架构演进

Janenesome

读书笔记 程序员 架构 系统设计

为什么软件开发很难外包

刘华Kenneth

外包 DevOps 风险 背锅

如何在 Mac 上优雅的截图和录屏

Winann

macos 效率 效率工具 Mac

JVM源码分析之Object.wait/notify实现

猿灯塔

JVM

Web3极客日报#140

谢锐 | Frozen

区块链 独立开发者 技术社区 Rebase Web3 Daily

零基础如何学架构

兆熊

架构

记一次MHA切换故障踩的坑

一个有志气的DB

MySQL 高可用 复制 主从同步 故障分析

数列找规律的问题

oldj

数学

阿里巴巴泰山版《Java 开发者手册》,也是一份防坑指南

古时的风筝

Java规范 Java开发手册

Leetcode 556. Next Greater Element III

隔壁小王

算法

找一个更好的理由

史方远

职场 成长 工作

“四个维度” 讲明白什么是微服务!

攀岩飞鱼

微服务 单体系统 架构设计 团队组织 康威定律

游戏夜读 | Scikit-learn的2018自述

game1night

高仿瑞幸小程序 09 云数据库初体验

曾伟@喵先森

小程序 微信小程序 大前端 移动

谈谈双亲委派模型的第四次破坏-模块化

寻筝

Java JVM

浅析 - CocoaLumberjack 3.6 之 DatabaseLogger

Edmond

ios sqlite log4j CocoaLumberjack DDLog

决战下半场:小程序技术助力金融APP重回C位

FinClip

小程序 数字化转型 app重构

游戏发行中学到的重要经验(严肃长文)

谢锐 | Frozen

独立开发者 游戏开发 游戏出海 移动互联网

初次见面

KAMI

Azure App 部署Django 和 PostgrSQL

yann [扬] :曹同学

Python azure

谈谈控制感(4):损失的后果很严重

史方远

职场 心理 成长

战略懒惰有多可怕

Neco.W

创业 重新理解创业 初创公司

一篇文章搞定Java处理Excel的各种疑难杂症

知春秋

Java Excel POI

经历过疫情,你懂得了什么

Winann

疫情 个人成长 生活 成长

elasticsearch源码解析(一)——restapi

罗琦

elasticsearch 源码分析 RESTful

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