From 3f5d37db38e0141ce5c6dcde3daecd7a42ac5f18 Mon Sep 17 00:00:00 2001 From: mirivlad Date: Thu, 19 Mar 2026 00:02:20 +0800 Subject: [PATCH] =?UTF-8?q?Fix:=20=D0=BF=D0=BE=D0=B4=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BB=D0=BE=D0=B3=D0=BE=D0=B2=20Vos?= =?UTF-8?q?kAPI=20=D0=BF=D1=80=D0=B8=20=D0=B7=D0=B0=D0=B3=D1=80=D1=83?= =?UTF-8?q?=D0=B7=D0=BA=D0=B5=20=D0=BC=D0=BE=D0=B4=D0=B5=D0=BB=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - KALDI_VERBOSITY=0 для отключения логирования - Перенаправление stderr во время загрузки модели - Логи Kaldi больше не засоряют вывод Co-authored-by: Qwen-Coder --- src/speech/speech.py | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/speech/speech.py b/src/speech/speech.py index cce31b4..253503d 100644 --- a/src/speech/speech.py +++ b/src/speech/speech.py @@ -16,19 +16,20 @@ class SpeechRecognizer: self.model_name = settings.stt_model self.model = None self.recognizer = None - + + # Отключаем логирование VoskAPI/Kaldi + os.environ["KALDI_VERBOSITY"] = "0" + def load_model(self): if not self.enabled: return - # Отключаем логирование VoskAPI чтобы не засорять логи - import logging as py_logging - py_logging.getLogger("VoskAPI").setLevel(py_logging.ERROR) - try: if self.model_name == "vosk": from vosk import Model, KaldiRecognizer import json + import sys + import io # Путь к модели в папке проекта model_path = "./models/vosk/vosk-model-ru-0.22" @@ -36,7 +37,14 @@ class SpeechRecognizer: logger.error(f"Модель Vosk не найдена по пути {model_path}") return + # Временно отключаем stderr для подавления логов Kaldi + old_stderr = sys.stderr + sys.stderr = io.StringIO() + self.model = Model(model_path) + + # Восстанавливаем stderr + sys.stderr = old_stderr elif self.model_name == "whisper": from faster_whisper import WhisperModel