我有一个java应用程序。我想在它上面实现一个语音识别功能。
像这样:
假设我有一些被用户称为“嘿”,“一”,“二”,“茶”的记录。当他/她说“嘿”时,语音识别api应该识别记录的第一个输入。“嘿", "one", "two, "tea" 可以是非英语单词。
我已经在寻找一些支持语音识别或具有音频指纹算法的 api。但我不想使用它们。
让我解释一下为什么我不使用这些 api。首先,语音识别api尝试理解单词并转换为文本。但是,这仅限于 api 支持的语言。即使语音识别 api 支持英语。由于用户的发音不好,它可能会给出不好的结果。所以我不想在我的应用程序上使用语音识别 api。因为该功能不应该基于语言。
此外,当我寻找语音识别api时,我找到了“音频指纹”api。我使用了开源的“ musicg ”api。然后,我开发了一个测试应用程序。该应用程序记录了 4 个不同的音频文件,其中包含 unword 语音。之后,我录制了一个与其中一个相似的声音,并且测试 api 使用 musicg api 将最后一个与以前的音频文件进行了比较。然而结果也很糟糕。
正如我之前提到的,我需要一个语音识别功能,就像旧手机一样。