噪音消除模块调研

news2024/11/15 18:23:51

一.原理

1.1降噪

noisereduce 库的 reduce_noise 函数使用的是一种基于频谱减法的噪声消除算法。它通过分析音频的频谱,识别出噪声成分,并尝试将这些噪声成分从音频信号中去除,从而提升信号的清晰度。

1.2 动态范围压缩(预加重)

预加重(Pre-emphasis)是一种简单的信号处理技术,常用于音频处理中。它通过增强音频信号的高频成分来改善信噪比,特别是在某些编码技术中。预加重可以看作是一种高通滤波操作,通过减少低频成分的能量相对增加高频成分的能量。

1.3 增益处理

增益处理是通过线性放大音频信号的幅值来增加其响度的。增益因子 gain_factor 的大小决定了放大倍数。需要注意的是,过高的增益因子可能会导致音频信号超出其允许的动态范围,从而引起失真。

1.4 信号裁剪

将数组的值限制在指定的范围内。这里将音频信号限制在 [-1.0, 1.0] 之间,以防止因增益处理导致的信号失真(即音频信号过大或过小,超出了标准音频信号的范围)。

.库安装

pip install  pydub
pip install noisereduce

.测试代码

import numpy as np
from pydub import AudioSegment
import librosa
import noisereduce as nr
import librosa.effects as effects
# 加载音频文件
librosa_audio, sr = librosa.load("8888.wav", sr=16000)

# 使用noisereduce库进行噪声消除
reduced_noise_audio = nr.reduce_noise(y=librosa_audio, sr=sr)

# 使用librosa的动态范围压缩进行音频增强
compressed_audio = effects.preemphasis(reduced_noise_audio)  # 使用预加重作为简单的压缩方式

# 增加增益,提升音量
gain_factor = 5  # 增益因子,可根据实际情况调整
enhanced_audio = compressed_audio * gain_factor

# 确保音频信号在[-1, 1]范围内
enhanced_audio = np.clip(enhanced_audio, -1.0, 1.0)

# 将处理后的人声转换回AudioSegment对象
vocals_audio_segment = AudioSegment(
    data=np.array(enhanced_audio * 32767, dtype=np.int16).tobytes(),
    sample_width=2,
    frame_rate=sr,
    channels=1
)

# 导出处理后的人声
vocals_audio_segment.export("8888out.wav", format="wav")

三.测试结果

测试原始文件

输出文件

原始波形图

输出文件波形图

见上传资源

见上传资源

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2097458.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Ollama:本地大语言模型解决方案

在人工智能领域,大语言模型(LLM)因其在自然语言处理上的强大能力而备受瞩目。然而,这些模型往往需要大量的计算资源和网络连接,限制了它们在本地环境的应用。Ollama 的推出,为这一问题提供了解决方案。作为…

基于C语言实现文件压缩与解压缩算法

引言 随着互联网的发展,数据传输和存储的需求日益增长,文件压缩技术成为提高数据处理效率的关键技术之一。压缩技术不仅可以减少存储空间的需求,还能加快数据在网络中的传输速度。霍夫曼编码作为一种有效的无损数据压缩算法,广泛…

如何为你的 LLM 应用选择最合适的 Embedding 模型

如果你正在构建 2024 年的生成式人工智能(GenAI)应用,你现在可能已经听过几次 "嵌入(embedding) "这个词了,而且每周都能看到新的嵌入模型上架。 那么,为什么会有这么多人突然关心起嵌…

ElasticSearch 集群索引和分片的CURD

一、ES集群的索引 背景:Elasticsearch会对所有输入的文本进行处理,建立索引放入内存中,从而提高搜索效率。在这一点上ES优于MYSQL的B树的结构,MYSQL需要将索引放入磁盘,每次读取需要先从磁盘读取索引然后寻找对应的数据…

OpenAI Gym custom environment: Discrete observation space with real values

题意:OpenAI Gym 自定义环境:具有实数值的离散观测空间 问题背景: I would like to create custom openai gym environment that has discrete state space, but with float values. To be more precise, it should be a range of values wi…

翻译软件 Fastrans 开发日志 #2

就过了几天,我的 Fastrans 项目( https://github.com/YaoqxCN/Fastrans )又更新了两个版本,现在是 v1.1.1。(求个 star 谢谢!) 上次我初步实现了 Fastrans 的翻译功能以及 UI,可以看…

【C++ Primer Plus习题】8.1

问题: 解答: #include <iostream> using namespace std;void print(const char* str) {cout << str << endl; }void print(const char* str,int size) {static int count 0;count;for (int i 0; i < count; i){cout << str << endl;} }int…

机器学习数学公式推导之线性回归

文章目录 线性回归一、最小二乘法1.1 范数的概念1.2 最小二乘法的推导1.3 几何意义 二、噪声为高斯分布的 MLE2.1 LSE&#xff08;最小二乘估计&#xff09;2.2 MLE&#xff08;极大似然估计&#xff09;2.3 LSE与MLE的联系与区别 三、权重先验也为高斯分布的 MAP四、正则化4.1…

APO的接口级拓扑 VS Dynatrace ServiceFlow

在可观测性系统中&#xff0c;几乎所有的产品都会提供拓扑功能。大部分用户在初看这个拓扑之时都会觉得非常有用&#xff0c;但是一旦真实落地使用&#xff0c;就感觉这个拓扑比较鸡肋。这篇文章重点探讨APO团队是如何考虑让用户能够更好的使用拓扑&#xff0c;真正发挥出拓扑的…

OpenCV绘图函数(14)图像上绘制文字的函数putText()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 在图像上绘制指定的文本字符串。 cv::putText 函数在图像上绘制指定的文本字符串。无法使用指定字体渲染的符号会被问号&#xff08;?&#xff…

从理论层面设计简单的电池管理系统(BMS)

前言 最近阅读了《便携式设备的电池电源管理》和《大规模锂离子电池管理系统》这两本书&#xff0c;都是比较容易入门的BMS书籍&#xff0c;书中作者做了很多深层次的思考&#xff0c;所以我摘抄了一些部分&#xff1b;同时结合我个人的项目经验及一些理解&#xff0c;整理成这…

中核武汉首位“数字员工”报到,实在智能提供RPA技术解决方案

近期新员工入职季&#xff0c;中核武汉核电运行技术股份有限公司&#xff08;以下简称“中核武汉”&#xff09;迎来了一位“看不见的新同事”——公司首位数字员工“武小数”。“武小数”基于先进的机器人流程自动化技术&#xff08;RPA&#xff09;诞生&#xff0c;结合OCR图…

c++线程库操作

一、函数介绍 1、构造函数 无参构造函数&#xff1a; thread thd thread(); 有参构造函数&#xff1a; template<class Fn, class... Arg> Fn&#xff1a;可调用对象&#xff08;函数指针&#xff0c;仿函数&#xff0c;lambda表达式&#xff0c;包装器&#xff09…

掌握 ERP 进销存系统源码,实现企业精准管理 带源代码包以及搭建部署教程

系统概述 ERP 进销存系统源码是一套基于先进技术架构开发的企业管理解决方案。它涵盖了企业采购、销售、库存管理等核心业务领域&#xff0c;通过信息化手段实现了数据的实时共享、流程的优化整合以及决策的科学支持。 该系统源码采用了模块化设计理念&#xff0c;各个模块之…

传输层(多路复用与解复用)

目录 1.概述传输层服务 传输服务和协议 传输层 VS 网络层 类比&#xff1a;两个家庭的通信 Internet传输层提供的服务 2.多路复用与解复用 多路复用/解复用 多路复用的工作原理 无连接&#xff08;UDP&#xff09;多路复用 UDP多路复用例子 UDP多路解复用例子 面向连…

【Python报错已解决】ValueError: cannot reindex from a duplicate axis

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 引言&#xff1a; 当处理Pandas数据框&#xff08;DataFrame&#xff09;时&#xff0c;你是否遇到过ValueError: cannot reind…

零知识证明-公钥分发方案DH((六)

前言 椭圆曲线配对&#xff0c;是各种加密构造方法(包括 确定性阀值签名、zk-SNARKs以及相似的零知识证明)的关键元素之一。椭圆曲线配对(也叫“双线性映射”)有了30年的应用历史&#xff0c;然而最近这些年才把它应用在密码学领域。配对带来了一种“加密乘法”的形式&#xff…

VLAN原理和配置

VLAN技术可以将一个物理局域网在逻辑上划分成多个广播域&#xff0c;也就是多个VLAN。VLAN技术部署在数据链路层&#xff0c;用于隔离二层流量。同一个VLAN内的主机共享同一个广播域&#xff0c;它们之间可以直接进行二层通信。 VLAN标签长4个字节&#xff0c;直接添加在以太网…

轻松享受远程办公:可道云teamOS,让自由与效率同行

职场生活中&#xff0c;我们常常会因为工作需要而面临出差的情况。在这种情况下&#xff0c;如何能与不在身边的公司同事组员&#xff0c;保持高效协作&#xff0c;就显得尤为重要了。 移动办公新体验 记得有一次&#xff0c;我正在外地参加一个重要的商务会议&#xff0c;突…

佰朔资本:8.87亿人次!全国铁路 暑运发送旅客创历史同期新高

记者1日从我国国家铁路集团有限公司得悉&#xff0c;8月31日&#xff0c;为期62天的铁路暑运圆满结束。7月1日至8月31日&#xff0c;全国铁路累计发送旅客8.87亿人次&#xff0c;同比增长6.7%&#xff0c;日均发送旅客1431.2万人次&#xff0c;创暑运旅客发送量前史新高&#x…