Advertisement
Fsoky

Голосовое управление Arduino при помощи Python

Jul 16th, 2021
1,788
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.84 KB | None | 0 0
  1. import json
  2. import pyaudio
  3. from vosk import Model, KaldiRecognizer
  4. import pyfirmata
  5. import sys
  6.  
  7. model = Model("vosk-model-small-ru-0.4")
  8. rec = KaldiRecognizer(model, 16000)
  9. p = pyaudio.PyAudio()
  10.  
  11. stream = p.open(format=pyaudio.paInt16, channels=1,
  12.                 rate=16000, input=True, frames_per_buffer=8000)
  13. stream.start_stream()
  14.  
  15. board = pyfirmata.Arduino("COM6")
  16.  
  17.  
  18. def listen():
  19.     while True:
  20.         data = stream.read(4000, exception_on_overflow=False)
  21.  
  22.         if rec.AcceptWaveform(data) and len(data) > 0:
  23.             answer = json.loads(rec.Result())
  24.             if answer["text"]:
  25.                 yield answer["text"]
  26.  
  27. for text in listen():
  28.     if text == "включить":
  29.         board.digital[9].write(1) # Даем сигнал 9-му пину
  30.     elif text == "выключить":
  31.         board.digital[9].write(0) # Выключаем
  32.     elif text == "выйти":
  33.         sys.exit()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement