Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import json
- import pyaudio
- from vosk import Model, KaldiRecognizer
- import pyfirmata
- import sys
- model = Model("vosk-model-small-ru-0.4")
- rec = KaldiRecognizer(model, 16000)
- p = pyaudio.PyAudio()
- stream = p.open(format=pyaudio.paInt16, channels=1,
- rate=16000, input=True, frames_per_buffer=8000)
- stream.start_stream()
- board = pyfirmata.Arduino("COM6")
- def listen():
- while True:
- data = stream.read(4000, exception_on_overflow=False)
- if rec.AcceptWaveform(data) and len(data) > 0:
- answer = json.loads(rec.Result())
- if answer["text"]:
- yield answer["text"]
- for text in listen():
- if text == "включить":
- board.digital[9].write(1) # Даем сигнал 9-му пину
- elif text == "выключить":
- board.digital[9].write(0) # Выключаем
- elif text == "выйти":
- sys.exit()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement