android - android上的语音识别与录制的声音剪辑?

标签 android speech-recognition voice voice-recognition

我在 Android 上使用过语音识别功能,我很喜欢。这是我的客户最受赞誉的功能之一。但是,格式有些限制。您必须调用识别器 Intent ,让它将录音发送到谷歌,然后等待文本返回。

我的一些想法需要在我的应用中录制音频,然后将剪辑发送到谷歌进行转录。

有什么方法可以发送音频剪辑以将语音转换为文本进行处理?

最佳答案

我找到了一个可以很好地进行语音识别和录音的解决方案。这里是 link到我创建的一个简单的 Android 项目,以显示解决方案的工作。另外,我在项目中放置了一些打印屏幕来说明应用程序。

我将尝试简要解释我使用的方法。我在该项目中结合了两个功能:Google Speech API 和 Flac 录音。

通过 HTTP 连接调用 Google Speech API。 Mike Pultz提供有关 API 的更多详细信息:

"(...) 新的 [Google] API 是一个全双工流 API。这意味着它实际上使用了两个 HTTP 连接——一个 POST 请求将内容作为“实时”分 block 流上传,以及用于访问结果的第二个 GET 请求,这对于更长的音频样本或流式音频更有意义。”

但是,此 API 需要接收 FLAC 声音文件才能正常工作。这让我们进入第二部分:Flac 录音

我通过从名为 AudioBoo 的开源应用程序中提取和改编一些代码和库,在该项目中实现了 Flac 录音。 AudioBoo 使用原生代码录制和播放 flac 格式。

因此,可以录制 flac 声音,将其发送到 Google Speech API,获取文本并播放刚刚录制的声音。

我创建的项目具有使其工作的基本原则,并且可以针对特定情况进行改进。为了使其在不同的场景中工作,有必要获得一个 Google Speech API key ,该 key 是通过成为 Google Chromium-dev 组的一部分获得的。我在那个项目中留下了一把 key 只是为了表明它正在工作,但我最终会删除它。如果有人需要有关它的更多信息,请告诉我,因为我无法在这篇文章中放置超过 2 个链接。

关于android - android上的语音识别与录制的声音剪辑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2319735/

相关文章:

android - 如何在不兼容的设备上使用 Android MIDI USB 堆栈

即使运行其他版本,Android 也总是从 v9 文件夹中获取我的布局

Android Room 数据库响应来自两个不同表的数据

speech-recognition - 除了 Google 之外,还有其他语音识别 API 可以返回临时结果吗?

Android比较两个声音进行语音匹配

android - 如何在 Android 中使用麦克风的强度? (嗓音)

java - 解析 XML 无法通过重复标题正确加载内容

python - 将 TIMIT 数据库中的 Nist Wav 文件读入 python numpy 数组

xml - 在 grxml 文件中切换可识别的项目

java : voice chat and text chat