[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        丢包模拟工具
相关推荐
沐籽李1 分钟前
从溶剂可及表面积SASA理解抗体结构与工程改造
人工智能·药物设计·aidd·sasa
智慧物业老杨5 分钟前
物业如何做好预算管理?落地架构逻辑
人工智能·架构
微学AI8 分钟前
一根针指向所有方向:挂谷猜想对 LLM Agent 技能-记忆架构的启示
开发语言·人工智能·架构·挂谷猜想
城管不管12 分钟前
ReAct、Plan-and-Execute、Reflection 三大智能 Agent 范式核心区别
java·人工智能·算法·spring·ai·动态规划
boppu30 分钟前
布草特殊污渍去渍剂的种类及作用
大数据·人工智能
月疯35 分钟前
二分法算法(水平等分图形面积)
算法
AIsoft_86881 小时前
会议录音转文字与AI纪要工具推荐:免费额度与核心功能对比指南
人工智能
豆瓣鸡1 小时前
算法日记 - Day3
java·开发语言·算法
sphw1 小时前
nixnb: Jupyter Notebook 优雅分享
ide·人工智能·jupyter
mingo_敏1 小时前
DeepAgents : 权限(Permissions)
人工智能·深度学习·langchain