Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import sys,os
- import pyaudio
- import wave
- from pocketsphinx.pocketsphinx import *
- from sphinxbase.sphinxbase import *
- hmdir = "/home/orion/pocketsphinx-master/model/en-us/en-us/"
- lmd = "/home/orion/pocketsphinx-master/model/en-us/en-us.lm.bin"
- dictd = "/home/orion/pocketsphinx-master/model/en-us/cmudict-en-us.dict"
- def decodeSpeech(hmmd,lmdir,dictp,wavfile):
- config = Decoder.default_config()
- config.set_string('-hmm', hmmd)
- config.set_string('-lm', lmdir)
- config.set_string('-dict', dictp)
- decoder = Decoder(config)
- decoder.start_utt()
- stream = open(wavfile, 'rb')
- while True:
- buf = stream.read(1024)
- if buf:
- decoder.process_raw(buf, False, False)
- else:
- break
- decoder.end_utt()
- result = decoder.hyp()
- print "haha"
- print result
- return result
- CHUNK = 1024
- FORMAT = pyaudio.paInt16
- CHANNELS = 1
- RATE = 16000
- RECORD_SECONDS = 10
- for x in range(10):
- fn = "o"+str(x)+".wav"
- p = pyaudio.PyAudio()
- stream = p.open(format=FORMAT, channels=CHANNELS, rate=RATE, input=True, frames_per_buffer=CHUNK)
- print("* recording")
- frames = []
- for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):
- data = stream.read(CHUNK)
- frames.append(data)
- print("* done recording")
- stream.stop_stream()
- stream.close()
- p.terminate()
- wf = wave.open(fn, 'wb')
- wf.setnchannels(CHANNELS)
- wf.setsampwidth(p.get_sample_size(FORMAT))
- wf.setframerate(RATE)
- wf.writeframes(b''.join(frames))
- wf.close()
- wavfile = fn
- recognised = decodeSpeech(hmdir,lmd,dictd,wavfile)
- print "kira pwolich"
- print recognised
Add Comment
Please, Sign In to add comment