rnnoise

rnnoise

开源深度学习实时语音降噪库

RNNoise是一个开源的基于循环神经网络的噪声抑制库,专注于实时全频带语音增强。它采用混合DSP和深度学习方法,支持48kHz采样率的16位PCM文件处理。该项目提供简单的命令行工具,同时允许用户使用自定义数据集进行模型训练。RNNoise还支持可加载模型,提高了系统的灵活性和适应性。

RNNoise噪音抑制神经网络语音增强机器学习Github开源项目

RNNoise 是一个基于循环神经网络的噪声抑制库。 该算法的描述可参见以下论文:

J.-M. Valin,《一种实时全频带语音增强的混合DSP/深度学习方法》,IEEE多媒体信号处理研讨会(MMSP)论文集,arXiv:1709.08243,2018年。 https://arxiv.org/pdf/1709.08243.pdf

交互式演示可在以下网址获得:https://jmvalin.ca/demo/rnnoise/

编译只需输入: % ./autogen.sh % ./configure % make

可选: % make install

建议在 CFLAGS 中设置 -march= 为支持 AVX2 的架构,或在配置脚本中添加 --enable-x86-rtcd,以便至少可以将 AVX2(或 SSE4.1)作为一个选项使用。 请注意,autogen.sh 脚本会自动从 Xiph.Org 服务器下载模型文件,因为这些文件太大,无法放入 Git 中。

虽然它主要用作库,但也提供了一个简单的命令行工具作为示例。它处理采样率为 48 kHz 的 RAW 16 位(机器字节序)单声道 PCM 文件。使用方法如下:

% ./examples/rnnoise_demo <带噪语音> <输出去噪后>

输出也是 16 位原始 PCM 文件。 再次注意,输入和输出都是原始格式,而非 WAV 格式。

最新版本的源代码可从 https://gitlab.xiph.org/xiph/rnnoise 获取。GitHub 仓库是一个便利副本。

== 训练 ==

RNNoise 随附的模型现在仅使用下面列出的公开可用数据集进行训练,并采用此处描述的训练程序。确切结果仍将取决于所使用的数据精确混合、训练持续时间以及涉及的各种随机种子。

要训练 RNNoise 模型,你需要清晰的语音数据和噪声数据。两者都需要以 48 kHz 采样率、16 位 PCM 格式(机器字节序)。清晰的语音数据可以从 datasets.txt 文件中列出的数据集获得,或通过下载这些文件的已连接版本: https://media.xiph.org/rnnoise/data/tts_speech_48k.sw 对于噪声数据,我们建议将 DEMAND 中的 48 kHz 噪声数据(https://zenodo.org/records/1227121)与以下网址中的 contrib_noise.sw 和 synthetic_noise.sw 噪声文件连接起来: https://media.xiph.org/rnnoise/data/ 为了平衡数据,我们建议使用 contrib_noise.sw 和 synthetic_noise.sw 噪声文件的多个副本(例如 5 个)。

第一步是将语音和噪声以各种方式混合,以模拟真实生活条件(包括暂停、过滤等)。假设文件名为 speech.pcm 和 noise.pcm,首先通过以下命令生成训练特征数据:

% ./dump_features speech.pcm noise.pcm features.f32 <数量> 其中 <数量> 是要处理的序列数。序列数应至少为 10000,但越多越好(建议 200000 或更多)。

可选地,训练也可以模拟混响,这种情况下还需要房间冲激响应(RIR)。有限的 RIR 数据可在以下网址获取: https://media.xiph.org/rnnoise/data/measured_rirs-v2.tar.gz 这些文件的格式为原始 32 位浮点数(文件为小端字节序)。假设所有 RIR 文件的列表包含在 rir_list.txt 文件中,可以使用以下命令生成训练特征数据:

% ./dump_features -rir_list rir_list.txt speech.pcm noise.pcm features.f32 <数量>

要加快特征生成速度,可以使用 script/dump_features_parallel.sh 中提供的脚本(如果要添加 RIR 增强,需要修改脚本)。

使用方法: % script/dump_features_parallel.sh ./dump_features speech.pcm noise.pcm features.f32 <数量> <进程数> 这将运行 <进程数> 个进程,每个进程处理 <数量> 个序列,并将输出连接到单个文件中。

计算特征文件后,可以使用以下命令开始训练: % python3 train_rnnoise.py features.f32 输出目录

选择一个导致约 75000 次权重更新的 epoch 数(使用 --epochs)。训练将生成 .pth 文件,例如 rnnoise_50.pth。 下一步是使用以下命令将模型转换为 C 文件:

% python3 dump_rnnoise_weights.py --quantize rnnoise_50.pth rnnoise_c

这将在 rnnoise_c 目录中生成 rnnoise_data.c 和 rnnoise_data.h 文件。

将这些文件复制到 src/ 目录,然后按照上述说明构建 RNNoise。

为获得稍好的结果,可以使用训练好的模型去除"清晰"训练语音中的任何噪声,然后再次重新开始去噪过程(无需多次进行)。

== 可加载模型 ==

自 v0.1.1 以来,模型格式已更改。现在模型使用二进制"机器字节序"格式。要输出该格式的模型,请使用该模型构建 RNNoise,并使用 dump_weights_blob 可执行文件输出 weights_blob.bin 二进制文件。然后可以使用 rnnoise_model_from_file() API 调用该文件。请注意,当 RNNoise 状态处于活动状态时,不得删除模型对象,且不得关闭文件。

要避免在构建中包含默认模型(例如,减少下载大小)并仅依赖模型加载,请将 -DUSE_WEIGHTS_FILE 添加到 CFLAGS 中。 为了能够加载不同的模型,模型大小(和头文件)需要与构建时使用的大小匹配。否则,模型将无法加载。 我们提供了一个"小型"模型作为替代方案,其大小为原来的一半。要使用较小的模型,请将 rnnoise_data_little.c 重命名为 rnnoise_data.c。可以同时构建常规和小型二进制权重,并在运行时加载其中任何一个,因为小型模型的大小与常规模型相同(除了增加的稀疏性)。

编辑推荐精选

Vora

Vora

免费创建高清无水印Sora视频

Vora是一个免费创建高清无水印Sora视频的AI工具

Refly.AI

Refly.AI

最适合小白的AI自动化工作流平台

无需编码,轻松生成可复用、可变现的AI自动化工作流

酷表ChatExcel

酷表ChatExcel

大模型驱动的Excel数据处理工具

基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。

AI工具酷表ChatExcelAI智能客服AI营销产品使用教程
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
AIWritePaper论文写作

AIWritePaper论文写作

AI论文写作指导平台

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

AI辅助写作AI工具AI论文工具论文写作智能生成大纲数据安全AI助手热门
博思AIPPT

博思AIPPT

AI一键生成PPT,就用博思AIPPT!

博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。

AI办公办公工具AI工具博思AIPPTAI生成PPT智能排版海量精品模板AI创作热门
潮际好麦

潮际好麦

AI赋能电商视觉革命,一站式智能商拍平台

潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。

iTerms

iTerms

企业专属的AI法律顾问

iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。

SimilarWeb流量提升

SimilarWeb流量提升

稳定高效的流量提升解决方案,助力品牌曝光

稳定高效的流量提升解决方案,助力品牌曝光

Sora2视频免费生成

Sora2视频免费生成

最新版Sora2模型免费使用,一键生成无水印视频

最新版Sora2模型免费使用,一键生成无水印视频

下拉加载更多