问题标签 [mfcc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1195 浏览

java - 用于计算 mfcc 向量的库

嗨,我正在为 android 编写一个小型应用程序,需要计算 mfcc 向量的库。有没有这样的图书馆?最好是输入一个字节数组,并作为回报接收已经标准的 13 个向量。只是我发现的所有库都有一个奇怪的东西,对于我作为这个领域的新手来说,还不清楚。

请不要关闭问题,你能有你的成就并且你愿意分享它们)

忘记指定它必须用Java编写。

0 投票
1 回答
1393 浏览

java - 如何使用 Sphinx 从波形文件中获取 MEL 系数

我需要一个基于 java 的特征提取库并找到了 Sphinx,但不知道如何使用。基本上,我需要将 wav 文件转换为 MEL 系数。一旦我在 Matlab 中完成了该操作,但由于我对 Java 不太熟悉,我无法掌握如何使用他们的代码并提取特征。

顺便说一句,如果您有机会知道另一个能够快速做到这一点的开源库,那将非常有帮助。

更新:因为我打算在 Android 上使用它,我发现使用 PocketSphinx 可能是一个更好的主意。(我尝试下载他们的演示应用程序,但它没有在我的设备(Nexus 5)上运行,它试图打开一个活动但立即关闭。)我也遵循了这些步骤,但还没有收获。

如果有人可以帮助我弄清楚如何设置它,那就太好了。我需要知道:1- 应该使用哪些模块,2- 如何将库用于我自己的项目?3- 如何设置库:应该使用哪些函数以及如何使用。

提前致谢。

是否有使用分步指南

0 投票
1 回答
589 浏览

c - 第一个MFCC系数出现错误,不可靠

我正在使用这个库https://code.google.com/p/libmfcc/从幅度平方功率谱生成 MFCC 系数。

但是,据我了解,第一个系数应该代表整体能量。我的结果并非如此。这让我怀疑整个功能集。

F0:-3.77,F1:-2.78,F2:2.13,F3:4.47,F4:2.76,F5:-0.00,F6:-0.58,F7:0.76,F8:1.49,F9:0.62,F10:-0.44,F11 :-0.26,F12:0.58

  • 这些是应用升降机之前的原始 MFCC 功能。

我想要这个系数的唯一原因是帮助消除我项目中的问题。- 我传入一个 256 个实数长的幅度功率谱(最初为 512 FFT),采样频率为 16000hz。我很确定 FFT 是正确的,因为我已经进行了测试以检查生成的频率。

我正在尝试使用这些功能来执行说话人识别,但目前我不断收到误报。我已经尝试将生成的特征与神经网络、矢量量化以及简单的蛮力欧几里得和斯皮尔曼的比较一起使用。我所做的一切似乎都无法消除声音之间系数的唯一性。以误报告终。

我已经坚持了几个月了,我觉得这是我的功能的错。任何帮助将不胜感激!

0 投票
1 回答
4129 浏览

java - 如何在 Java 中提取 MFCC 特征

我正在将语音识别项目从MATLAB转换为Java代码。我已经能够使用此处提供的 java 示例读取.wav文件(作为-1 到 1范围内的值的向量) 。这与MATLAB中的 wavread 函数完全一样。

我的下一个任务是从原始样本向量中提取MFCC特征向量。在MATLAB中,我使用Voicebox轻松实现了这一点,但一直无法找到Java等价物。使用 Voicebox,我有如下代码:

其中每行“样本”包含代表每个 .wav 样本的向量。该方法返回每个样本的MFCC特征的二维矩阵。

我见过Sphinx,但一直无法理解如何使用它来完成这项任务。任何有关使用Sphinx或任何其他java解决方案的帮助将不胜感激。

0 投票
0 回答
122 浏览

android - 使用哪种传感器进行周围检测?

我想通过在表面上振动手机几秒钟(比如 3 秒)并使用一些机器学习功能来检测我的 android 手机所在的表面。哪种传感器最适合记录数据,为什么?我尝试使用麦克风录制振动声音并在其上应用 MFCC 功能,但效果不佳。

0 投票
0 回答
222 浏览

audio - 使用 MFCC 和 DTW 进行广告检测

我正在做一个项目,通过使用广告的剪辑片段(口号)检测传输中的广告,基于如下查看音轨:
音频信号->帧->窗口-> FFT(快速傅立叶变换)- -> DCT(离散余弦变换)-> MFCC(梅尔频率倒谱系数)-> DTW(动态时间规整)。为此,我使用 MFCC作为音频功能,DTW(动态时间扭曲)用于比较音频帧和帧之间的欧几里德距离的平均值,以计算扭曲距离。然后翘曲距离除以要计算的总帧数MSE(均方误差),根据阈值 1 检查。

我的算法无法检测来自嘈杂传输的广告和相同标语的不同广告。我是否对这种类型的音频检测使用了正确的方法?还有其他更合适的方法吗?如果需要,你能建议我任何好的信号预过滤吗?

0 投票
2 回答
2934 浏览

speech-recognition - 如何比较两个 MFCC 特征向量或两个语音话语的 MFCC 特征向量之间的相似度

我已经提取了两个话语的 13 个 MFCC 特征。第一个话语的特征集大小为 11*13,其他为 18*13。那么,如何比较两个特征集来找出这两个词的相似度呢?

如果有人知道,我没有使用任何分类器,标准工具遵循哪种算法来比较 MFCC 特征向量。请建议我,以便我可以实施它。

0 投票
1 回答
82 浏览

c++ - 如何优化 N 个滤波器组向量?

我有 40 个三角形梅尔间隔滤波器组向量,每个向量有 257 个元素。

我想将它们与我的功率谱(使用 20 毫秒音频帧的 FFT 生成)结果相乘,然后将结果相加,这样我就可以获得梅尔间隔功率谱。

但问题是有 257 值,其中大多数值为零,这有点矫枉过正。简单地说,我只能存储非零元素而不是整个 257 值,但我认为有一种更聪明的方法可以应用多个滤波器组,可能使用矩阵乘法。我的推理正确吗?如果是,它是如何完成的?

0 投票
1 回答
2168 浏览

matlab - MATLAB Murphy 的 HMM 工具箱

我正在尝试学习 HMM GMM 实现并创建了一个简单的模型来检测某些声音(动物叫声等)

我正在尝试在 MATLAB 中使用 GMM(高斯混合)训练 HMM(隐马尔可夫模型)网络。

我有几个问题,我找不到任何信息。

1)应该mhmm_em()为每个 HMM 状态循环调用函数还是自动完成?

如:

2)

最后一个Parameter,应该是高斯数还是number_of_states-1?

3)如果我们正在寻找最大似然,那么维特比在哪里发挥作用?

假设我想在使用我提取的声学特征向量训练我的模型后检测某种类型的动物/人类呼叫,我是否还需要在测试模式下使用 Viterbi 算法?

这让我有点困惑,我非常感谢对此部分的解释。

对于 HMM GMM 逻辑方面的代码的任何评论也将不胜感激。

谢谢

这是我的 MATLAB 例程;

0 投票
1 回答
33845 浏览

python - 如何在python中绘制多维数据点

先说一些背景:

我想绘制各种歌曲的梅尔频率倒谱系数并进行比较。我计算了一首歌曲的 MFCC,然后将它们平均得到一个包含 13 个系数的数组。我希望这代表我绘制的图表上的一个点。

我是 Python 新手,对任何形式的绘图都很陌生(尽管我已经看到了一些使用 matplotlib 的建议)。

我希望能够可视化这些数据。关于我如何去做这件事的任何想法?