1. 短时傅里叶变换:X = librosa.stft(x)

    """
    参数:y:音频时间序列n_fft:FFT窗口大小,n_fft=hop_length+overlappinghop_length:帧移。spectrum = np.abs(librosa.stft(frame, n_fft=self.nfft)),未指定hop_length时,则默认win_length / 4spectrum = np.abs(librosa.stft(frame, n_fft=self.nfft, hop_length=len(frame)))时,如果帧移长度小于傅里叶变换点数,librosa.stft输出为hop_length+1spectrum = np.abs(librosa.stft(frame, n_fft=self.nfft, hop_length=self.nfft))时,无论win_length设置为帧长还是nfft,librosa.stft输出都只有一帧。最后得出结论librosa.stft的输出帧数为speech_length // hop_length + 1win_length:每一帧音频都由window()加窗。窗长win_length,然后用零填充以匹配n_fft。默认win_length=n_fft。window:字符串,元组,数字,函数 shape =(n_fft, )窗口(字符串,元组或数字)窗函数,例如scipy.signal.hanning长度为n_fft的向量或数组center:bool如果为True,则填充信号y,以使帧 D [:, t]以y [t * hop_length]为中心如果为False,则D [:, t]从y [t * hop_length]开始dtype:D的复数值类型。默认值为64-bit complex复数pad_mode:如果center = True,则在信号的边缘使用填充模式。默认情况下,STFT使用reflection padding
    返回:一个复数矩阵使得D(f,t) STFT矩阵 shape =(1 + nfft/2,t)其中:n_fft/2是因为实数FFT信号具有对称性,我们只需要去一般的数据分析即可,全部返回有数据冗余。                n_frames: n_frames = (speech_len) // hop_len + 1。具体可以画图,信号处理之前首先需要padding, padding之后分帧,画图可以看到,真正与帧数有关系的,是hop_len。
    """
  2. 逆傅里叶变换 Y = librosa.istft(result):
    """
    参数:stft_matrix:经过STFT之后的矩阵hop_length:帧移,默认为winlength4win_length:窗长,默认为n_fftwindow:字符串,元组,数字,函数或shape = (n_fft, )窗口(字符串,元组或数字)窗函数,例如scipy.signal.hanning长度为n_fft的向量或数组center:bool如果为True,则假定D具有居中的帧如果False,则假定D具有左对齐的帧length:如果提供,则输出y为零填充或剪裁为精确长度音频
    返回:y:时域信号
    """
  3. 获取瞬时频率 frequencies, D = librosa.ifgram(y, sr=sr)
    """
    参数为:norm:STFT归一化ref_power:最小化阈值估计瞬时频率
    返回值:if_gram:瞬时频率D:短时傅里叶变化
    """
  4. 音乐中常用的CQT算法 CQT  =  librosa.amplitude_to_db(librosa.cqt(y, sr = 16000 ), ref = np. max )
    """
    参数为:fmin:最小频率  n_bins:从最小频率开始,频率窗的数bins_per_octave:每倍频程的bin数量tuning:调整bin
    """
  5. 快速梅林变化:odf_ac_scale = librosa.fmt(librosa.util.normalize(odf_ac), n_fmt=512)
    """
    参数:y: np.ndarray, real-valued。输入信号,可以是多维的。目标轴必须至少包含3个样本。t_min: float > 0最小时间间隔(以样本为单位)。该值通常应小于1,以尽可能多地保留信息。n_fmt: int > 2 or None要使用的缩放变换bin数。如果为None, 则n_bins = over_sample * ceil(n * log((n-1)/t_min)) 其中 n = y.shape[axis]kind: str重新采样输入时要使用的插值类型。看scipy.interpolate.interp1d或许可选值请注意,默认值是使用high-precision(立方)插值。这在实践中可能很慢;如果速度优先于精度,那么考虑使用kind='linear'。beta: float梅林参数。beta=0.5提供了尺度变换。over_sample: float >= 1指数重采样的过采样因子。axis: int沿其变换y的轴
    返回:x_scale : np.ndarray [dtype=complex]y沿轴尺寸的缩放变换。
    """

librosa--学习笔记(2)(频谱特性 Spectral representations)相关推荐

  1. 论文学习笔记02(Learning phrase representations using rnn encoder-decoder for statistical machine translat)

    论文学习笔记 Learning phrase representations using rnn encoder-decoder for statistical machine translation ...

  2. IOS学习笔记58--IOS7新特性之XCODE

    Welcome to Xcode 5 这是我的WWDC2013系列笔记中的一篇,完整的笔记列表请参看这篇总览.本文仅作为个人记录使用,也欢迎在许可协议范围内转载或使用,但是还烦请保留原文链接,谢谢您的 ...

  3. Python学习笔记:高级特性

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

  4. linux shell命令分布执行,Linux学习笔记:bash特性之多命令执行,shell脚本

    今天我们学习了bash特性多命令执行包括各个命令之间的逻辑关系.其中包含"与""或""非"命令的执行.下面即为我们所学习的这些逻辑命令关系之 ...

  5. 学习笔记20230508--es6新特性 打散数组和解构赋值 (应用层面)

    在今天学习的过程中,对es6的新特性 打散数组和解构赋值有了全新的认识,现学习分享如下- 欢迎各位大神们指教纠错

  6. 事务管理学习笔记:事务特性与常见并发异常

    事务管理笔记 什么是事务? 事务是由N步数据库操作序列组成的逻辑执行单元,这系列操作要么全执行,要么全不执行. 事务特性 原子性:事务是应用中不可再分的最下执行体 一致性:事务的执行结果,必须数据从一 ...

  7. 【温故知新】CSS学习笔记(三大特性)

    CSS三大特性简介 CSS(层叠样式表)三大特性:层叠性.继承性.优先级. 一.CSS层叠性 所谓的层叠性是指多种CSS样式的叠加.是浏览器处理冲突的一个能力,如果一个属性通过两个相同选择器设置到同一 ...

  8. 廖雪峰python学习笔记之高级特性

    写在前面 寒假时本科舍友的一句话点醒梦中人-你的python基础还没弄明白吧!猛地一想好像确实如此,还停留在随插随用的程度,并且对于迭代器,函数式编程等等,没有深刻理解,所以项目做起来也是空中楼阁,所 ...

  9. CAD学习笔记基础课【特性】

    基础课-特性 一.特性 1.颜色 2.线宽 3.线型 二.特性匹配 一.特性 1.颜色 通常选择ByLayer[随层] 2.线宽 通常选择ByLayer[随层] 3.线型 1.常用的线型:①实线[co ...

最新文章

  1. [CF1442 D] Sum(分治优化dp + 结论)
  2. sata修改为ahci后系统无法启动_固态重装系统
  3. python excel centos_centos中使用python遇到的几个问题
  4. 宽度学习(Broad Learning System)
  5. String类的intern方法学习
  6. 生命是一个无解的谜——《我喜欢生命本来的样子》读后感作文2100字
  7. Motorola(二)
  8. 【看表情包学Linux】缓冲区的概念 | Git 三板斧 | 实现简易进度条
  9. matplotlib 绘图 中文乱码 0.5
  10. DM单机包含集群搭建
  11. React 环境搭建以及创建项目工程(二)
  12. IBDP tok课程是什么课?怎么拿高分?
  13. AL32UTF8/UTF8(Unicode)数据库字符集含义 (文档 ID 1946289.1)
  14. 艾伟也谈项目管理,工作感言:任务分配及管理
  15. 智能家居DIY之智能插座
  16. Increase and Decrease--codeForces 246B
  17. 什么是QPS、TPS
  18. 周期性行业是什么意思_什么是周期性行业及周期性股票
  19. 软件项目管理思维导图
  20. Web病毒处理过程实录

热门文章

  1. 戴尔外星人电脑(双系统win10+ubuntu16.04)安装过程总结
  2. 怎么将歌曲的一部分截取设置为手机铃声
  3. 面试的HR找现公司打听,导致我被开除...
  4. 官方论文还没出,刷爆AI圈的DALL·E刚发布就被复现?两天800 star!
  5. 2019年聊城计算机学校开学,2019年聊城中小学及高中暑假时间公布了
  6. http-proxy 代理跨域
  7. F1V3.0-图形-地图模块主要对象说明
  8. 随笔:金融的“游戏”规则——游戏世界的区块链喵与现实世界的金融科技
  9. 浪潮服务器环境证书,7-浪潮在线集中存储产品培训认证V4.0.pptx
  10. linux14如何入u盘,如何使用U盘安装Ubuntu 14.04