Python 音频分析、特征提取的开源库

查看 33|回复 1
作者:829939   
https://github.com/libAudioFlux/audioFlux
一个用于音频和音乐分析、特征提取的库,支持数十种时频分析变换方法,以及相应时域、频域数百种特征组合,可以提供给深度学习网络进行训练,用于研究音频领域的分类、分离、音乐信息检索(MIR)、ASR 等各种任务。
[ol]
  • 系统、多维度的提取特征和组合,可以灵活的用于各种任务研究分析。
  • 性能高效,核心大部分 C 实现,基于不同平台 FFT 硬件加速,方便大规模数据特征提取。
  • 支持移动端,满足移动端音频流实时计算。
    [/ol]

    快速上手
    pip install audioflux
    import numpy as np
    import audioflux as af
    import matplotlib.pyplot as plt
    from audioflux.display import fill_spec
    # Get a 220Hz's audio file path
    sample_path = af.utils.sample_path('220')
    # Read audio data and sample rate
    audio_arr, sr = af.read(sample_path)
    # Extract mel spectrogram
    spec_arr, mel_fre_band_arr = af.mel_spectrogram(audio_arr, num=128, radix2_exp=12, samplate=sr)
    spec_arr = np.abs(spec_arr)
    # Extract mfcc
    mfcc_arr, _ = af.mfcc(audio_arr, cc_num=13, mel_num=128, radix2_exp=12, samplate=sr)
    # Display
    audio_len = audio_arr.shape[0]
    # calculate x/y-coords
    x_coords = np.linspace(0, audio_len / sr, spec_arr.shape[1] + 1)
    y_coords = np.insert(mel_fre_band_arr, 0, 0)
    fig, ax = plt.subplots()
    img = fill_spec(spec_arr, axes=ax,
                    x_coords=x_coords, y_coords=y_coords,
                    x_axis='time', y_axis='log',
                    title='Mel Spectrogram')
    fig.colorbar(img, ax=ax)
    fig, ax = plt.subplots()
    img = fill_spec(mfcc_arr, axes=ax,
                    x_coords=x_coords, x_axis='time',
                    title='MFCC')
    fig.colorbar(img, ax=ax)
    plt.show()

    感兴趣的请给个 Star
    https://github.com/libAudioFlux/audioFlux
    更多实例
    https://github.com/libAudioFlux/audioFlux#other-examples

    x_coords, import, img, spec_arr

  • CMLab   
    复制了一下代码,ipython 运行,确实出效果
    您需要登录后才可以回帖 登录 | 立即注册

    返回顶部