3. 特征提取

本文介绍了MFCC(梅尔频率倒谱系数)在声音识别中的重要性及其提取流程,包括FFT变换、Mel滤波、取对数、DCT变换等步骤。还提及了在深度学习中,可以直接使用Log-mel Spectrogram,因为它保留了更多的声音细节,并提供了相关代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


数据集和代码均已上传到Github中,欢迎大家下载使用。

Github地址:https://github.com/JasonZhang156/Sound-Recognition-Tutorial

如果这个教程对您有所帮助,请不吝贡献您的小星星Q^Q.


特征提取

对于音频特征,相信稍微了解一点的童鞋们都知道有个东西叫MFCC。MFCC全称为Mel Frequency Cepstrum Coefficient,即梅尔频率倒谱系数。 对于声音信号处理领域,MFCC非常重要,几乎在所有声音识别的领域都有应用,包括语音识别、声纹识别、声音场景识别等等。 首先我们先看一下MFCC特征的提取流程:

对上图进行说明:
1)FFT变换的作用是提取声音频谱信息,即将声音的时域序列转换到频域表示,这里得到的是一个复数二维数组,横轴表示时间轴,每个点代表一帧,纵轴表示频率轴;
2)第二步如果取绝对值得到的是幅度谱,取平方值得到的是功率谱,一般是取平方值效果好些;
3)Mel滤波的作用是将声音转换到Mel域表示,使其更加符合人耳听觉特性,这步是对频率轴进行操作,和时间轴无关;
4)取对数增强声音的低频表示,因为声音的很多特性是隐藏在低频信息中的,同时在做DCT变换的时候可以把频谱的包络和细节区分开(这里听不懂没关系Q^Q);
5)DCT变换实际上是做了Fourier的逆变换,这里是通过离散余弦变换来实现,做完DCT后会得到一些系数向量,我们称之为倒谱系数;
6)为了得到更加丰富的信息,我们沿时间轴做一阶偏微分,得到delta信息,做两次偏微分就得到delta-delta信息。

这部分主要使用librosa库的特征提取函数,对原始音频提取MFCC特征。实际上,librosa已经帮我们集成好了上述步骤,不需要我们一步步来写代码:

import numpy as np
import librosa
import random

def extract_mfcc(y, sr, size=3):
    """
    extract MFCC feature
    :param y: np.ndarray [shape=(n,)], real-valued the input signal (audio time series)
    :param sr: sample rate of 'y'
    :param size: the length (seconds) of random
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值