这个项目能做什么

audioFlux是一个开源库,用于音频和音乐分析与特征提取,以C语言实现并提供Python绑定。它围绕数据流架构设计,解耦算法模块,以便快速高效地提取多维特征。该项目面向音频领域的深度学习工作流,包括分类、源分离、音乐信息检索(MIR)和自动语音识别(ASR)。 该库分为三个主要模块:transform、feature和mir。 transform模块提供时频表示。BFT(基于傅里叶变换,类似于STFT)、NSGT(非平稳Gabor变换)、CWT(连续小波变换)和PWT(伪小波变换)支持多种频率尺度类型:线性、linspace、Mel、Bark、Erb、Octave和Log。其他变换作为独立方法提供:CQT(常数Q变换)、VQT(可变Q变换)、ST(S变换/Stockwell变换)、FST(快速S变换)、DWT(离散小波变换)、WPT(小波包变换)和SWT(平稳小波变换)。还包括同步压缩和重分配技术:用于STFT的reassign、使用CWT数据的synsq,以及用于CWT的wsst。 feature模块包括频谱特征(支持所有频谱类型)、倒谱系数(xxcc)、频谱反卷积,以及色度特征(支持CQT频谱和基于BFT的线性/八度频谱)。 mir模块涵盖音高估计(YIN、STFT等)、起始点检测(频谱通量、新颖性等),以及谐波-打击乐源分离(中值滤波和NMF)。 最近的版本增加了一系列音高算法(YIN、CEP、PEF、NCF、HPS、LHS、STFT、FFP)、PitchShift和TimeStretch算法,以及一个用于乐器调音器的TuneTrack算法,覆盖吉他、尤克里里、贝斯、班卓琴、曼陀林和小提琴。 可通过PyPI(`pip install audioflux`)或Anaconda安装,要求Python 3.6或更高版本。该库跨平台,支持Linux、macOS、Windows、iOS和Android,并提供针对iOS、Android和从源码构建的单独构建说明。文档和示例脚本在线托管,涵盖Mel和MFCC、CWT和同步压缩、CQT和色度、不同小波类型、频谱特征、音高估计、起始点检测和谐波-打击乐源分离。基准测试模块提供性能测量,项目以MIT许可证发布。