西安电子科技大学-信号与线性系统大作业-歌曲人声消除

西安电子科技大学-信号与线性系统大作业-歌曲人声消除

简介

这篇文章的目的是为弟弟妹妹做大作业提供思路,学校作业可能会被复核,弟弟妹妹使用时一定要看一看,修改一下!

[En]

The purpose of this article is to provide ideas for younger brothers and sisters to do big homework, school homework may be double-checked, younger brothers and sisters must read it and revise it when using it!

如果你发现有什么不对劲的地方,你可以评论并留言。

[En]

If you find anything wrong, you can comment and leave a message.

代码和报告见我的GitHub找相应的课程,求个Star:XDU_HW,里面还有其他课程的代码和报告

一、内容与要求

本文通过对歌曲的立体声和过滤知识来实现对歌曲中人声的剔除,更好地保留背景音乐。利用设计的仿真程序对不同的歌曲进行测试,以验证和实现其可行性。

[En]

In this paper, through the song stereo and filtering knowledge to achieve the elimination of human voice in the song and better retain the background music. The design simulation program is used to test different songs, so as to verify and realize its feasibility.

二、思路与方案

2.1 立体声消除人声

2.1.1 基本原理

假设有两个信号

当我们分开听这两个信号时,我们听到的声音是完全相同的。当我们把这两个信号加在一起时,我们得到了一个新的音频信号。

[En]

When we listen to the two signals separately, the sound we hear is exactly the same. When we add these two signals together, we get a new audio signal.

你得到的只是一条幅度为零的直线,听不到任何声音。

[En]

All you get is a straight line with zero amplitude, and no sound can be heard.

2.1.2 通过左右两声道的音频消除人声

由2.1.1我们可以知道,两个振幅、频率完全相同的音频信号相位相差 时,人耳听到的两者声音没有区别,并且把这两个振幅、频率完全相同且相位相差 的两个音频信号相加后,声音被消除了,根据这个原理,我们可以消除歌曲中的人声。
对于一般的立体声歌曲,人们之所以能感受到立体声,是因为左右声道的伴奏频率、幅度、相位不同,而左右声道的人声基本相同。

[En]

For general stereo songs, the reason why people can feel stereo is that the accompaniment of the left and right channels is different in frequency, amplitude and phase, while the human voice is basically the same in the left and right channels.

假设人声信号为 ,左声道的伴奏为 ,右声道的伴奏为 ,则左右声道的音频分别为

从右声道中减去左声道得到新的左声道音频信号,从左声道中减去右声道得到新的右声道音频信号。

[En]

We subtract the left channel from the right channel to get a new left channel audio signal, and subtract the right channel from the left channel to get a new right channel audio signal.

对于单声道输出装置,新的左右声道的信号会相互抵消,所以使用单声道输出装置时,声音可以正常输出。

[En]

For the mono output device, the signals of the new left and right channels will cancel each other, so when the mono output device is used, the sound can be output normally.

2.2 设计带阻滤波器消除人声

2.2.3 基本原理

另一种消除声音的方法是使用带阻滤波器将音频信号在某一频率上的能量降为零,从而使原始信号中某一频率的声音消失。

[En]

Another way to eliminate sound is to reduce the energy of the audio signal at a certain frequency to zero using a band-stop filter, so that the sound of a certain frequency in the original signal disappears.

2.2.4 通过设计带阻滤波器消除歌曲中的人声

查阅数据后发现,男歌手的频率介于两者之间,而女歌手的频率则介于两者之间。我们可以设计两个带阻滤波器来滤除这两个频率范围内的音频信号,从而去除人声。

[En]

After consulting the data, the frequency of male singers is about between, while that of female singers is about between. We can design two band-stop filters to filter out the audio signals in these two frequency ranges to eliminate the human voice.

三、成果及展示

使用 设计仿真程序,完整代码见附录一。

3.1 导入音频

使用 中的 函数导入一段音频,并差分左右声道,分别进行离散傅里叶变换,得到的左右声道时域和频域的结果如下图所示。

西安电子科技大学-信号与线性系统大作业-歌曲人声消除

; 3.2 左右声道相减,消去人声

首先从右声道中减去左声道得到新的左声道音频信号,然后从左声道中减去右声道得到新的右声道音频信号。新的左、右声道音频信号的时域和频域结果如下图所示。

[En]

First the left channel is subtracted from the right channel to get a new left channel audio signal, and then the right channel is subtracted from the left channel to get a new right channel audio signal. The time domain and frequency domain results of the new audio signals of the left and right channels are shown in the following figure.

西安电子科技大学-信号与线性系统大作业-歌曲人声消除

3.3 使用带阻滤波器消去人声

使用 中的 函数设计两个 阶的带阻滤波器,信号的截至频率分别为 和 。再用 函数对最新得到的左右声道音频信号使用刚刚得到的带阻滤波器进行滤波,滤波后得到的最终左右声道时域和频域的结果如下图所示。

西安电子科技大学-信号与线性系统大作业-歌曲人声消除

; 3.4 最终效果

运行程序消除了不同歌曲的人声,效果非常显著,人声几乎消失,达到了要求。

[En]

Run the program to eliminate the human voice of different songs, the effect is very significant, the human voice almost disappeared, meet the requirements.

四、总结与感想

本文采用左右声道相减和带阻滤波的方法去除歌曲中的人声,实现了达到实际应用的要求。

[En]

In this paper, the human voice in the song is eliminated by means of left and right channel subtraction and band-stop filter, and it is realized to achieve the requirements of practice.

通过这次练习,我对音频的原理和使用过滤器的经验有了更深的理解。通过将书本上的知识应用到实际问题中,我不仅对知识有了更深的理解。我对信号和线性系统的课程也更感兴趣。

[En]

Through this practice, I have a deeper understanding of the principle of audio and experience in the use of filters. By applying the knowledge in books to practical problems, I not only have a deeper understanding of knowledge. I also have a greater interest in the course of signals and linear systems.

五、附录

完整代码可以在歌曲人声消除MATLAB实现下载

Original: https://blog.csdn.net/m0_50827783/article/details/111406848
Author: CK1201
Title: 西安电子科技大学-信号与线性系统大作业-歌曲人声消除

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/525481/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 图像的灰度直方图

    目录 1.灰度直方图的定义 1.1定义 1.2灰度图像展示 2.灰度直方图的性质 2.1位置缺失性 2.2图像的一对多特性 2.3直方图的可叠加性 3.直方图与图像清晰性的关系 4…

    人工智能 2023年6月17日
    0107
  • 【数学建模】-聚类模型学习笔记之系统(层次)聚类

    学习来源:清风老师 于晶贤‐辽宁石油化工大学‐聚类分析之系统聚类法 系统聚类的合并算法通过计算两类数据点间的距离,对最为接近的两类数据点进行组合,并反复迭代这一过程,直到将所有数据…

    人工智能 2023年5月31日
    0139
  • 聚类系列算法进阶(一)18

    聚类算法 1、聚类介绍 1.1、聚类作用 知识发现 发现事物之间的潜在关系 异常值检测 特征提取 数据压缩的例子 1.2、有监督与无监督学习 有监督: 给定训练集 X 和 标签Y …

    人工智能 2023年5月31日
    095
  • DDPG代码实现

    DDPG代码实现 文章目录 * – DDPG代码实现 – + 代码及解释 + * 1.超参数设定 * 2.ReplayBuffer的实现 * 3.Agent…

    人工智能 2023年5月25日
    099
  • 【机器学习-分类】决策树预测

    我用一些机器学习的算法对数据进行一个分类,下面是一些需要用到的基础代码,以决策树为例,并不包括针对项目的模型处理和修改,留作记忆学习。 对于数据划分训练集直接省略 def Tree…

    人工智能 2023年7月1日
    089
  • SimpleITK学习笔记

    SimpleITK学习笔记 前言 1 sitk中的常见属性值 2 读取和保存图像 3 像素类型 4 SimpleITK图像数据和Numpy矩阵数据之间的转换 5 访问像素和切片 6…

    人工智能 2023年5月26日
    062
  • YOLO V5源码详解

    1.数据读取 首先读取图片以及标签路径,并将标签存入缓存,对单标签情况、特定类别、以及是否保持长方形等情况分别进行处理。 如果需要进行mosaic 数据增强,首先找到中心点,将图片…

    人工智能 2023年7月5日
    0110
  • postman的断言、关联、参数化、使用newman生成测试报告

    Potman 断言 Postman 断言简介 让 Postman工具 代替 人工 自动判断 预期结果 和 实际结果 是否一致 断言代码 书写在 Tests 标签页中。 查看断言结果…

    人工智能 2023年6月30日
    089
  • print(f‘‘)的用法

    用法示例 print(f’…..’) 注意: f后面一定要紧跟字符串,不能隔有空格,否则会报错 print语句中加入f就可以起到和format函数类似的作用。 a = 1 b …

    人工智能 2023年7月5日
    053
  • win10 使用TensorRT部署 yolov5-v4.0(C++)

    文章目录 * – + 一、环境及文件准备 + 二、编译 + 三、测试 一、环境及文件准备 安装 CUDA+cudnn+TensorRT 【查看上一篇文章】 默认安装An…

    人工智能 2023年5月26日
    0111
  • 单词发音,为语音识别准备素材

    单词发音,为语音识别准备素材 环境 * windows下安装pyttsx3 linux下安装pyttsx3 界面展示 * 图形化界面 输出文档 写作过程 注意事项 完整代码 环境 …

    人工智能 2023年5月25日
    059
  • DETR源码笔记(二)

    搭建Transformer Encoder Decoder DETR搭建 LOSS计算和GT匈牙利匹配 PostProcess后处理 main(三) 构建数据集、训练验证操作 搭建…

    人工智能 2023年7月21日
    051
  • 追涨行为因子:基于上交所投资者账户数据的散户交易行为量化策略

    量化投资与机器学习微信公众号,是业内垂直于 量化投资、对冲基金、Fintech、人工智能、大数据等领域的主流自媒体。公众号拥有来自 公 募 、私募、券商、期货、银行、保险、高校等行…

    人工智能 2023年7月15日
    065
  • 深度自编码高斯混合模型无监督异常检测

    1、背景 目前利用深度学习解决异常检测存在数据维度过高,容易将任何一个样本判断为未见过的异常样本的问题。针对这种情况,提出了降维的需求,将高维数据降维,然后在低纬度对其进行密度估计…

    人工智能 2023年5月31日
    087
  • 箱形图(python画图)

    什么是箱型图 如下灰色框里的就是箱形图(英文:Box plot):又称为盒须图、盒式图、盒状图或箱线图,是一种用作显示一组数据分散情况资料的统计图。因型状如箱子而得名。 箱形图最大…

    人工智能 2023年7月17日
    059
  • Backtrader量化&回测2——在策略中读取Pandas数据,添加更多自定义数据列到策略中

    使用Backtrader的内置类 backtrader.feeds.PandasData读取dataframe数据后,会按照列名称,将已有的数据列名映射到 backtrader的P…

    人工智能 2023年7月6日
    071
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球