精华内容
下载资源
问答
  • 倒谱频谱
    千次阅读
    2020-11-25 20:10:32

    在音频的特征提取中,经常会用到梅尔频谱和梅尔倒谱
    这里记录一下librosa.feature.melspectrogram和librosa.feature.mfcc的区别

    首先这里给出两个API的官方定义

    def melspectrogram(
        y=None,
        sr=22050,
        S=None,
        n_fft=2048,
        hop_length=512,
        win_length=None,
        window="hann",
        center=True,
        pad_mode="reflect",
        power=2.0,
        **kwargs,
    ):
    y:输入时域下的音频信号。shape= (n,)
    sr:采样频率
    n_fft:FFT窗口个数,默认2048
    hop_length:连续帧之间的采样数,默认512
    window:使用加窗的类型,默认为汉宁窗
    return:梅尔频谱
    
    
    def mfcc(
        y=None, 
        sr=22050, 
        S=None, 
        n_mfcc=20, 
        dct_type=2, 
        norm="ortho", 
        lifter=0, 
        **kwargs
    ):
    y:输入时域下的音频信号
    sr:采样频率
    n_mfcc:返回mfcc特征的数量
    dct_type:DCT(离散余弦变换)的类型,默认为2
    return:返回mfcc特征序列,这里主要设置sr和n_mfcc(你要提取特征的个数)
    

    首先,返回不同,一个是梅尔频谱,一个是梅尔倒谱

    输入语音信号->预加重->分针->加窗->FFT(傅里叶变换)->Mel滤波器->对数运算->DCT(离散预先变换)->MFCC

    这是MFCC(梅尔倒谱)的提取过程,而梅尔频谱则是经过Mel滤波器就直接输出的一个结果

    其实从mfcc()API可以看出来,mfcc是在melspectrogram基础上得来的

    # -- Mel spectrogram and MFCCs -- #
    def mfcc(y=None, sr=22050, S=None, n_mfcc=20, **kwargs):
        if S is None:
            S = logamplitude(melspectrogram(y=y, sr=sr, **kwargs))
    
        return np.dot(filters.dct(n_mfcc, S.shape[0]), S)
    

    给定原始的音频信号,通过melspectrogram()函数提取梅尔频谱,然后通过DCT离散余弦变换得到梅尔倒谱系数。(总之一句话,在梅尔频谱上取对数,做DCT变换,就得到了梅尔倒谱

    Mel滤波器对应了频率提高之后人耳会迟钝的客观规律,所以Mel滤波器在人声的信号处理上有着广泛的使用,但是如果应用到非人声上,就会丢失很多高频信息。

    梅尔频谱和梅尔倒谱在使用上略有差别,特征提取还是需要仔细的研究他们之间的 不同。

    更多相关内容
  • 当把m个信号叠加在一起时,经倒谱分析是能检测出其基频。但倒谱分析主要是用在同态滤波中,可用于某些信号的解褶积。例如提供的语音信号,就能通过倒谱频谱中的包络和基频频谱分离,
  • 用于齿轮信号的倒频谱分析,程序是通的,只需修改数据文件就可以。
  • 语音信号的谱分析的用户界面设计,可以对语音信号做频谱,语谱,倒谱分析
  • 这是用于平滑频谱的非参数估计的倒谱阈值技术的原始实现: P. Stoica 和 N. Sandgren。 通过倒谱阈值,IEEE 符号平滑非参数频谱估计。 过程杂志,卷。 23,第 34-45 页,2006 年 11 月。 交换文件包含 Dr. S. ...
  • matlab倒错代码MIMO倒谱 论文 A MIMO 倒谱随附的数值插图代码。 概括 此存储库中的代码代表了 Matlab 中用于模拟手稿“A Multiple-Input Multiple-Output Cepstrum”中的最小工作示例,其预印本可以在 Oliver ...
  • 目录频谱声谱梅尔频谱梅尔倒谱总结 频谱 声谱 梅尔频谱 梅尔倒谱 总结

    频谱

    在介绍频谱时,首先引入傅里叶变换中的时域和频域:

    • 时域即时间域,自变量是时间,即横轴是时间,纵轴是信号的变化。其动态信号是描述信号在不同时刻取值的函数。时域分析是以时间轴为坐标表示动态信号的关系。
    • 频域即频率域,自变量是频率,即横轴是频率,纵轴是该频率信号的幅度,也就是通常说的频谱图。频谱图描述了信号的频率结构及频率与该频率信号幅度的关系。频域是把时域波形的表达式作傅立叶变化得到复频域的表达式,所画出的波形就是频谱图。

    时域分析与频域分析是对模拟信号的两个观察面,简单来说,横坐标一个是时间,一个是频率。以一副很好的图可以来表示信号在时域和频域的显示:
    在这里插入图片描述
    注意看两个坐标轴。那么频谱的概念就很明显了,所谓的频谱就是信号从时域转为频域之后,表示的是一个静态的时间点上各频率正弦波的幅值大小的分布状况。

    语谱(声谱)

    语谱也叫声谱,或者说是时频谱,它是在频谱的基础上合成的&#x

    展开全文
  • 频谱倒谱介绍及matlab实现

    千次阅读 多人点赞 2020-03-20 19:11:44
    一、频谱 fft函数的区间 正频率区间的方式(fftshift) 采样频率 (区间图) 二、能量谱 傅里叶变换的平方 三、功率谱 1、能量谱/区间 2、自相关函数傅里叶变换 四、倒谱 1、定义: 2、过程:(图) 之所以在分析...

    一、频谱

    • 原理:傅里叶变换

    采样频率:大于原信号频率的2倍

    • 方法:fft和ifft函数(fft点数即为频谱频率范围)

    fft函数后频率的区间:前面是[0,fs/2],后边是[-fs/2,0]
    为了恢复正常频率区间,需要用fftshift函数
    截取正频率:fft以后截前半段或者fftshift以后截后半段

    在这里插入图片描述

    • matlab程序:
    %时域波形
    w=rectwin(61)%矩形窗函数
    subplot(411)
    plot(w,'k')
    xlabel('样本数');ylabel('幅度');title('矩形波时域波形')
    %频域波形
    w1=fft(w,1024)%对窗函数做1024点的fft
    w2=w1/(max(w1))%幅度归一化
    w3=20*log10(abs(w2))%出来的是双边频谱(数学谱)
    w4=fftshift(w3)%频谱搬移
    f=0:1023
    f0=f-1024/2%中心搬移到0subplot(412)
    plot(f,w3,'k')
    xlabel('频率f');ylabel('幅度/dB');title('矩形波频谱')
    subplot(413)
    plot(f,w4,'k')
    xlabel('频率f');ylabel('幅度/dB');title('矩形波频谱(搬移后)')
    subplot(414)
    plot(f0,w4,'k')
    xlabel('频率f');ylabel('幅度/dB');title('中心为0的矩形波频谱(搬移后)')
    

    在这里插入图片描述

    能量谱:傅里叶变换的平方
    功率谱:针对功率信号,(傅立叶变换的平方)/(区间长度) 或者 自相关函数的傅里叶变换

    二、倒谱

    1、工程定义:信号功率谱对数值进行傅立叶逆变换的结果。
    2、实际过程:是实部求逆变换,也叫实倒谱,用于估计语音参数

    在这里插入图片描述

    之所以在分析中用的不是功率谱,可能是因为二者之间差了^2,在后续的ln中变为系数2,关系不大。

    虽然是倒频谱,但是横轴不是频率,是时间,也叫二次谱,对数功率谱。

    • 复倒谱:与实倒谱相差一个因子,用于恢复实际波形

    在这里插入图片描述
    3、语音信号的倒谱分析

    • 作用:分开声道信息和声道信息
    • 理解过程:
      语音信号是激励信号被声道调制的结果,也就是时域的卷积

    在这里插入图片描述
          经过傅里叶变换以后,激励信号与声道信息转换为频谱分布,是激励信号与声道的相乘,其中包络是慢变化(相当于时域的低频信号)代表的是声道信息;内部是快变化(相当于时域的高频信号)代表的是激励的谐波信息。

    时域快变化,对应频域的高频分量;时域的慢变化,对应频域的低频分量。
    频域快变化,对应时域的高时分量;频域的慢变化,对应时域的低频分量。(为啥呢?就当是时频变换的逆变换吧)

    在这里插入图片描述
          为了更好的区分声道信息与激励信息,ln的操作即将相乘关系转换为相加的关系。
    在这里插入图片描述
          对ln以后的信号分别进行IDFT,则为声道信息和激励信息分别是低时分量和高时分量。
    在这里插入图片描述
    4、基音检测

    • 实质:激励信息,对应的是倒谱的高时部分。

    浊音信号是周期性激励的,所以在倒谱上是周期的冲激,因此可以求得基音周期。一般把倒谱波形中第二个冲激(第一个是包络信息),认为是激励源的基频。

    • 过程:倒谱,峰值检测(在基音周期附近寻找),判断是浊音(峰值大于规定阈值)还是清音(峰值小于规定的阈值)

    每隔10~20ms计算一次倒谱,因为语音的激励参数是缓慢变化的。

    • 实现框图:

    实现框图

    • 流程图

    在这里插入图片描述

    matlab程序(待完成)

    4、共振峰检测

    • 实质:声道信息,对应的是倒谱的低时部分
    • 过程:对倒谱低时部分进行DFT,求其傅里叶变换,得到频谱图,然后即可得到共振峰

    共振峰表现在频谱上,为频谱上的各个峰值
    注:第二个log的作用是为了突出低频信息量,弱化高频信息量。(对数值小的部分差异的敏感程度比数值大的部分的差异敏感程度更高)
    平滑作用:去除一些野点

    • 实现框图:

    在这里插入图片描述

    • 流程图

    在这里插入图片描述
    matlab程序(待完成)

    三、参考

    1、频域特征值提取的MATLAB代码实现(频谱、功率谱、倒频谱)
    2、信号频域分析方法的理解(频谱、能量谱、功率谱、倒频谱、小波分析)
    3、基于音乐识别的频谱转换算法——CQT
    4、语音信号提取声学特征时,MFCC和PLP的区别是什么?
    5、语音信号处理(二)—— MFCC详解
    6、语音识别第4讲:语音特征参数MFCC
    7、AI(I)语音(I):MFCC特征参数提取
    8、M. Todisco, H. Delgado, and N. Evans, “A new feature for automatic speaker verification antispoofing: Constant q cepstral coefficients,” Processings of Odyssey 2016, 2016.
    9、张雪英.《数字语音处理及MATLAB仿真》(第2版)[M].北京:电子工业出版社,2016

    展开全文
  • 利用matlab计算语音信号的倒谱,并从中把语音信号的声门激励信号和声道激励信号分离,分别得到声门激励信号的频谱和声道激励信号频谱
  • 主要为大家详细介绍了语音识别之梅尔频率倒谱系数及Python实现,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 此 MATLAB 练习显示了低频倒谱提升对语音信号的对数幅度谱的频谱平滑效果。 这是通过首先计算窗口加权语音帧的实倒谱并将结果对数幅度谱保存为基线(未平滑)语音谱来完成的。 然后使用低频提升器来有效地平滑对数...
  • 从软组织散射元准周期规则分布可导致超声散射信号产生相干峰的机理出发,提出了利用Chirp Z变换频谱细化倒谱估计散射元平均间距及其变化的新方法,并利用该方法对仿体和生物软组织的回波信号进行了分析.结果表明,该...
  • 倒谱分析

    2021-04-18 12:41:07
    看到一个倒谱分析的方法,网上查看到一些资料,介绍的挺不错的,分享一下:这个是东南大学机械工程系的网上课件,略显粗糙,可以将就看倒谱分析用倒频谱诊断齿轮故障分离信息通道对信号的影响这个是一个新浪博客对...

    看到一个倒谱分析的方法,网上查看到一些资料,介绍的挺不错的,分享一下:

    这个是东南大学机械工程系的网上课件,略显粗糙,可以将就看

    倒谱分析

    用倒频谱诊断齿轮故障

    分离信息通道对信号的影响

    这个是一个新浪博客对上面内容的总结,不知道为什么google里搜不着

    matlab中的函数为

    1) 复倒频谱

    y=cceps(x)

    2) 实倒频谱

    y=rceps(x)

    倒谱分析的意义

    对于高速大型旋转机械,其旋转状况是复杂的,尤其当设备出现不对中,轴承或齿轮的缺陷、油膜涡动、磨擦、质量不对称等现象时,则振动更为复杂,用一般频谱分析方法已经难于辩识(识别反映缺陷的频率分量),而用倒频谱,则会增强识别能力。

    齿轮箱的振动是一种复杂的振动,如齿轮箱中轴的转速为f1 ,轴上齿轮的齿数z ,齿轮箱的振动一定包含有f1,啮合频率z *f1

    及其它们各阶谐振。

    频率z*f1的等幅振动在旋转一周期间因轴的振动f1而使振幅有变化,即振幅被调制。因此,在齿轮箱振动谱图上除在频率z*f1处有谱线外,还在(z-1)f1和(z+1)f1处有谱线。考虑被f1的高次谐波调制则出现zf1的边频簇。

    a4c26d1e5885305701be709a3d33442f.png

    如果谱值用对数刻度则该曲线更近似周期波,其“周期”为f1。“周期”为f1的成分在齿轮故障诊断中叫故障函数,与齿轮故障有关需要识别出来。

    一般齿轮箱中部有很多齿轮和转轴、因而有很不同的转轴速度和啮合频率。它们之间的相互调制使得率谱图中包含很多大小和周期都不同的周期成分,在功率谱图混在一起很难分离。

    如果对具有边带信号的功率谱本身再作一次谱分析,则能把边带信号分离出来。因为功率谱图中的周期分量在第二次谱分析的谱图中是离散线段,其高度就反映原功率谱中周期分量的大小。这就是倒频谱分析。

    a4c26d1e5885305701be709a3d33442f.png

    另外,倒谱分析在输入特性与系统特性的分离上也有用途。

    实例

    装在燃气轮机与发电机之间的大型齿轮箱,齿轮箱的输入轴转速85s-1,输出轴转速50s-1,如图分别表示齿轮箱修理前、后的振动速度功率谱。因中A,B,C三个尖峰对应的是齿轮啮合频率、二次谐波、三次谐波。修理前后的功率谱有一定差别,但是边带无法识别。

    a4c26d1e5885305701be709a3d33442f.png

    下图分别表示修理前、后的振动速度倒频谱。上图表示边带簇倒频率在11.8ms (85Hz与输入轴转频相同) 处十分明显,说明a

    图中的边带,主要是由输入轴的回转误差调制形成的。修理后,11.8ms的分量已大大减小,表明输入轴运转状态已大为改善。

    a4c26d1e5885305701be709a3d33442f.png

    仿真

    做一个自己想的简单仿真吧,这是一个被5Hz倍频调制的100Hz信号,

    a4c26d1e5885305701be709a3d33442f.png

    其频谱如下

    a4c26d1e5885305701be709a3d33442f.png

    倒频谱分析如下

    a4c26d1e5885305701be709a3d33442f.png

    可以发现在t=0.2s处有一个小峰值,对应的就是5Hz,即为那个调制频率。

    代码如下

    clc

    clear all

    close all

    ts = 0.001;

    Fs = 1/ts;

    t = 0:ts:1;

    L = length(t);

    f0 = 100;

    fm = 5;

    A = 1;

    % 原始信号

    y =

    A*(1+cos(2*pi*fm*t)+cos(2*pi*2*fm*t)+cos(2*pi*3*fm*t)+cos(2*pi*4*fm*t)+cos(2*pi*5*fm*t)).*sin(2*pi*f0*t);

    figure

    plot(t, y)

    % 频谱

    NFFT = 2^nextpow2(L);

    Y = fft(y,NFFT)/L;

    f = Fs/2*linspace(0,1,NFFT/2+1);

    figure

    plot(f,2*abs(Y(1:NFFT/2+1)))

    % 倒频谱

    c = rceps(y);

    figure

    plot(t,c)

    展开全文
  • 这个 MATLAB 练习比较和对比了计算信号复倒频谱的三种方法,该信号的 z 变换由极半径小于 1 的单极系统(即单位圆内的实根)组成。 计算这个最小相位信号的复倒谱的三种计算方法是解析法、最小相位信号的递归法和...
  • 频谱、功率谱、倒频谱

    万次阅读 多人点赞 2018-10-06 20:24:59
    一、频谱: 时间作为参照来观察动态世界的方法我们称其为时域分析,如果另一种方法来观察世界的话,你会发现世界是永恒不变的,这个 静止的世界叫做频域(讲的很好!) 最直接的是求它的傅里叶变换 可参考: ...
  • 其中,倒谱距离包括对数频谱距离、倒谱距离和MFCC倒谱距离。程序每一部分都有对应的程序,只要编译就可以查看图形。其中还简单分析了造成处理性能差异的原因,并提供了后续解决的思路。以及对每个参数都阐明了其基本...
  • 此 MATLAB 练习比较和对比了用于计算两个有限持续时间序列的复倒频谱的三种算法。 这三种方法是解析法(使用MATLAB函数roots求根),使用MATLAB信号处理工具箱函数cceps的常规倒谱计算,以及基于计算复数对数傅里叶...
  • 非线性信号的处理方法,可以用来分析地震信号冲击响应与原来地震子波的卷积。
  • 该函数用于语音信号特征提取,详细用法以及参数设置都有说明,仅供学习参考。函数作者为 Kamil Wojcicki ,使用时必须保持作者备注的信息。
  • python实现时频谱,语谱图,mel语谱倒谱等 可以和理论相结合学习:https://blog.csdn.net/qq_36002089/article/details/108378796 语音信号是一个非平稳的时变信号,但语音信号是由声门的激励脉冲通过声道形成的,...
  • 这样的曲线可以跟踪倒频谱的变化,特别是在有声区域,在该区域中,我们根据语音信号的逐帧分析检测音高周期的变化。 该程序还可用于提供一种“调试模式”,以在帧上显示信号,其对数幅度谱以及语音帧的实际倒谱,并...
  • ​ ​ 最近读论文涉及到mel-spectrogram,虽然之前视听觉处理课上也有提到过,但发现我并...​ 通过这篇文章,我对此有了一定的了解,在此记录:STFT和声谱图,梅尔频谱(Mel Bank Features)与梅尔倒谱(MFCCs) ...
  • 倒谱的本质理解

    2021-11-04 09:17:30
    在实倒谱域,只取其模值,忽略了相位信息,实际上FFT频谱就是信号无相位信息的一种表达。对其再取ln,是将一些难以剔除的乘性噪声变为容易剔除的加性噪声(同态处理)。 噪声分为加性与乘性噪声: 加性类噪声的...
  • 此 MATLAB 练习显示了低频率倒谱提升对语音信号的 lig 幅度谱的频谱平滑效果。 这是通过首先计算窗口加权语音帧的实倒谱,并将得到的对数幅度谱保存为基线(未平滑)语音谱来完成的。 然后使用低频率提升器来有效地...
  • 倒谱

    万次阅读 多人点赞 2016-09-24 23:50:42
    1. 什么是倒谱倒谱(cepstrum):一种信号的傅里叶变换谱经过对数运算后再进行傅里叶反变换。由于一般傅里叶谱是复数谱,因而又称复倒谱。 2. 倒频谱的数学描述 倒频谱函数CF(q)(power cepstrum)其数学...
  • 使用LSD,即对数倒谱距离(Log_Spectral_Distance)来评判重构出来信号与原始信号之间的差异。
  • 【特征提取】基于一帧数据倒谱法、LPC内插法、LPC求根法实现语音共振峰提取含matlab源码.zip,【特征提取】基于一帧数据倒谱法、LPC内插法、LPC求根法实现语音共振峰提取含matlab源码,pr9_3_2.m,snn27.wav,运行结果3....
  • MFCC特征提取过程: 1)先对语音进行预加重、分帧和加窗: 2)对每一个短时分析窗,通过FFT得到对应的频谱; 3)将上面的频谱通过Mel滤波器组得到Mel频谱; 4)在Mel频谱上面进行倒谱分析
  • MFCC特征提取过程: 1)先对语音进行预加重、分帧和加窗: 2)对每一个短时分析窗,通过FFT得到对应的频谱; 3)将上面的频谱通过Mel滤波器组得到Mel频谱; 4)在Mel频谱上面进行倒谱分析

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,594
精华内容 637
关键字:

倒谱频谱