0

我是houndify的新手,我一直在创建STT(语音转文本)流程。我有一个想法来使用python创建它。我选择了houndify python 2.7 SDK。我已经获得了houndify服务的客户端ID和客户端密钥。那么如何我可以进行语音到文本的转换吗?请逐步解决?

4

1 回答 1

2

Python SDK 包含两个示例脚本,展示如何向 Houndify 发送语音查询:sample_stdin.py 和 sample_wave.py。无论音频来源如何,步骤如下:

  1. houndify.StreamingHoundClient使用 clientID、clientKey 和一些 userID初始化对象(在开发过程中可以是“test_user”,但理想情况下应该对应于您的最终用户)
  2. 扩展houndify.HoundListener
  3. 将侦听器的实例传递给 StreamingHoundClient 对象的start()方法
  4. 循环读取音频块(8/16 kHz 单声道 16 位 little-endian PCM 样本)并将其输入客户端:client.fill(samples)
  5. 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 回答