首页 > 其他分享 >梅尔频谱图(Mel Spectrogram)和梅尔频率倒谱系数(MFCC)

梅尔频谱图(Mel Spectrogram)和梅尔频率倒谱系数(MFCC)

时间:2024-07-26 13:40:59浏览次数:14  
标签:频谱 plt 倒谱 MFCC sr librosa 梅尔

梅尔频谱图(Mel Spectrogram)和梅尔频率倒谱系数(MFCC)之间有着密切的关系。MFCC可以看作是梅尔频谱图的进一步处理和特征提取。以下是两者之间关系的详细讲解:

1. 梅尔频谱图 (Mel Spectrogram)
梅尔频谱图是将音频信号的频谱表示转换到梅尔频率标度上,并通过一组梅尔滤波器对频谱进行加权平均后得到的结果。具体步骤如下:

音频信号预处理:

预加重 (Pre-emphasis)。
分帧 (Framing)。
加窗 (Windowing)。
计算功率谱 (Power Spectrum):

对每一帧信号进行快速傅里叶变换 (FFT)。
计算每一帧的功率谱。
应用梅尔滤波器组 (Mel Filter Bank):

使用一组三角形滤波器,频率分布在梅尔频率标度上。
将功率谱通过这些滤波器,得到每个滤波器的加权平均值。
对数压缩 (Log Compression):

对滤波器组输出的值取对数,以模拟人耳对声音强度的非线性感知。
梅尔频谱图的最终输出是对数梅尔频谱值的矩阵,行代表梅尔滤波器的数量,列代表时间帧。

2. 梅尔频率倒谱系数 (MFCC)
MFCC是基于梅尔频谱图进一步处理得到的一组特征系数。具体步骤如下:

计算梅尔频谱图:

按照上述步骤,计算音频信号的梅尔频谱图。
离散余弦变换 (DCT):

对梅尔频谱图的每一列(即每一时间帧的梅尔频率表示)进行离散余弦变换 (DCT)。
这一步的目的是将频谱压缩到更少的系数,并去除相关性,使得特征更加集中。
保留低阶系数:

通常只保留DCT变换后的前12到13个系数,这些系数包含了主要的频谱信息。
3. 两者之间的关系
输入:MFCC的计算基于梅尔频谱图。具体来说,梅尔频谱图是MFCC计算的中间结果。
处理流程:
音频信号 -> 预处理 -> 分帧 -> 加窗 -> FFT -> 功率谱 -> 梅尔滤波器组 -> 对数压缩 -> 梅尔频谱图。
梅尔频谱图 -> 离散余弦变换 (DCT) -> MFCC。
特征表示:
梅尔频谱图是一个二维矩阵,包含频率和时间维度的频谱信息。
MFCC是一个较小的特征向量(通常为每帧12到13个系数),这些系数是从梅尔频谱图中提取并压缩得到的。
4. 可视化对比
为了更直观地理解两者的关系,可以通过代码生成梅尔频谱图和MFCC的可视化图:

import librosa
import librosa.display
import numpy as np
import matplotlib.pyplot as plt

# 加载音频文件
y, sr = librosa.load('audio.wav', sr=None)

# 计算梅尔频谱图
S = librosa.feature.melspectrogram(y=y, sr=sr, n_mels=128, fmax=8000)

# 对梅尔频谱图取对数
log_S = librosa.power_to_db(S, ref=np.max)

# 计算MFCC
mfccs = librosa.feature.mfcc(S=log_S, n_mfcc=13)

# 可视化梅尔频谱图
plt.figure(figsize=(12, 6))
plt.subplot(2, 1, 1)
librosa.display.specshow(log_S, sr=sr, x_axis='time', y_axis='mel')
plt.title('Mel Spectrogram')
plt.colorbar(format='%+02.0f dB')

# 可视化MFCC
plt.subplot(2, 1, 2)
librosa.display.specshow(mfccs, sr=sr, x_axis='time')
plt.title('MFCC')
plt.colorbar()
plt.tight_layout()
plt.show()

总结
梅尔频谱图:提供了音频信号在梅尔频率标度上的频谱表示,捕捉了频率和时间的细节。
MFCC:通过对梅尔频谱图的离散余弦变换和压缩,提取了更紧凑和不相关的特征,用于进一步的音频分析和模式识别。
理解梅尔频谱图和MFCC之间的关系,有助于在实际应用中更有效地利用这些特征进行音频处理任务。

标签:频谱,plt,倒谱,MFCC,sr,librosa,梅尔
From: https://www.cnblogs.com/mxh010211/p/18322202

相关文章

  • 基于语音信号MFCC特征提取和GRNN神经网络的人员身份检测算法matlab仿真
    1.算法运行效果图预览    2.算法运行软件版本MATLAB2022a 3.部分核心程序P=[Dat1_wav1;Dat1_wav2;Dat2_wav1;Dat2_wav2;Dat3_wav1;Dat3_wav2;Dat4_wav1;Dat4_wav2];T=[ones(800,1);2*ones(800,1);3*ones(800,1);4*ones(800,1)];%GRNN训练net=newgrnn(......
  • 基于改进MFCC特征和卷积递归神经网络的心音分类
    具体的软硬件实现点击http://mcu-ai.com/MCU-AI技术网页_MCU-AI人工智能心音分类在心血管疾病的早期发现中起着至关重要的作用,特别是对于小型初级卫生保健诊所。尽管近年来心音分类取得了很大进展,但其中大多数都是基于传统的分段特征和基于浅层结构的分类器。这些传统的声学表示......
  • Mel频谱与MFCC技术分析
    Mel频谱与MFCC技术分析前言在音频领域,mel频谱和mfcc是非常重要的特征数据,在深度学习领域通常用此特征数据作为网络的输入训练模型,来解决音频领域的各种分类、分离等业务,如端点侦测、节奏识别、和弦识别、音高追踪、乐器分类、音源分离、回声消除等相关业务。当然,针对深度学习音......
  • 基于MFCC特征提取和GMM训练的语音信号识别matlab仿真
    1.算法运行效果图预览 2.算法运行软件版本matlab2022a 3.算法理论概述       语音信号识别是将输入的语音信号映射到对应的文本或语音标签的过程。基于MFCC(Mel-FrequencyCepstralCoefficients)特征提取和GMM(GaussianMixtureModel)训练的方法在语音识别领域取......
  • 揭开 MFCC 的魔力:语音识别的一项关键技术
    现在,在阅读此博客之前,您必须知道MFCC(梅尔频率倒谱系数)广泛用于人工智能中的语音识别。MFCC基本上用于从给定的音频信号中提取特征。我们先来看一下MFCC中涉及的步骤的流程图说明:模数转换:此步骤基本上涉及将模拟信号转换为数字信号。这是因为我们在语音识别中执行的大多数步骤都......
  • MFCC 算法及 C 实现
    参考https://blog.csdn.net/weixin_38468077/article/details/1027095101.MFCC是做什么?1.1梅尔频谱人耳能听到的声音频率范围是20-20000Hz,但是人耳对频率感知并不是线性的,而是近似于......
  • 基于MFCC特征提取和神经网络的语音信号识别算法matlab仿真
    1.算法仿真效果matlab2022a仿真结果如下:     2.算法涉及理论知识概要        在语音识别(SpeechRecognition)和话者识别(SpeakerRecognition)方面,最常用到的语音特征就是梅尔倒谱系数(Mel-scaleFrequencyCepstralCoefficients,简称MFCC)。根据人耳听觉机理......
  • 基于mfcc和DTW语音信息特征提取算法matlab仿真
    1.算法仿真效果matlab2022a仿真结果如下:2.算法涉及理论知识概要在语音识别(SpeechRecognition)和话者识别(SpeakerRecognition)方面,最常用到的语音特征就是梅尔倒谱系数(Mel-scaleFrequencyCepstralCoefficients,简称MFCC)。根据人耳听觉机理的研究发现,人耳对不同频率的声波有不......
  • 基于mfcc和DTW语音信息特征提取算法matlab仿真
    1.算法仿真效果matlab2022a仿真结果如下:   2.算法涉及理论知识概要       在语音识别(SpeechRecognition)和话者识别(SpeakerRecognition)方面,最常用到的语音特征就是梅尔倒谱系数(Mel-scaleFrequencyCepstralCoefficients,简称MFCC)。根据人耳听觉机理的研究发......
  • Mel频谱图与MFCC
    这次要讲的是语音处理中常用的特征值--Mel频谱图(MelSpectrogram)和Mel频率倒谱系数(MelFrequencyCepstrumCoefficient,MFCC)。什么是Mel?Mel是S.S.Stevens等人于1937年发表的论文\(^{[1]}\)中定义的一种非线性刻度单位。它的定义是为了反应人类听觉系统对声音频率的主观感......