我是houndify的新手,我一直在创建STT(语音转文本)流程。我有一个想法来使用python创建它。我选择了houndify python 2.7 SDK。我已经获得了houndify服务的客户端ID和客户端密钥。那么如何我可以进行语音到文本的转换吗?请逐步解决?
问问题
2208 次
1 回答
2
Python SDK 包含两个示例脚本,展示如何向 Houndify 发送语音查询:sample_stdin.py 和 sample_wave.py。无论音频来源如何,步骤如下:
houndify.StreamingHoundClient
使用 clientID、clientKey 和一些 userID初始化对象(在开发过程中可以是“test_user”,但理想情况下应该对应于您的最终用户)- 扩展
houndify.HoundListener
类 - 将侦听器的实例传递给 StreamingHoundClient 对象的
start()
方法 - 循环读取音频块(8/16 kHz 单声道 16 位 little-endian PCM 样本)并将其输入客户端:
client.fill(samples)
client.finish()
流式传输完成后调用
您可以在此处找到有关 SDK 的更多详细信息(包括有关设置请求信息字段的信息): https ://docs.houndify.com/sdks/docs/python 。
这是一个简单的脚本,它从标准输入读取音频并仅打印部分成绩单、最终响应或错误消息:
import sys
import houndify
class MyListener(houndify.HoundListener):
def onPartialTranscript(self, transcript):
print "Partial transcript: " + transcript
def onFinalResponse(self, response):
print "Final response: " + str(response)
def onError(self, err):
print "Error: " + str(err)
client = houndify.StreamingHoundClient(<CLIENT_ID>, <CLIENT_KEY>, "test_user", sampleRate = 8000)
BUFFER_SIZE = 512
client.start(MyListener())
while True:
samples = sys.stdin.read(BUFFER_SIZE)
if len(samples) == 0: break
finished = client.fill(samples)
if finished: break
client.finish()
于 2017-02-23T20:55:01.057 回答