能否通过Swift的AudioKit API计算MFCC向量?是否计划新增该功能?
使用AudioKit计算MFCC向量的方案与现状
嘿,这个问题我刚好研究过,来给你捋捋清楚:
有没有办法用AudioKit计算MFCC?
没错,AudioKit核心库目前确实没有提供专门的MFCC计算节点,但这不代表你没法实现这个功能——你完全可以利用它提供的FFTTap来自己搭建MFCC的计算流程,或者参考社区的现有实现:
基于FFTTap手动实现:
- 先给你的音频节点(比如
AKMicrophone或者AKPlayer)添加FFTTap,获取实时的FFT频谱数据:let audioSource = AKMicrophone() let fftTap = FFTTap(audioSource) { fftData in // 在这里处理FFT输出的频谱数据 } fftTap.start() - 基于获取到的FFT数据,构建梅尔尺度的三角滤波器组(通常是20-40个),将线性频谱的能量映射到梅尔刻度上。
- 对每个梅尔滤波器的输出取对数,再执行离散余弦变换(DCT),最终得到的前12-13个系数就是你要的MFCC向量(一般会把总能量作为第0个系数)。
- 先给你的音频节点(比如
参考社区实现:
很多开发者已经在GitHub上分享了基于AudioKit的MFCC计算代码,你可以直接参考这些开源实现来节省时间,不用从头写所有的数学逻辑。
官方是否计划添加原生MFCC功能?
截至2024年,AudioKit的官方roadmap里并没有明确标注要添加原生的MFCC节点。不过如果社区对这个功能的需求足够强烈,官方团队很可能会考虑将其纳入后续版本。你也可以去AudioKit的GitHub仓库提交Feature Request,明确表达你的需求,这会帮助团队评估功能优先级。
内容的提问来源于stack exchange,提问作者macklinagent
相关产品推荐
相关产品推荐

