[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        丢包模拟工具
相关推荐
Lee川17 小时前
mini-cursor 揭秘:从 Tool 定义到 Agent 循环的完整实现
前端·人工智能·后端
weelinking18 小时前
【产品】00_产品经理用Claude实现产品系列介绍
数据库·人工智能·sql·数据挖掘·github·产品经理
Dlrb121118 小时前
C语言-指针三
c语言·算法·指针·const·命令行参数
Agent产品评测局18 小时前
制造业模具管理AI系统,主流产品能力对比详解:2026年智能制造选型深度洞察
人工智能·ai·chatgpt·制造
Tisfy18 小时前
LeetCode 2540.最小公共值:双指针(O(m+n))
算法·leetcode·题解·双指针
IronMurphy18 小时前
【算法四十七】152. 乘积最大子数组
算法
研华科技Advantech18 小时前
如何用一套实训设备,打通工业AI预测性维护技术全流程?
人工智能
Lab_AI18 小时前
AI for Science: MaXFlow AI Agent+ 报告体验双升级,让AI智能体更高效易用!
人工智能·ai for science·ai agent·ai智能体
李坤19 小时前
让 Codex 和 Claude 互相 Review:告别手动复制
人工智能·openai·claude
南屹川19 小时前
【API设计】GraphQL实战:从REST到GraphQL的演进
人工智能