如何在Android上使用pocketsphinx添加音素识别

时间:2014-11-28 14:10:46

标签: java android speech-recognition pocketsphinx

我正在开展一个关于Cued Speech的项目(它是与聋人或听力障碍者一起使用的视觉通信系统)。它是一个基于音素的系统,通过在嘴巴附近的不同位置(代表元音)使用少量的手势(称为辅音)来表示传统口语,作为语音阅读的补充。

我已经按照关于音素识别(pocketsphinx_continuous)的教程,android上的pocketsphinx以及它正在工作。 我现在在Android上工作,但这个项目的最终目标是让它在Google Glass上运行。 最好的情况是在设备上写下语音(更接近实时)和3D中的化身,它将根据识别的音素重现正确的手部配置和嘴唇移动。 (这就是为什么我需要使用音素而不是自己这个词)

我看过http://cmusphinx.sourceforge.net/wiki/phonemerecognition,但我对如何创建自己的"文件感到很困惑。法语音素使其适用于Android。

步骤是什么?我应该创建什么样的文件?

换句话说,是否有可能在Android上通过语音输入获得带有音素的pocketsphinx_continuous的相同结果?

我希望你能引导我!

纪尧姆

1 个答案:

答案 0 :(得分:2)

最新的pocketsphinx演示包括通过“手机”搜索激活的语音识别模式,详见来源:

https://github.com/cmusphinx/pocketsphinx-android-demo

要与法语一起使用,您需要使用法语声学模型进行更新:

http://sourceforge.net/projects/cmusphinx/files/Acoustic%20and%20Language%20Models/French%20F0%20Broadcast%20News%20Acoustic%20Model/lium_french_f0.tar.gz/download

使用法语语音模型:

http://sourceforge.net/projects/cmusphinx/files/Acoustic%20and%20Language%20Models/French%20Language%20Model/fr-phone.lm.dmp/download

像这样:

    recognizer = defaultSetup()
            .setAcousticModel(new File(modelsDir, "hmm/french");
            .setBoolean("-allphone_ci", true)
            .getRecognizer();
    // Phonetic search
    File phoneticModel = new File(modelsDir, "phone/fr-phone.lm.dmp");
    recognizer.addAllphoneSearch(PHONE_SEARCH, phoneticModel);

我怀疑它在Glass上运行良好,但它似乎不是非常强大的设备。