Rozpoznání řeči offline

cd ~

mkdir vosk

cd vosk

touch speech.py

chmod +x speech.py

nano speech.py

 

 

vložit:

#!/usr/bin/env python 
import sounddevice as sd 
import os 
import queue 
import json 
import sys 
import ctypes 

libc = ctypes.CDLL(None) 
devnull = os.open(os.devnull, os.O_WRONLY) 
libc.dup2(devnull, 2)  # 2 = stderr 

import vosk 


model_path = "/home/cz3dtc/vosk/vosk-model-cs" 
device_id = 13 
samplerate = 48000 
q = queue.Queue() 
model = vosk.Model(model_path) 
recognizer = vosk.KaldiRecognizer(model, samplerate) 


def callback(indata, frames, time, status): 
   if status: 
       print(status) 
   q.put(bytes(indata)) 


with sd.RawInputStream(device=device_id, samplerate=samplerate, dtype="int16", 
                      channels=1, callback=callback, blocksize=4096): 

   while True: 
       data = q.get() 
       if recognizer.AcceptWaveform(data): 
           result = json.loads(recognizer.Result()) 
           sys.stdout.write(result["text"] + " ") 
           sys.stdout.flush() 

 

cd ~/vosk

wget https://alphacephei.com/vosk/models/vosk-model-small-cs-0.4-rhasspy.zip
unzip vosk-model-small-cs-0.4-rhasspy.zip
mv vosk-model-small-cs-0.4-rhasspy vosk-model-cs