audioFlux - 一个系统的音频特征提取库,可用于深度学习

查看 19|回复 0
作者:829939   
audioFlux
audioFlux 是一个 Python 和 C 实现的库,提供音频领域系统、全面、多维度的特征提取与组合,结合各种深度学习网络模型,进行音频领域的业务研发。音频特征较为全面,支持移动端,提供尽可能细粒度、体系化的特征维。
  • GitHub: https://github.com/libAudioFlux/audioFlux
  • Documentation: https://audioflux.top/

    Overview
    audioFlux 基于数据流设计。它在结构上解耦了每个算法模块,可以快速有效地提取多个维度的特征。以下是主要功能体系结构图。

    可以使用多维特征组合,选择不同的深度学习网络训练,研究音频领域的各种任务,如 Classification 、Separation 、MIR 等。

    QuickStart
    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
    Github: https://github.com/libAudioFlux/audioFlux
    欢迎探讨关于音频相关的问题
    更多实例
    https://github.com/libAudioFlux/audioFlux#other-examples
  • 您需要登录后才可以回帖 登录 | 立即注册

    返回顶部