java – 语音识别Api
作者:互联网
我有一个java应用程序.我想在其上实现语音识别功能.
像这样:
假设我有一些被用户称为“嘿”,“一个”,“两个”茶的记录.当他/她说“嘿”时,语音识别api应该识别记录的第一个输入.“嘿“,”一个“,”两个,“茶”可能是英语中没有单词的东西.
我已经找了一些支持语音识别或有audiofingerprintin算法的api.但我不想使用它们.
让我解释为什么我不使用这些api.
首先,语音识别apis尝试理解单词并转换为文本.但是这仅限于api支持的语言.即使语音识别api支持英语语言.由于用户发音不好,可能会导致结果不佳.所以我不想在我的应用程序中使用语音识别API.因为该功能不应该基于语言.
此外,当我寻找语音识别API时,我发现了“音频打印”api.我使用了开源的“musicg”api.然后,我开发了一个测试应用程序.该应用程序记录4个包含unword语音的不同音频文件.之后,我录制了一个类似于其中一个的语音,测试api使用musicg api将最后一个与之前的音频文件进行了比较.然而结果也很糟糕.
正如我之前提到的,我需要获得与旧手机一样的语音识别功能.
解决方法:
检查kaldi http://kaldi-asr.org/
或者这个tensorflow教程:https://www.tensorflow.org/tutorials/audio_recognition
在这两种情况下,你都可以训练模型,它不是基于语言的.您可以为某些特定的声音或重音或某些特定背景训练模型.
此外,也许这个项目会对你有所帮助:https://github.com/cmusphinx/g2p-seq2seq
它不使用语言模型并将音频转换为音素.
标签:java,speech-recognition,voice-recognition,voice,musicg 来源: https://codeday.me/bug/20190706/1394981.html