有没有办法将音频文件发送到语音到文本识别

Posted

技术标签:

【中文标题】有没有办法将音频文件发送到语音到文本识别【英文标题】:Is there any way to send audio file to the speech-to-text recognition 【发布时间】:2011-05-10 12:26:39 【问题描述】:

我希望 android 语音识别系统分析音频文件,而不是来自麦克风的默认传入语音。

有什么办法吗?

谢谢。

【问题讨论】:

我看到了这个链接:androidjavadoc.com/1.0_r1_src/android/speech/recognition/… 这似乎很有趣,但我现在不知道如何引用这个类... 您可以通过首先从麦克风录制它然后在运行时将文件保存为字节数组然后将此文件从字节数组解码为音频格式文件并将其输入到语音识别系统来做到这一点。 这里是解决方案:enter link description here 有安卓API版本28的解决方案吗? 【参考方案1】:

我想它的工作方式类似于 chrome api - http://mikepultz.com/2011/03/accessing-google-speech-api-chrome-11/

正如他所提到的,您可以将麦克风文件转换为 .flac 文件并将其发送到语音 api,您将获得相同的结果。所以你可以使用 SOX 并自己转换它。

希望对您有所帮助。 迪亚士

【讨论】:

是的,现在不行了,他们把 API 拿出来了【参考方案2】:

cmusphinx.sourceforge.net/wiki/tutorialandroid 刚刚发现这个链接听起来像是有人创建了一个 Android 版本的 Sphinx。

查看执行此操作的 Android api 似乎不受支持。 (http://developer.android.com/reference/android/speech/package-summary.html)

您或许可以使用其他 API。

我知道 Microsoft 的 C# api 允许这样做,但为了使其有用,您可能需要使用您编写的程序设置服务器,在手机上录制声音文件,然后将其发送到服务器。

CMUSphinx (http://cmusphinx.sourceforge.net/wiki/) 是用 Java 编写的,因此可以让它在 Android 设备上运行。在该 api 上,您创建一个 StreamSpeechReconizer。

StreamSpeechRecognizer recognizer = new StreamSpeechRecognizer(configuration);
recognizer.startRecognition(new File("speech.wav").toURI().toURL());
SpeechResult result = recognizer.getResult();
recognizer.stopRecognition();

我通过快速网络搜索(谷歌“语音识别 api 接受文件”)找到了这个https://gist.github.com/alotaiba/1730160,因此网络上可能有其他服务可以接受发送给他们的文件。

【讨论】:

以上是关于有没有办法将音频文件发送到语音到文本识别的主要内容,如果未能解决你的问题,请参考以下文章

是否可以将实时数据发送到 Bing 语音识别?

使用Watson SDK进行连续语音到文本

有没有办法通过 ms 说话人识别将 MS 语音与文本接口?

带有 node.js Bot 框架的 Skype 语音识别 API

VC++基于微软语音引擎开发语音识别总结

html HTML5音频+语音到文本...一旦启用麦克风和语音识别,请说“facebook”,“hack”或“what is my name”