[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        丢包模拟工具
相关推荐
仙女修炼史2 小时前
Copy-Past 解决小目标检测问题
人工智能·目标检测·计算机视觉
2301_764441332 小时前
ProjectAIRI:是一个开源的AI虚拟数字人伴侣
人工智能·目标检测·自然语言处理·开源·视觉检测·语音识别
wincheshe2 小时前
AI Agent 开发学习 --- 构建软件团队智能体(二)
人工智能·学习
南滑散修2 小时前
机器学习(三):SVM支持向量机算法
算法·机器学习·支持向量机
程序员佳佳2 小时前
2025 AI 架构演进:从 Open Claw 到 GPT-5.3,如何用“向量引擎”解决大模型调用的“最后一公里”?
人工智能·gpt·架构·数据分析·aigc·api
测试_AI_一辰2 小时前
AI系统测试实践:Tool执行与状态管理(Agent系统最容易出Bug的地方)
人工智能·ai·自动化·bug·ai编程
智慧地球(AI·Earth)2 小时前
OpenClaw设置教程之安全篇
人工智能·安全·openclaw
AMoon丶2 小时前
Golang--锁
linux·开发语言·数据结构·后端·算法·golang·mutex