如何解决使用 python 的 Android 的谷歌语音识别:空返回 {"result":[]} & 没有错误
我正在尝试为 android 创建语音助手。以下是我遵循的步骤:
- 我尝试使用 mediarecorder (jnius autoclass) 进行录制。
- 语音是使用以下方式以 awb 格式录制的: self.mRecorder.setOutputFormat(self.OutputFormat.AMR_WB) self.mRecorder.setOutputFile('/sdcard/test_recording.awb')
- 使用 ffmpef 将其转换为 wav
- 使用 sox 子进程进一步将其转换为 flac。
- 提交到谷歌网络语音 API。
但是它返回一个空响应并且没有错误。
{"result":[]}
我不得不求助于各种转换,因为 mediarecorder 不提供录制 flac 或 wav 文件的选项。此外,python 的普通 SpeechRecognition 模块没有 android 的 flac 转换器,因此无法使用
如何调试以找出 google 返回此意外响应可能有什么问题,以及为什么不是错误。
我下载了我的中间 wav 文件并尝试使用 "play audio.wav"
,它给出了以下输出:
文件大小:157k 比特率:256k 编码:签名 PCM
通道:1 @ 16 位采样率:16000Hz 重放增益:关闭
持续时间:00:00:04.90
输入:100% 00:00:04.90 [00:00:00.00] 输出:78.4k [ | ] 高清:4.7 剪辑:0 完成。
此音频使用 SOX(通过 termux)进一步转换为 FLAC。
感谢任何帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。