使用 GTZAN 数据集预处理音频数据

GTZAN数据集是一个广泛用于音乐信息检索、音乐分类和其他音乐相关任务的标准数据集。它包含了 1000 个来自 10 个不同类型的音乐样本,每个类型包含 100 个样本。这些音频样本的长度为 30 秒,采样率为 22050 Hz,以 16 位单声道 .wav 格式存储。这个数据集最初由 Marsyas 音乐信息检索工具包创建,并被广泛用于评估音乐分类算法的性能。

使用平台:
OpenBayes贝式计算:知乎 - 安全中心

登录后,在左侧菜单栏打开「公共教程」,找到「使用 GTZAN 数据集预处理音频数据」。

点击「克隆」,可以看到数据集已经绑定到了 input0 目录下,并将工作目录复制到了我们自己的工作目录下。

点击「下一步:选择算力」,选择 RTX 4090 的算力和 PyTorch 的镜像。

然后「审核」,「执行」,等待分配好资源后点击「打开工作空间」。

进入到工作空间后,在左侧文件管理器中选中 ipynb 结尾的 notebook 文件,并将启动页拖下并打开「终端」。

在运行之前,我们可以使用 pip install -r requirements.txt 这条命令来安装我们所需要的依赖。

接下来将解释如何从音频数据中提取所有的特征。

在运行之前,我们使用 Shift+Enter 运行第一段代码,导入我们需要的库。

运行好之后,我们运行第二段代码,定义我们的参数。

可以看见我们这数据集是放在/openbayes/input/input0 下的,所以我们只需要将这个路径写在这一个变量上,就可以读取我们的数据集了。

然后我们运行读取音频文件代码,它将会读取每个流派的第一个音乐,并以可播放的形式显示在 notebook 中。感兴趣的可以听一下它给出的各种流派的音乐。

接下来我们对音频文件进行可视化,运行这段代码,它将会绘制出振幅关于时间的图像。

过零率是表示在音频信号中,振幅从正到负或从负到正的次数,过零率通常用作声音的特征之一,可以表示音频信号的变化频率或清晰度。

运行这段代码,它将绘制出每一种流派不同的过零率。

短时傅里叶变换通过在短重叠窗口上计算离散傅里叶变换,将信号表示在时频域中,这种变换可以用来分析音频信号的频谱内容随时间的变化,常用于语音处理、音频压缩和音乐信息检索等领域。

运行这段代码,将会绘制出各流派的对应图像。

频谱图表示了信号在不同频率上随时间变化的强度,频谱图是音频信号分析中常用的工具,可以帮助我们可视化和理解音频信号的频率特性随时间的变化。

运行代码,得到频谱图。

梅尔频谱图就是在频谱图的思想上将它的刻度转换为对数刻度,表示更贴近人类感知的频谱图。

梅尔频率倒谱系数是一种常用于语音和音频信号处理的特征提取方法,它是从梅尔频率谱中提取出的系数,用于描述信号的声学特性。

我们通过这段代码可以计算出梅尔频率倒谱系数。

色谱图是一系列色度特征,每个特征表示在时间窗口内音频的音调内容在 12 个色度频带/音高之间的分布,在色谱图中,通常使用不同的颜色或灰度来表示不同音高的能量。这种表示方式可以帮助我们理解音频信号中不同音高的分布和变化,对于音乐分析和和声分析等应用具有重要意义。

运行这段代码可以绘制色谱图。

频谱中心表示频谱的质心位置,在感知上,它与声音亮度的印象具有牢固的关联,频谱中心是通过使用傅立叶变换确定信号中存在的频率,并将它们的幅度作为权重计算的加权平均值。

使用这段代码可以绘制每一首音乐的频谱中心。

频谱带宽是频谱的宽度或频率范围,用于表示信号的频率分布的广度。它通常与频谱形状的扁平度相关联,即它指示了频谱的“宽度”。 在音频信号处理中,频谱带宽常用于描述声音的音质或音色。较高的频谱带宽通常与更明亮或更尖锐的声音相关联,而较低的频谱带宽则通常与更柔和或更暗的声音相关联。

节拍是音乐模式下的规律性重复脉冲,而节奏是模式重复的速度。

频谱衰减是指频谱中某一百分比的总能量所占比例对应的频率。例如,频谱衰减的 85% 点指的是频谱中总能量的 85% 所在的频率。频谱衰减可以用来描述信号的高频部分。较低的频谱衰减值表示信号在高频区域的能量较小,而较高的频谱衰减值表示信号在高频区域的能量较大。

谐波声音是我们感知为音调的声音,它使我们听到旋律和和弦。谐波声音的原型是正弦波的声学实现,它对应于频谱图表示中的水平线;打击声音是我们感知为冲突、敲击、拍手或点击的声音。打击声音的原型是冲击的声学实现,它对应于频谱图表示中的垂直线。

  • 20
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值