研1日记16

1. 音频信号处理
对每个wav文件进行如下处理:

y, sr = librosa.load(file_path, sr=44100)  # 指定采样率为44.1 kHz
mfcc = librosa.feature.mfcc(y=y, sr=sr, n_mfcc=13)  # 
  • y 是音频信号的数组表示,其中每个值代表一个样本点的振幅。
  • sr 是音频的采样率,这里将使用我们指定的 44.1 kHz。
  • mfcc 是一个二维数组,每一列对应一个时间帧的 MFCC 特征。

librosa.feature.mfcc 函数中,一个时间帧的大小通常是通过参数 n_fft 来指定的,它代表进行快速傅里叶变换(FFT)的窗口大小。而连续帧之间的重叠部分是通过参数 hop_length 来指定的。如果未明确指定,librosa 默认的 n_fft 通常是 2048,而 hop_length 默认是 512,这意味着默认情况下每帧有 2048 个样本,并且每帧之间有 512 个样本的重叠。

帧的大小(n_fft)和帧移(hop_length)共同决定了 MFCC 特征的时间分辨率。较大的 n_fft 值会导致每帧的时长较长,从而得到较平滑的频谱,但时间分辨率较低;较小的 n_fft 值则相反。帧移(hop_length)决定了帧与帧之间的重叠程度,较小的 hop_length 值会增加时间分辨率,但会减少频率分辨率。

例如,如果采样率 sr 是 44.1 kHz,那么一帧的长度(以秒为单位)可以这样计算:

  • 帧长 = n_fft / sr
  • 帧移 = hop_length / sr

对于默认值,帧长是 2048 / 44100 ≈ 0.0465 秒(大约 46.5 毫秒),帧移是 512 / 44100 ≈ 0.0116 秒(大约 11.6 毫秒)。这意味着每个 MFCC 特征向量大约覆盖 46.5 毫秒的音频,而每 11.6 毫秒就会生成一个新的特征向量。

常用设置为帧大小为 25 毫秒,frame_size = 0.025步幅为 10 毫秒(重叠 15 毫秒)

np.ceil 是 NumPy 库中的一个函数,用于计算数组中每个元素的上限值

np.tile 是一个 NumPy 函数,它用于重复数组。这个函数将一个给定的数组沿着指定的轴重复指定的次数,从而创建一个新的、更大的数组。np.tile(A,(3,1)),表示将数组A,沿着一维重复3次,沿着2维重复1次。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值