【问题标题】: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的解决方案吗?

标签: android file wav speech-recognition


【解决方案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,因此网络上可能有其他服务可以接受发送给他们的文件。

【讨论】:

    猜你喜欢
    • 2019-12-08
    • 1970-01-01
    • 2021-12-15
    • 1970-01-01
    • 1970-01-01
    • 2019-06-13
    • 2023-03-03
    • 1970-01-01
    • 2013-06-29
    相关资源
    最近更新 更多