当前位置: 首页 > 知识库问答 >
问题:

语音识别和python入门

宗建章
2023-03-14

我想知道从哪里可以开始语音识别。不是用一个库或任何相当“黑匣子”的东西,而是我想知道在哪里可以制作一个简单的语音识别脚本。我做了一些搜索,发现的不多,但我看到的是,有一些“发音”或音节的字典可以拼凑成文本。所以基本上我的问题是从哪里开始?

此外,由于这有点乐观,我也可以在我的程序中使用一个库(目前)。我看到一些语音到文本库和API只给出一个结果。这是可以的,但它是不负责任的。我目前的程序已经检查了所有输入的文本的语法和所有内容,因此,如果我不得不说,前十名的结果来自语音到文本软件,那么它可以检查每一个,排除任何没有意义的结果。

共有3个答案

华安民
2023-03-14

Pocketsphenx也是一个不错的选择。通过SWIG提供了Python绑定,可以轻松地集成到脚本中。

例如:

from os import environ, path
from itertools import izip

from pocketsphinx import *
from sphinxbase import *

MODELDIR = "../../../model"
DATADIR = "../../../test/data"

# Create a decoder with certain model
config = Decoder.default_config()
config.set_string('-hmm', path.join(MODELDIR, 'hmm/en_US/hub4wsj_sc_8k'))
config.set_string('-lm', path.join(MODELDIR, 'lm/en_US/hub4.5000.DMP'))
config.set_string('-dict', path.join(MODELDIR, 'lm/en_US/hub4.5000.dic'))
decoder = Decoder(config)

# Decode static file.
decoder.decode_raw(open(path.join(DATADIR, 'goforward.raw'), 'rb'))

# Retrieve hypothesis.
hypothesis = decoder.hyp()
print 'Best hypothesis: ', hypothesis.best_score, hypothesis.hypstr

print 'Best hypothesis segments: ', [seg.word for seg in decoder.seg()]

# Access N best decodings.
print 'Best 10 hypothesis: '
for best, i in izip(decoder.nbest(), range(10)):
    print best.hyp().best_score, best.hyp().hypstr

# Decode streaming data.
decoder = Decoder(config)
decoder.start_utt('goforward')
stream = open(path.join(DATADIR, 'goforward.raw'), 'rb')
while True:
    buf = stream.read(1024)
    if buf:
        decoder.process_raw(buf, False, False)
    else:
        break
decoder.end_utt()
print 'Stream decoding result:', decoder.hyp().hypstr
祁权
2023-03-14

如果您真的想从头开始理解语音识别,请为python寻找一个好的信号处理包,然后独立于软件阅读语音识别。

但是语音识别是一个极其复杂的问题(基本上是因为我们说话时声音以各种方式相互作用)。即使你从一个最好的语音识别库开始着手,你也绝不会发现自己什么都不用做。

孙才捷
2023-03-14

因为google关闭了它的平台

--

你可以用https://pypi.python.org/pypi/pygsr

$> pip install pygsr

用法示例:

from pygsr import Pygsr
speech = Pygsr()
# duration in seconds
speech.record(3)
# select the language
phrase, complete_response = speech.speech_to_text('en_US')

print phrase
 类似资料:
  • 我在设计一个可以同时录制语音和将语音转换为文本的应用程序时遇到了这个bug。我使用Google API进行语音识别部分,并使用audioRecorder对象进行录音。它没有成功,因此我转而使用onBufferReceived()来检索过程中的字节(当用户说话时)。Google API代码现在是我代码的onResults()部分,它可以在没有UI的情况下进行语音识别。 这是代码

  • 我正在构建一个Web应用程序,并计划使用语音识别和navigator.getUserMedia进行音频输入。 我注意到我的桌面浏览器(Chrome在Mac上,v.31.0.1650.63)两次请求使用麦克风的权限。虽然这对用户来说可能有点烦人,但语音识别和音频输入似乎都可以工作。 但是,如果我在Android(Nexus 7, Android v4.4.2;Chromev31.0.1650.59)

  • 由于连接到不同的API,我目前正在开发一个工具,允许我阅读所有的通知。 它工作得很好,但现在我想用一些声音命令来做一些动作。 就像当软件说“一封来自Bob的邮件”时,我想说“阅读”或“存档”。 我的软件是通过一个节点服务器运行的,目前我没有任何浏览器实现,但它可以是一个计划。 在NodeJS中,启用语音到文本的最佳方式是什么? 我在它上面看到了很多线程,但主要是使用浏览器,如果可能的话,我希望在一

  • 语音识别是以语音为研究对象,通过语音信号处理和模式识别让机器自动识别和理解人类口述的语言。语音识别技术就是让机器通过识别和理解过程把语音信号转变为相应的文本或命令的高技术。语音识别是一门涉及面很广的交叉学科,它与声学、语音学、语言学、信息理论、模式识别理论以及神经生物学等学科都有非常密切的关系。语音识别技术正逐步成为计算机信息处理技术中的关键技术,语音技术的应用已经成为一个具有竞争性的新兴高技术产

  • 识别简单的语句。

  • 光环板内置的麦克风和Wi-Fi功能相结合,可以实现语音识别相关的应用。通过接入互联网,可以使用各大主流科技公司提供的语音识别服务,像是微软语音识别服务。使用联网功能需要登陆慧编程账号。 注册/登陆慧编程 点击工具栏右侧的登陆/注册按钮,依据提示登陆/注册账号。 启用上传模式 点击启用上传模式。 新建语音识别项目 我们将新建一个语音识别项目,使用语音来点亮光环板的LED灯。 连接网络 1. 添加事件