[AI codec]opus-1.6\dnn包含算法汇总和文件功能分类

备注:全部内容来自AI,记录下来后续慢慢消化

一、整体一览(6 大深度学习算法)

LPCNet / Neural PLC(神经网络丢包补偿)

DRED(DNN-based Redundant Encoding 神经网络冗余编码)

BbWENet(Bandwidth Extension 带宽扩展)

Fargan(高音质神经语音生成)

LACE / NOLACE(神经网络语音增强 / 降噪)

OSCE(Opus Speech Contrast Enhancement 语音对比度增强)

二、逐算法 + 逐文件 详细拆解

1、LPCNet & Neural PLC(神经网络丢包补偿)

作用:Opus 新一代 PLC(丢包隐藏)完全替代传统插值 PLC,使用 RNN / GRU 神经网络预测丢失的语音帧,音质接近无损。

原理:GRU 神经网络,基于历史语音预测未来丢包帧。10ms 帧级实时预测,极低复杂度(可跑在 ARM Cortex-M)

cpp 复制代码
lpcnet.h
lpcnet_enc.c
lpcnet_plc.c          <-- 核心:神经网络丢包补偿
lpcnet_private.h
lpcnet_tables.c
pitchdnn.c
pitchdnn.h
pitchdnn_data.c
pitchdnn_data.h
plc_data.c            <-- PLC 模型权重
plc_data.h

2、 DRED(神经网络冗余编码)

作用:用于弱网 / 丢包环境的轻量级神经网络冗余帧发送极小的冗余数据,丢包时直接恢复完整语音,比FEC强很多。

原理:RDOVAE(Rate-Distortion Optimized VAE),变分自编码器 VAE,提取语音核心潜码 (latent) 做冗余传输,丢包时用潜码完美恢复语音

cpp 复制代码
dred_coding.c
dred_coding.h
dred_compare.c
dred_config.h
dred_decoder.c
dred_decoder.h
dred_encoder.c
dred_encoder.h
dred_rdovae.h
dred_rdovae_constants.h
dred_rdovae_dec.c
dred_rdovae_dec.h
dred_rdovae_dec_data.c
dred_rdovae_dec_data.h
dred_rdovae_enc.c
dred_rdovae_enc.h
dred_rdovae_enc_data.c
dred_rdovae_enc_data.h
dred_rdovae_stats_data.c
dred_rdovae_stats_data.h

3、BbWENet(Bandwidth Extension 带宽扩展)

作用:窄带 8kHz → 宽带 16kHz / 超宽带 32kHz用神经网络补全高频信息,让电话音变高清。

原理:DNN 频带扩展,从低频语音谱预测高频谱,极低复杂度实时运行

cpp 复制代码
bbwenet_data.c        <-- 模型权重(9MB)
bbwenet_data.h

4、Fargan(Fast Generative Adversarial Network)

作用:超高音质神经语音生成用于 PLC、带宽扩展、降噪后的最终语音波形生成,音质接近原声。

原理:生成式对抗网络 GAN、声码器(vocoder)、从语音特征生成波形、Opus DNN 模块音质的核心。

cpp 复制代码
fargan.c
fargan.h
fargan_data.c         <-- 模型权重(21MB!最大的文件)
fargan_data.h
fargan_demo.c

5、LACE / NOLACE(语音增强 / 降噪)

作用:Lightweight Adaptive Complexity Enhancement实时降噪、去混响、语音舒压。

原理:DNN 语音降噪、低复杂度实时版、面向嵌入式 / 移动端优化

cpp 复制代码
lace_data.c
lace_data.h
nolace_data.c
nolace_data.h

6、OSCE(Opus Speech Contrast Enhancement)

作用:语音对比度增强让语音更清晰、更有穿透力,嘈杂环境更易听懂。

原理:DNN 频域增强、提升语音清晰度、WebRTC NS 同级但更强

cpp 复制代码
osce.c
osce.h
osce_config.h
osce_features.c
osce_features.h
osce_structs.h

三、公共基础模块(所有算法共用)

cpp 复制代码
nndsp.c          神经网络DSP库(卷积、GRU、激活函数)
nndsp.h
nnet.c           神经网络底层推理引擎
nnet.h
nnet_arch.h
nnet_default.c
vec.h            向量优化(x86/ARM NEON)
vec_avx.h
vec_neon.h
arm/             ARM Neon 优化
x86/             x86 AVX2 优化
burg.c           LPC 分析
freq.c           频域处理
lossgen.c        丢包模拟工具
相关推荐
chatexcel17 小时前
专业报告PPT自动生成教程:基于元空AI的文档解析与智能排版实践
人工智能·powerpoint
海兰17 小时前
【第21篇】 Chat Memory Example
人工智能·spring ai
Alex艾力的IT数字空间17 小时前
大模型的“Think 模式”(思考模式)关闭的配置方式
人工智能·机器人·web3·github·开源软件·量子计算·开源协议
国服第二切图仔17 小时前
3 分钟快速实战:基于魔珐星云 SDK 搭建低延迟可交互 AI 数字人
人工智能·交互·数字人·魔珐星云
Cxiaomu17 小时前
AI Agent 核心概念全景图:Prompt、RAG、微调、Tool Call、状态机、Workflow 与 MCP
人工智能·prompt
前端AI充电站17 小时前
第 7 篇:让 RAG 答案可追溯:展示知识库引用来源
前端·人工智能·前端框架
胖墩会武术17 小时前
【AI编程通识】从模型到Agent,从Prompt到Harness
人工智能·ai编程
kishu_iOS&AI17 小时前
NLP —— 文本预处理
人工智能·pytorch·python·自然语言处理
编程小石头17 小时前
AI提示词,整理了各个场景中比较常用的Ai编程工具的提示词
人工智能·ai作画·ai编程
MY_TEUCK17 小时前
【AI 应用】前端接口联调工程化:把 Swagger 接入沉淀成可复用 Skill
前端·人工智能·uni-app·状态模式