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

从麦克风识别蟒蛇口袋斯芬克斯

岳安福
2023-03-14

我已经在python中安装和安装了pocketsphinx和sphinxbase包。我还为github获取了语音识别代码,并根据需要更改了数据和模式目录,但当我试图通过“python test.py”运行它时,它仍然无法通过语音进行流式传输。下面是代码:

#!/usr/bin/env python
import os
import sphinxbase as sb
import pocketsphinx as ps

MODELDIR = '/usr/lib/python2.7/site-packages/speech_recognition/pocketsphinx-data'
DATADIR='/usr/lib/python2.7/site-packages/speech_recognition/pocketsphinx-data'
# Create a decoder with certain model
config = ps.Decoder.default_config()
config.set_string('-hmm', "/usr/lib/python2.7/site-packages/speech_recognition/pocketsphinx-data/en-US/acoustic-model")
config.set_string('-lm', os.path.join(MODELDIR, 'en-US/language-model.lm.bin'))
config.set_string('-dict', os.path.join(MODELDIR, 'en-US/pronounciation-dictionary.dict'))
decoder = ps.Decoder(config)

# Decode streaming data.
decoder.start_utt()
stream = open(os.path.join(DATADIR, 'en-US/goforward.raw'), 'rb')
while True: 
    buf = stream.read(1024)
    if buf:
        decoder.process_raw(buf, False, False)
    else:
        break
decoder.end_utt()
stream.close()
print('Best hypothesis segments:', [seg.word for seg in decoder.seg()])

请告诉我如何执行它。

共有1个答案

鲜于宜修
2023-03-14

麦克风的持续识别应该如下所示:

#!/usr/bin/python

from os import environ, path
import pyaudio

from pocketsphinx.pocketsphinx import *
from sphinxbase.sphinxbase import *

MODELDIR = "../../../model"

config = Decoder.default_config()
config.set_string('-hmm', path.join(MODELDIR, 'en-us/en-us'))
config.set_string('-lm', path.join(MODELDIR, 'en-us/en-us.lm.bin'))
config.set_string('-dict', path.join(MODELDIR, 'en-us/cmudict-en-us.dict'))
decoder = Decoder(config)

p = pyaudio.PyAudio()
stream = p.open(format=pyaudio.paInt16, channels=1, rate=16000, input=True, frames_per_buffer=1024)
stream.start_stream() 

in_speech_bf = False
decoder.start_utt()
while True:
    buf = stream.read(1024)
    if buf:
        decoder.process_raw(buf, False, False)
        if decoder.get_in_speech() != in_speech_bf:
            in_speech_bf = decoder.get_in_speech()
            if not in_speech_bf:
                decoder.end_utt()
                print 'Result:', decoder.hyp().hypstr
                decoder.start_utt()
    else:
        break
decoder.end_utt()
 类似资料:
  • 问题内容: 我正在尝试通过Java访问麦克风的级别。我不需要录制任何东西,我只想知道声音水平的相对范围。 这可以实时吗? 如果这是不可能的,那么这可能会起作用:当电平超过某个值时开始记录,当电平下降到一定水平以下一段时间后停止录制四分之一秒的位并读取它的音量,如果它在阈值以下停止录音。 提前致谢 问题答案: 您可以通过Sound API访问麦克风,但不会给您简单的响度级别。您只需要捕获数据并就其声

  • 我想使用Azure Speech服务从麦克风进行语音识别。我有一个使用recognize_once_async()在Python中顺利运行的程序,但它只能识别具有15秒音频限制的第一个话语。我对这个主题做了一些研究,并检查了MS(https://github.com/Azure-Samples/cognitive-services-speech-sdk/blob/master/samples/py

  • 基本没问八股 1:自我介绍 2:单例模式(答的还不错),给个例子 3:面向对象特性,好处 4:抽象的概念(这问题太抽象了,答得像坨屎) 5:验证码登陆如何实现,给个思路 6:二维码登录如何实现,给个思路 7:抽象类,给个例子 8:数据库分页查询,(差点忘了limit的参数,后面想起来告诉面试官了) 大概就这些吧,基本没八股,面试官说了很多次让我用自己的话说,不要生搬硬套。 中途还被隔壁研究生实验室

  • 我想直播Android麦克风,可以使用VLC播放器等听到。 Playstore主要提供IP摄像头应用,但这些应用是通过内部网络实现的。我想在互联网上播放流媒体。 可能吗? 我尝试了以下代码片段,但目前不起作用: 在VLC播放器前,我试着听(媒体)- 还有别的办法吗?

  • 播放音符 播放声音 录制 文字转语音

  • 我是一名程序员,但我之前没有使用Python或其任何库的经验,甚至没有OCR/ALPR的整体经验。我有一个脚本,我做的(基本上复制和粘贴其他脚本在整个网络上),我假装用来识别车牌。但事实是我的代码现在非常糟糕。它可以很好地识别图像中的文本,但它很难捕捉车牌。我很少能用它拿到牌照。 因此,我需要一些帮助,说明我应该如何更改代码以使其更好。 在我的代码中,我只需选择一个图像,将其转换为二进制和BW,然