对博客平台有些失望,转语雀只当留档用了。
在之前发布的使用谷歌Cloud Speech API将语音转换为文字一文中,我们实现了在控制台使用curl发送post请求,得到语音转文字的结果;而在Python中使用谷歌Cloud Speech API将语音转换为文字一文中,我们实现了安装Cloud Speech API客户端库,通过调用库函数得到语音转文字的结果。
如果你尝试过这两种方法,就会发现其实后者得到结果需要的时间要长一些(笔者使用这两种方法得到结果的耗时分别大约是5秒、7秒)。那么,有没有办法在python中像第一种方法那样,使用curl命令发送post请求呢。当然是可行的,所以今天我们将介绍在Python中使用Cloud Speech API将语音转换为文字的另一种方案,另外这次我们将把音频文件编码为base64嵌入到json请求文件中,省去了上传声音文件到Cloud Storage的步骤。
相关说明之类的在上面两篇文章里已经写了很多,这边就直接贴代码。
*使用python3
import json
import urllib.request
import base64
# ①
api_url = "https://speech.googleapis.com/v1beta1/speech:syncrecognize?key=你的API密钥"
audio_file = open('/home/pi/chat/test-speech/output.wav', 'rb')
audio_b64 = base64.b64encode(audio_file.read())
audio_b64str = audio_b64.d