Why does this error occur and how to fix it? Thank you in advance
My code main.py:
`import os
import vosk
import pyaudio
import openai
from gtts import gTTS
from io import BytesIO
from pydub import AudioSegment
from pydub.playback import play
import sys
import re
from commands import command
from wakeword import wake_word
import yaml
from vosk import SetLogLevel
sys.stdout = open('output.txt', 'w')
with open('tokens.yaml', encoding="utf-8") as f:
data = yaml.safe_load(f)
GPT_TOKEN = data[1].get("ChatGPT")
openai.api_key = GPT_TOKEN
model_path = "C:\Users\lsiba\OneDrive\Desktop\vosk-model-small-ru-0.22"
if not os.path.exists(model_path):
print("Модель не найдена")
sys.exit(1)
p = pyaudio.PyAudio()
stream = p.open(format=format, channels=channels, rate=rate, input=True, frames_per_buffer=chunk)
print("Говорите...")
messages = [
{"role": "system", "content" : f'Ты являешься голосовым ассистентом Джарвис из фильма\
Железный человек. При ответе овечайте как Джарвиc и обращайся как сэр. В обычном режиме ты работаешь как голосовой ассистент. Если фраза является командой для запуска\
ответь названием приложения и ВСЁ больше ничего не выводи. Обычно команды начинаются на запусти или открой'}
]
a = ""
while a != "WAKE":
a = wake_word()
else: act = True; print("Action True!")
while act == True:
data = stream.read(chunk)
if len(data) > 0:
if rec.AcceptWaveform(data):
Why does this error occur and how to fix it? Thank you in advance
My code main.py: `import os import vosk import pyaudio import openai from gtts import gTTS from io import BytesIO from pydub import AudioSegment from pydub.playback import play import sys import re from commands import command from wakeword import wake_word import yaml from vosk import SetLogLevel
sys.stdout = open('output.txt', 'w')
with open('tokens.yaml', encoding="utf-8") as f: data = yaml.safe_load(f) GPT_TOKEN = data[1].get("ChatGPT")
openai.api_key = GPT_TOKEN
model_path = "C:\Users\lsiba\OneDrive\Desktop\vosk-model-small-ru-0.22" if not os.path.exists(model_path): print("Модель не найдена") sys.exit(1)
model = vosk.Model(model_path)
rec = vosk.KaldiRecognizer(model, 16000)
chunk = 1024 format = pyaudio.paInt16 channels = 1 rate = 16000
p = pyaudio.PyAudio() stream = p.open(format=format, channels=channels, rate=rate, input=True, frames_per_buffer=chunk)
print("Говорите...") messages = [ {"role": "system", "content" : f'Ты являешься голосовым ассистентом Джарвис из фильма\ Железный человек. При ответе овечайте как Джарвиc и обращайся как сэр. В обычном режиме ты работаешь как голосовой ассистент. Если фраза является командой для запуска\ ответь названием приложения и ВСЁ больше ничего не выводи. Обычно команды начинаются на запусти или открой'} ]
a = "" while a != "WAKE": a = wake_word() else: act = True; print("Action True!")
while act == True: data = stream.read(chunk) if len(data) > 0: if rec.AcceptWaveform(data):
Распознанная фраза
wakeword.py
`import pvporcupine from pvrecorder import PvRecorder import yaml
with open('tokens.yaml', encoding="utf-8") as f: data = yaml.safe_load(f) PICOVOICE_TOKEN = data[0].get("Picovoice")
porcupine = pvporcupine.create( access_key=PICOVOICE_TOKEN, keyword_paths=['C:\Users\lsiba\OneDrive\Desktop\CODS\jarvis\jarvis_windows.ppn'], sensitivities=[1] )
recorder = PvRecorder(device_index=-1, frame_length=512) recorder.start()
def wake_word(): global cont cont = True while cont==True: keyword_index = porcupine.process(recorder.read()) if keyword_index >= 0: cont = False print("WAKE") return "WAKE"`