首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何合并MFCC

如何合并MFCC
EN

Stack Overflow用户
提问于 2017-07-20 18:16:44
回答 1查看 394关注 0票数 1

我正在努力从一些音频文件中提取MFCC功能。我的程序目前已经为每个文件提取了一系列MFCC,并且有一个缓冲区大小为1024的参数。我在一份报纸上看到了以下内容:

通过计算每个特征向量元素(合并)的均值和方差,组合在音频数据每秒内提取的特征向量。

我的当前代码使用TarsosDSP提取MFCC,但我不确定如何将数据拆分为“秒的音频数据”,以便合并MFCC。

我的MFCC提取代码

代码语言:javascript
复制
int sampleRate = 44100;
int bufferSize = 1024;
int bufferOverlap = 512;
inStream = new FileInputStream(path);
AudioDispatcher dispatcher = new AudioDispatcher(new UniversalAudioInputStream(inStream, new TarsosDSPAudioFormat(sampleRate, 16, 1, true, true)), bufferSize, bufferOverlap);
final MFCC mfcc = new MFCC(bufferSize, sampleRate, 13, 40, 300, 3000);
dispatcher.addAudioProcessor(mfcc);
dispatcher.addAudioProcessor(new AudioProcessor() {
    @Override
    public void processingFinished() {
        System.out.println("DONE");
    }
    @Override
    public boolean process(AudioEvent audioEvent) {
        return true;  // breakpoint here reveals MFCC data
    }
});
dispatcher.run();

缓冲区的大小究竟是多少?它能用来将音频分割成1秒的窗口吗?是否有一种方法将一系列MFCC划分为一定的时间?

任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-02 20:33:19

经过更多的研究后,我偶然发现了网站,它清楚地展示了使用MFCC为Weka服务的步骤。它显示了一些数据文件,其中包含不同的统计信息,每个统计数据都是Weka中单独列出的属性。我相信当报纸上说

计算均值和方差

它们意味着每个MFCC系数的均值和方差被用作组合数据文件中的属性。当我按照网站上的例子合并MFCC时,我使用了max、min、range、max、min位置、均数、标准差、偏度、峰度、四分位数和四分位数区间。

要将音频输入分割成秒,我相信以输入的采样率作为参数提取MFCC的集合,所以如果我将其设置为100,我将等待100个周期来合并MFCC。如果我错了,请纠正我。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45222357

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档