#coefficients #calculate #frequency #mel #audio #data #cepstral

nightly mfcc

从音频数据中计算梅尔频率倒谱系数

2个不稳定版本

0.1.0 2019年5月30日
0.0.1 2019年5月24日

#666 in 科学

MIT许可

16KB
295

梅尔频率倒谱系数

在音频信号机器学习中,一个常见的预处理步骤是应用梅尔频率倒谱系数 (MFCC) 转换。它们将信号压缩到非常少的系数(每10毫秒大约16个)并解相关,以仅表达传输函数(例如,仅表达语音的共振峰,而不是音高)。这使得它们在自动语音识别 (ASR)、房间分类、说话人识别等应用中非常流行。

用法

将此添加到你的Cargo.toml

[dependencies]
mfcc = "0.1"

此库可以使用两个不同的FFT库。可以使用带有标准功能 fftrustrustfft(一个纯Rust FFT实现)或使用 fftw(一个流行的FFT库)。

[dependencies.mfcc]
version = "0.1"
default-features = false
features = ["fftextern"]

FFTW的粗略基准测试显示,它们的性能相当。

test tests::bench_mfcc ... bench:     123,959 ns/iter (+/- 22,979)

对于rustfft

test tests::bench_mfcc ... bench:     162,603 ns/iter (+/- 35,914)

工作原理

首先,您需要将音频数据分割成大约10ms-20ms的块(最大1024个样本,48kHz)。然后,您可以计算MFCC系数。

use mfcc::Transform;

let mut state = Transform::new(48000, 1024);
let mut output = vec![0.0; 16*3];

state.transform(&input, &mut output);

许可

根据您的选择,在以下许可下使用:

贡献

除非您明确说明,否则根据Apache-2.0许可定义的任何有意提交给工作并由您包含的贡献,均应按上述方式双许可,不附加任何额外条款或条件。

依赖项

~0.2–1.2MB
~23K SLoC