我需要一个基于 java 的特征提取库并找到了 Sphinx,但不知道如何使用。 基本上,我需要将一个 wav 文件转换为 MEL 系数。 一旦我在 Matlab 中做到了这一点,但由于我对 Java 不太熟悉,我无法掌握如何使用他们的代码并提取特征。
顺便说一下,如果您有机会知道另一个能够快速做到这一点的开源库,那将会非常有帮助。
更新: 因为我打算在 Android 上使用它,所以我发现为此使用 PocketSphinx 可能是一个更好的主意。 (我尝试下载他们的 demo app,但它没有在我的设备(Nexus 5)上运行,它试图打开一个 Activity 但立即关闭。)我也关注了 these steps , 但还没有收获。
如果有人能帮我弄清楚如何设置它,那就太好了。 我需要知道: 1- 应该使用哪些模块, 2- 我如何将图书馆用于我自己的项目? 3- 如何设置库:应该使用哪些函数以及如何使用。
提前致谢。
有没有一步一步的使用指南
最佳答案
当然,可以使用 sphinx4 计算 MFCC 特征。但不会说它会很快。 sphinx4 中有一个前端 的概念,负责处理输入数据。典型的前端看起来像这样:
<component name="liveFrontEnd" type="edu.cmu.sphinx.frontend.FrontEnd">
<propertylist name="pipeline">
<item>dataSource </item>
<item>dataBlocker </item>
<item>speechClassifier </item>
<item>speechMarker </item>
<item>nonSpeechDataFilter </item>
<item>preemphasizer </item>
<item>windower </item>
<item>fft </item>
<item>autoCepstrum </item>
<item>liveCMN </item>
<item>featureExtraction </item>
<item>featureTransform </item>
</propertylist>
</component>
前端的每个元素从前一个元素读取数据,以某种方式处理它,然后传递给下一个元素。这里 dataSource
接受原始音频输入,autoCepstrum
输出 MFCC 系数。其他一切都与语音识别器的特定设置有关。现在,如果你想使用 sphinx4 来计算 MFCC,你要么自己设置类似的前端来分别实例化和调整每个组件,要么可以编写 XML 配置并使用 ConfigurationManager 实例化前端。 .
关于java - 如何使用 Sphinx 从 wave 文件中获取 MEL 系数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23283482/