Small Commit
This commit is contained in:
46
test_vosk.py
Normal file
46
test_vosk.py
Normal file
@@ -0,0 +1,46 @@
|
||||
import threading
|
||||
import queue
|
||||
import json
|
||||
|
||||
audio_queue = queue.Queue()
|
||||
SAMPLE_RATE = 16000
|
||||
|
||||
def vosk_listener():
|
||||
import vosk
|
||||
import pyaudio
|
||||
|
||||
VOSK_MODEL_PATH = "/home/tino/Documents/_Documents/Schule/4 Wilhelm Maybach Schule/2BKI Jahr 2/Abschlussprojekt/test assistant/assistant_all_in_one/vosk-model-de-0.21/"
|
||||
|
||||
model = vosk.Model(VOSK_MODEL_PATH)
|
||||
rec = vosk.KaldiRecognizer(model, SAMPLE_RATE)
|
||||
|
||||
p = pyaudio.PyAudio()
|
||||
stream = p.open(
|
||||
format=pyaudio.paInt16,
|
||||
channels=1,
|
||||
rate=SAMPLE_RATE,
|
||||
input=True,
|
||||
frames_per_buffer=4000
|
||||
)
|
||||
stream.start_stream()
|
||||
|
||||
while True:
|
||||
data = stream.read(4000, exception_on_overflow=False)
|
||||
if rec.AcceptWaveform(data):
|
||||
result = json.loads(rec.Result())
|
||||
text = result.get("text", "")
|
||||
if text:
|
||||
audio_queue.put(text)
|
||||
|
||||
def main():
|
||||
threading.Thread(target=vosk_listener, daemon=True).start()
|
||||
|
||||
while True:
|
||||
try:
|
||||
text = audio_queue.get(timeout=0.1)
|
||||
print("[SST]", text)
|
||||
except queue.Empty:
|
||||
pass
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user