【学习笔记】Google的Lyra项目:基于神经网络的超低比特率语音编解码技术
一、引言:语音通信的带宽挑战与技术突破
在实时音视频通信占据全球数字化生活核心地位的今天,Google于2021年推出的Lyra编解码器标志着语音编码技术进入新的时代。这款基于机器学习的新型音频编解码器以3kbps的极低比特率实现接近原始音质的语音重建能力,突破传统DSP技术的性能边界。在发展中国家网络基础设施薄弱地区,Lyra使数亿用户首次体验到清晰的实时语音通话;在5G时代边缘计算场景中,其计算效率为物联网设备开辟语音交互新可能。
二、技术架构解析:生成模型驱动的编码范式革新
2.1 系统架构设计
Lyra采用经典的双模块架构,但通过机器学习实现性能跃迁:
编码器:
- 特征提取:每40ms提取语音信号的log-mel声谱图特征(80维)
- 矢量量化:通过预训练码本将连续特征离散化为二进制流
- 压缩传输:采用熵编码实现3kbps码率压缩
解码器:
- 特征重建:使用WaveRNN变体模型恢复声学特征
- 波形合成:结合LPCNet声码器生成24kHz采样率波形
- 实时优化:多频段并行生成技术降低90%计算延迟

2.2 核心技术创新
生成对抗网络(GAN)优化
与传统WaveNet不同,Lyra解码器引入对抗训练策略。鉴别器网络通过频谱/时域联合判别,引导生成器输出具备自然语音的微观纹理特征,显著降低机械感。
混合量化策略
采用分层矢量量化(HVQ)技术,对声学特征进行16级分层编码。实验证明,该方案较传统VQ-VAE降低28%的量化误差,在3kbps码率下实现0.78的STOI清晰度指标。
跨平台加速
基于ARM NEON指令集的矩阵运算优化,使Pixel 4手机实现实时编解码(编码延迟62ms,解码延迟95ms)。在树莓派4B设备上,CPU占用率控制在23%以下。
三、性能对比:突破传统编解码器的极限
3.1 客观质量评估
| 编解码器 | 比特率(kbps) | PESQ | STOI | MOS |
|---|---|---|---|---|
| Lyra | 3 | 3.2 | 0.81 | 4.1 |
| Opus | 6 | 2.8 | 0.76 | 3.7 |
| Speex | 2.4 | 2.1 | 0.63 | 2.9 |
注:测试数据来自Google内部百万级语音样本库
3.2 主观听感测试
在ITU-T P.808标准测试中,Lyra在背景噪声(SNR=10dB)环境下表现突出:
- 语音自然度(Naturalness)达到4.3分(5分制)
- 说话人辨识准确率98.7%,较Opus提升22个百分点
- 双盲测试中,67%的受试者认为3kbps Lyra优于8kbps Opus
四、技术实现细节与工程实践
4.1 模型训练策略
- 数据规模:70种语言的10万小时语音样本
- 数据增强:加入-20dB至+20dB的噪声扰动、混响模拟
- 损失函数:多尺度STFT损失 + 对抗损失联合优化
- 量化感知训练:在训练中模拟量化误差,提升模型鲁棒性
4.2 开源实现框架
// Lyra核心编码流程示例
void EncodeLyraFrame(const AudioFrame& frame) {FeatureExtractor extractor;auto features = extractor.ExtractLogMelFeatures(frame);VectorQuantizer quantizer(Codebook::kLyraVQ);auto quantized = quantizer.Quantize(features);BitstreamEncoder encoder;encoder.EncodePacket(quantized);
}
工具链组成:
- 前端:C++14标准实现,Bazel构建系统
- 推理引擎:XNNPACK加速的神经网络推理
- 测试框架:GoogleTest覆盖98%核心代码
五、应用场景与产业影响
5.1 典型应用场景
- 视频会议:降低带宽需求,改善弱网环境下的用户体验。
- 移动通信:在全球范围内,许多地方仍存在网络覆盖不佳的问题,Lyra可以优化这种环境下的语音通话质量。
- 物联网(IoT):在资源有限的IoT设备上实现实时语音交互。
- 流媒体服务:对于需要高质量、低延迟语音的直播或广播平台,Lyra都是理想的选择。
5.2 产业生态发展
- 硬件加速:Qualcomm已发布Lyra专用DSP核,功耗降低至0.2mW/MHz
- 标准演进:3GPP正在评估将Lyra纳入5G广播标准(TS 26.401)
- 开发者生态:GitHub开源社区已提交320+优化PR,包括WebAssembly移植、Rust绑定等
六、挑战与未来展望
6.1 当前技术局限
- 音乐信号处理:在48kHz采样率下,谐波重建精度下降37%
- 多说话人场景:3人以上同时说话时,MOS评分降至3.1
- 模型安全:对抗样本攻击成功率高达19%
6.2 技术演进方向
神经架构搜索
Google Brain团队正探索自动生成更高效的编解码架构,初步实验显示:
- 参数量减少40%的情况下保持同等性能
- GPU推理速度提升2.3倍
七、结语
Lyra的技术突破不仅重新定义了语音编解码的性能边界,更开创了"神经网络编解码"的新范式。随着开源社区的持续优化和硬件生态的成熟,这项技术正在从实验室走向大规模商用,助力构建真正全球覆盖的智能语音网络。对于研究者而言,Lyra的开放架构为探索混合编码、元学习优化、脑机编码等前沿方向提供了绝佳试验场。在AI与通信技术深度融合的今天,Lyra的成功预示着属于智能语音的"摩尔定律"正在加速到来。
项目地址:https://gitcode.com/gh_mirrors/lyra3/lyra

相关文章:
【学习笔记】Google的Lyra项目:基于神经网络的超低比特率语音编解码技术
一、引言:语音通信的带宽挑战与技术突破 在实时音视频通信占据全球数字化生活核心地位的今天,Google于2021年推出的Lyra编解码器标志着语音编码技术进入新的时代。这款基于机器学习的新型音频编解码器以3kbps的极低比特率实现接近原始音质的语音重建能力…...
Unity Dedicated Server 控制台 输出日志LOg 中文 乱码
现象: 中文乱码 原因: Unity打包出来的.exe文件,语言一栏是英文,VS控制台出来不一样 解决方案: 新建.bat文件 ,并使用命令chcp 65001,运行时启动.bat,而不是.exe, 改不了exe属性,虽然有点奇怪ÿ…...
【Excel】 Power Query抓取多页数据导入到Excel
抓取多页数据想必大多数人都会,只要会点编程技项的人都不会是难事儿。那么,如果只是单纯的利用Excel软件,我还真的没弄过。昨天,我就因为这个在网上找了好久发好久。 1、在数据-》新建查询-》从其他源-》自网站 ,如图 …...
去耦电容的作用详解
在霍尔元件的实际应用过程中,经常会用到去耦电容。去耦电容是电路中装设在元件的电源端的电容,其作用详解如下: 一、基本概念 去耦电容,也称退耦电容,是把输出信号的干扰作为滤除对象。它通常安装在集成电路…...
HTTPS 与 HTTP 的区别在哪?
HTTP与HTTPS作为互联网数据传输的核心协议,其通信机制与安全特性深刻影响着现代网络应用的可靠性与用户体验。本文将解析两者的通信流程、安全机制及核心差异。 一、HTTP的通信机制 先来看看HTTP是什么吧。 HTTP基于TCP/IP协议栈,采用经典客户端-服务…...
let、const【ES6】
“我唯一知道的就是我一无所知。” - 苏格拉底 目录 块级作用域:var、let、const的对比:Object.freeze(): 块级作用域: 块级作用域指由 {} 包围的代码块(如 if、for、while、单独代码块等)形成的独立作用…...
openharmony5.0中hdf框架中实现驱动程序的动态加载和管理的技术细节分析
在分析openharmony的hdf框架的设备驱动加载器(IDriverLoader)时发现在创建实例时会首先判断一下是否完成了驱动入口的构建(HdfDriverEntryConstruct),如果没有构建会重新构建,这与我开始以为的不一致(我一直以为是采用的linux内核方式,只是由…...
TVS管学习记录
文章目录 前言一、TVS是什么?二、TVS关键参数1.反向截至电压**实际意义** 2.钳位电压**定义与作用****选择依据** **4. 实际应用示例****场景:通信端口的ESD保护** 3.反向截至电压和钳位电压的关联和区别**. 小结** 三、实际应用电路举例总结 前言 TVS管…...
数据库表的各种设计
本篇文章,主要讲解项目开发时,遇到不同的情况,要学会对数据库的表进行合理设计。 1、将表的某个字段,存到一张新表中 ①情况描述 ②操作步骤 第一步:创建role表 第二步:在user表中,删除role字…...
JWT使用教程
目录 JWT (JSON Web Token)1. JWT简介(1) 什么是JWT(2) JWT有什么用(3) JWT认证方式 2. JWT的组成部分3. 签名的目的4. JWT与Token的区别5 JWT的优势6 JJWT签发与验证token(1) 引入依赖(2) 创建 Token(3) 解析Token(4) 设置过期时间(5) 自定义claims 7. JWT自定义工具类 JWT (J…...
【大模型系列篇】如何解决DeepSeek-R1结构化输出问题,使用PydanticAl和DeepSeek构建结构化Agent
今日号外:🔥🔥🔥 DeepSeek开源周:炸场!DeepSeek开源FlashMLA,提升GPU效率 下面我们开始今天的主题,deepseek官方明确表示deepseek-r1目前不支持json输出/function call,可…...
老旧android项目编译指南(持续更)
原因 编译了很多项目,找到了一些可观的解决办法 1. android studio里面的jdk版本切换 jdk版本切换在这里,一般安卓开发需要用到4个版本的jdk,jdk8, jdk11, jdk17, jdk21新版的android stuio是默认使用高版本的jdk,所以切换版本是很有必要的 2. 命令…...
linux中安装部署Jenkins,成功构建springboot项目详细教程
参考别人配置Jenkins的git地址为https,无法连上github拉取项目,所以本章节介绍通过配置SSH地址来连github拉取项目 目录: 1、springboot项目 1.1 创建名为springcloudproject的springboot项目工程 1.2 已将工程上传到github中,g…...
AI开发利器:Anaconda
在Python开发过程中,不同的项目可能会依赖不同版本的Python以及各种不同版本的库。比如,项目A可能依赖Python 3.8和某个特定版本的numpy、TensorFlow和PyTorch,而项目B可能需要Python 3.9以及另一个版本的numpy库。如果直接在系统中安装Pytho…...
java网络编程--基于TCP协议的网络编程
Scoket介绍 利用 TCP 协议进行通信的两个应用程序是有主次之分的, 一个是服务器程序,一个是客户端程序, 两者的功能和编写方法不太一样, 其中 ServerSocket 类表示 Socket 服务器端,Socket 类表示 Socket 客户端。 服…...
PageHelper新发现
PageHelper 背景解决reasonablepageSizeZero 背景 今天发现了一个很有趣的现象,接手一个很老的项目springmvc项目、使用PageHelper分页实现常见的后端接口分页功能。但是发现当页码参数大于实际的页码数时、正常不应该返回数据,但是目前确一直返回数据不…...
Redis 数据结构和使用详解(带示例)
Redis 支持的主要数据结构及其对应操作命令的详细解释,结合具体使用场景和示例: 1. 字符串(String) 用途:存储文本、数值或二进制数据,适用于缓存、计数器等。 常用命令: SET key value&#x…...
深度解读 Chinese CLIP 论文:开启中文视觉对比语言预训练
目录 论文概述1.论文摘要2.论文脑图3.论文创新3.1模型构建3.2训练方法3.3数据构建3.4部署优化 4.模型架构 论文解析1. 引言2. 方法2.1数据说明2.2预训练方法2.2.1模型初始化方法2.2.2两阶段预训练方法 2.3预训练细节2.3.1模型初始化2.3.2第一阶段预训练2.3.3第二阶段预训练2.3.…...
SpringBoot 2 后端通用开发模板搭建(异常处理,请求响应)
目录 一、环境准备 二、新建项目 三、整合依赖 1、MyBatis Plus 数据库操作 2、Hutool 工具库 3、Knife4j 接口文档 4、其他依赖 四、通用基础代码 1、自定义异常 2、响应包装类 3、全局异常处理器 4、请求包装类 5、全局跨域配置 补充:设置新建类/接…...
【Oracle专栏】sqlplus显示设置+脚本常用显示命令
Oracle相关文档,希望互相学习,共同进步 风123456789~-CSDN博客 1.内容概述 本文主要针对oracle 运维中常用知识点进行整理,包括: 1)sqlplus模式下,为了方便查询设置相应的行宽、列宽、行数。…...
Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...
地震勘探——干扰波识别、井中地震时距曲线特点
目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...
进程地址空间(比特课总结)
一、进程地址空间 1. 环境变量 1 )⽤户级环境变量与系统级环境变量 全局属性:环境变量具有全局属性,会被⼦进程继承。例如当bash启动⼦进程时,环 境变量会⾃动传递给⼦进程。 本地变量限制:本地变量只在当前进程(ba…...
《Playwright:微软的自动化测试工具详解》
Playwright 简介:声明内容来自网络,将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具,支持 Chrome、Firefox、Safari 等主流浏览器,提供多语言 API(Python、JavaScript、Java、.NET)。它的特点包括&a…...
学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”
2025年#高考 将在近日拉开帷幕,#AI 监考一度冲上热搜。当AI深度融入高考,#时间同步 不再是辅助功能,而是决定AI监考系统成败的“生命线”。 AI亮相2025高考,40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕,江西、…...
保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek
文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama(有网络的电脑)2.2.3 安装Ollama(无网络的电脑)2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...
深度学习水论文:mamba+图像增强
🧀当前视觉领域对高效长序列建模需求激增,对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模,以及动态计算优势,在图像质量提升和细节恢复方面有难以替代的作用。 🧀因此短时间内,就有不…...
MFC 抛体运动模拟:常见问题解决与界面美化
在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...
腾讯云V3签名
想要接入腾讯云的Api,必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口,但总是卡在签名这一步,最后放弃选择SDK,这次终于自己代码实现。 可能腾讯云翻新了接口文档,现在阅读起来,清晰了很多&…...
MacOS下Homebrew国内镜像加速指南(2025最新国内镜像加速)
macos brew国内镜像加速方法 brew install 加速formula.jws.json下载慢加速 🍺 最新版brew安装慢到怀疑人生?别怕,教你轻松起飞! 最近Homebrew更新至最新版,每次执行 brew 命令时都会自动从官方地址 https://formulae.…...
