首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用python实现语音到文本?

如何使用python实现语音到文本?
EN

Stack Overflow用户
提问于 2017-02-22 13:25:50
回答 1查看 2.4K关注 0票数 0

我刚开始使用houndify,我一直在创建STT(语音到文本)过程,我有一个用python创建它的想法,我选择了houndify python2.7sdk,我已经获得了houndify service.So的客户机id和客户端密钥,我如何进行语音到文本conversion?.Please的逐步解决呢?

EN

回答 1

Stack Overflow用户

发布于 2017-02-23 20:55:01

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

  1. houndify.StreamingHoundClient、clientKey和一些userID初始化clientKey对象(在开发过程中可以是"test_user“,但理想情况下应该与最终用户相对应)
  2. 扩展houndify.HoundListener
  3. 将侦听器的实例传递给StreamingHoundClient对象的start()方法
  4. 在一个循环中读取音频块(8/16 kHz单位16位小端PCM示例),并将其输入客户端:client.fill(samples)
  5. 流完成后调用client.finish()

您可以在这里找到有关SDK的更多详细信息(包括设置请求信息字段的信息):https://docs.houndify.com/sdks/docs/python

下面是一个简单的脚本,它从stdin读取音频,并只打印部分记录、最终响应或错误消息:

代码语言:javascript
复制
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()
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42392780

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档