最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

librosa

互联网 admin 8浏览 0评论

librosa

  1. 加载音频librosa.load(path, sr=22050, mono=True, offset=0.0, duration=None)   #可以是WAV、Mp3等:
    """参数:path :音频文件的路径。sr:采样率,是每秒传输的音频样本数,以Hz或kHz为单位。默认采样率为22050Hz(sr缺省或sr=None),高于该采样率的音频文件会被下采样,低于该采样率的文件会被上采样。以44.1KHz重新采样:librosa.load(audio_path, sr=44100)禁用重新采样(使用音频自身的采样率):librosa.load(audio_path, sr=None)mono :bool值,表示是否将信号转换为单声道。mono=True为单声道,mono=False为stereo立体声            offset :float,在此时间之后开始阅读(以秒为单位)duration:持续时间,float,仅加载这么多的音频(以秒为单位)dtype:返回的音频信号值的格式,似乎只有float和float32res_type:重采样的格式返回:y:音频时间序列,类型为numpy.ndarraysr:音频的采样率,如果参数没有设置返回的是原始采样率"""
  2. 使用IPython.display.Audio 直接在jupyter笔记本中播放音频:

    import IPython.display as ipd
    ipd.Audio(path)
  3. 重采样:librosa.resample(y, sr, 16000, fix=True, scale=False):

    """
    参数:y:音频时间序列。可以是单声道或立体声。orig_sr:y的原始采样率target_sr:目标采样率fix:bool,调整重采样信号的长度。scale:bool,缩放重新采样的信号,以使y和y_hat具有大约相等的总能量。
    返回:y_hat :重采样之后的音频数组
    """
  4. 计算时间序列的的持续时间(以秒为单位):librosa.get_duration(y=y, sr=22050, S=None, n_fft=2048, hop_length=512, center=True, filename=None) :

    """
    参数:y:音频时间序列sr:y的音频采样率S:STFT矩阵或任何STFT衍生的矩阵(例如,色谱图或梅尔频谱图)。根据频谱图输入计算的持续时间仅在达到帧分辨率之前才是准确的。如果需要高精度,则最好直接使用音频时间序列。n_fft:S的FFT窗口大小hop_length :S列之间的音频样本数center :布尔值如果为True,则S [:, t]的中心为y [t* hop_length]如果为False,则S [:, t]从y[t * hop_length]开始filename:如果提供,则所有其他参数都将被忽略,并且持续时间是直接从音频文件中计算得出的。
    返回:d :持续时间(以秒为单位)
    """
  5. 过零率:描述声音的明亮程度,声音越明亮,过零率越高。因为声音信号是波形,所以过零率越高,表示频率越高。声音的频率高则其在单位时间内拥有更多波形周期,因此 单位时间内过零数会更多,那么过零率就更高。librosa.zero_crossings(y[n0:n1], pad=False):

    """
    参数:y:音频时间序列frame_length :帧长hop_length:帧移center:bool,如果为True,则通过填充y的边缘来使帧居中。
    返回:zcr:zcr[0,i]是第i帧中的过零率
    """
  6. 自相关(autocorrelation)也叫序列相关,可以描述一个信号与其沿时间轴位移后的版本之间的相似度:librosa.autocorrelate(y, max_size=int(k_high))  # int(k_high) = 801:
    """
    参数:y:信号值max_size:要求自相关的长度axis:沿着的维
    返回值:y关于max_size的自相关值
    """
  7. 展示波形:librosa.display.waveshow(y, sr=22050, x_axis='time', offset=0.0, ax=None):

    """
    参数:y:音频时间序列sr:y的采样率x_axis:str {‘time’,‘off’,‘none’}或None,如果为“时间”,则在x轴上给定时间刻度线。offset:水平偏移(以秒为单位)开始波形图
    音频信号每一位分别对应一个采样点,其位数等于“采样率*音频时长(以秒为单位)”,记录了每个样本上音频的振幅信息.
    """
  8. 数据标准化:sklearn.preprocessing.scale(mfccs, axis=1,with_mean=True, with_std=True)  

    """
    公式:(X-X_mean)/X_std 计算时对每个属性/每列分别进行。
    原理:得到的结果是,对每个属性/每列来说所有数据都聚集在0附近,方差值为1。
    参数:X:待处理的数组axis:表示处理哪个维度,0表示处理横向的数据(行), 1表示处理纵向的数据(列)with_mean:默认为true,表示使均值为0with_std:默认为true,表示使标准差为1
    """
  9. 抽取mfcc特征:librosa.feature.mfcc(y, sr):

    """
    参数:y:音频数据。np.ndarray [shape=(n,)] 或 Nonesr:y的采样率。number > 0 [scalar]S:对数功能梅尔谱图。np.ndarray [shape=(d, t)] or Nonen_mfcc:要返回的MFCC数量。 int > 0 [scalar]dct_type:离散余弦变换(DCT)类型。默认情况下,使用DCT类型2。None, or {1, 2, 3}norm: None or ‘ortho’ 规范。如果dct_type为2或3,则设置norm =’ortho’使用正交DCT基础。标准化不支持dct_type = 1。n_fft:返回的mfcc数据维数,默认为13维。#获得N_FFT的长度N_FFT=getNearestLen(0.25,sr);print(“N_FFT:” , N_FFT)hop_length:帧移lifter: 如果 lifter>0, 提升倒谱滤波。设置lifter >= 2 * n_mfcc强调高阶系数。随着lifter的增加,权重系数近似为线性。kwargs: 额外的关键参数。参数melspectrogram,如果按时间序列输入操作
    返回:M:np.ndarray [shape=(n_mfcc, t)] 。 MFCC序列
    """

librosa

  1. 加载音频librosa.load(path, sr=22050, mono=True, offset=0.0, duration=None)   #可以是WAV、Mp3等:
    """参数:path :音频文件的路径。sr:采样率,是每秒传输的音频样本数,以Hz或kHz为单位。默认采样率为22050Hz(sr缺省或sr=None),高于该采样率的音频文件会被下采样,低于该采样率的文件会被上采样。以44.1KHz重新采样:librosa.load(audio_path, sr=44100)禁用重新采样(使用音频自身的采样率):librosa.load(audio_path, sr=None)mono :bool值,表示是否将信号转换为单声道。mono=True为单声道,mono=False为stereo立体声            offset :float,在此时间之后开始阅读(以秒为单位)duration:持续时间,float,仅加载这么多的音频(以秒为单位)dtype:返回的音频信号值的格式,似乎只有float和float32res_type:重采样的格式返回:y:音频时间序列,类型为numpy.ndarraysr:音频的采样率,如果参数没有设置返回的是原始采样率"""
  2. 使用IPython.display.Audio 直接在jupyter笔记本中播放音频:

    import IPython.display as ipd
    ipd.Audio(path)
  3. 重采样:librosa.resample(y, sr, 16000, fix=True, scale=False):

    """
    参数:y:音频时间序列。可以是单声道或立体声。orig_sr:y的原始采样率target_sr:目标采样率fix:bool,调整重采样信号的长度。scale:bool,缩放重新采样的信号,以使y和y_hat具有大约相等的总能量。
    返回:y_hat :重采样之后的音频数组
    """
  4. 计算时间序列的的持续时间(以秒为单位):librosa.get_duration(y=y, sr=22050, S=None, n_fft=2048, hop_length=512, center=True, filename=None) :

    """
    参数:y:音频时间序列sr:y的音频采样率S:STFT矩阵或任何STFT衍生的矩阵(例如,色谱图或梅尔频谱图)。根据频谱图输入计算的持续时间仅在达到帧分辨率之前才是准确的。如果需要高精度,则最好直接使用音频时间序列。n_fft:S的FFT窗口大小hop_length :S列之间的音频样本数center :布尔值如果为True,则S [:, t]的中心为y [t* hop_length]如果为False,则S [:, t]从y[t * hop_length]开始filename:如果提供,则所有其他参数都将被忽略,并且持续时间是直接从音频文件中计算得出的。
    返回:d :持续时间(以秒为单位)
    """
  5. 过零率:描述声音的明亮程度,声音越明亮,过零率越高。因为声音信号是波形,所以过零率越高,表示频率越高。声音的频率高则其在单位时间内拥有更多波形周期,因此 单位时间内过零数会更多,那么过零率就更高。librosa.zero_crossings(y[n0:n1], pad=False):

    """
    参数:y:音频时间序列frame_length :帧长hop_length:帧移center:bool,如果为True,则通过填充y的边缘来使帧居中。
    返回:zcr:zcr[0,i]是第i帧中的过零率
    """
  6. 自相关(autocorrelation)也叫序列相关,可以描述一个信号与其沿时间轴位移后的版本之间的相似度:librosa.autocorrelate(y, max_size=int(k_high))  # int(k_high) = 801:
    """
    参数:y:信号值max_size:要求自相关的长度axis:沿着的维
    返回值:y关于max_size的自相关值
    """
  7. 展示波形:librosa.display.waveshow(y, sr=22050, x_axis='time', offset=0.0, ax=None):

    """
    参数:y:音频时间序列sr:y的采样率x_axis:str {‘time’,‘off’,‘none’}或None,如果为“时间”,则在x轴上给定时间刻度线。offset:水平偏移(以秒为单位)开始波形图
    音频信号每一位分别对应一个采样点,其位数等于“采样率*音频时长(以秒为单位)”,记录了每个样本上音频的振幅信息.
    """
  8. 数据标准化:sklearn.preprocessing.scale(mfccs, axis=1,with_mean=True, with_std=True)  

    """
    公式:(X-X_mean)/X_std 计算时对每个属性/每列分别进行。
    原理:得到的结果是,对每个属性/每列来说所有数据都聚集在0附近,方差值为1。
    参数:X:待处理的数组axis:表示处理哪个维度,0表示处理横向的数据(行), 1表示处理纵向的数据(列)with_mean:默认为true,表示使均值为0with_std:默认为true,表示使标准差为1
    """
  9. 抽取mfcc特征:librosa.feature.mfcc(y, sr):

    """
    参数:y:音频数据。np.ndarray [shape=(n,)] 或 Nonesr:y的采样率。number > 0 [scalar]S:对数功能梅尔谱图。np.ndarray [shape=(d, t)] or Nonen_mfcc:要返回的MFCC数量。 int > 0 [scalar]dct_type:离散余弦变换(DCT)类型。默认情况下,使用DCT类型2。None, or {1, 2, 3}norm: None or ‘ortho’ 规范。如果dct_type为2或3,则设置norm =’ortho’使用正交DCT基础。标准化不支持dct_type = 1。n_fft:返回的mfcc数据维数,默认为13维。#获得N_FFT的长度N_FFT=getNearestLen(0.25,sr);print(“N_FFT:” , N_FFT)hop_length:帧移lifter: 如果 lifter>0, 提升倒谱滤波。设置lifter >= 2 * n_mfcc强调高阶系数。随着lifter的增加,权重系数近似为线性。kwargs: 额外的关键参数。参数melspectrogram,如果按时间序列输入操作
    返回:M:np.ndarray [shape=(n_mfcc, t)] 。 MFCC序列
    """

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论