Fix: подавление логов VoskAPI при загрузке модели
- KALDI_VERBOSITY=0 для отключения логирования - Перенаправление stderr во время загрузки модели - Логи Kaldi больше не засоряют вывод Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
parent
763b33026a
commit
3f5d37db38
|
|
@ -16,19 +16,20 @@ class SpeechRecognizer:
|
||||||
self.model_name = settings.stt_model
|
self.model_name = settings.stt_model
|
||||||
self.model = None
|
self.model = None
|
||||||
self.recognizer = None
|
self.recognizer = None
|
||||||
|
|
||||||
|
# Отключаем логирование VoskAPI/Kaldi
|
||||||
|
os.environ["KALDI_VERBOSITY"] = "0"
|
||||||
|
|
||||||
def load_model(self):
|
def load_model(self):
|
||||||
if not self.enabled:
|
if not self.enabled:
|
||||||
return
|
return
|
||||||
|
|
||||||
# Отключаем логирование VoskAPI чтобы не засорять логи
|
|
||||||
import logging as py_logging
|
|
||||||
py_logging.getLogger("VoskAPI").setLevel(py_logging.ERROR)
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
if self.model_name == "vosk":
|
if self.model_name == "vosk":
|
||||||
from vosk import Model, KaldiRecognizer
|
from vosk import Model, KaldiRecognizer
|
||||||
import json
|
import json
|
||||||
|
import sys
|
||||||
|
import io
|
||||||
|
|
||||||
# Путь к модели в папке проекта
|
# Путь к модели в папке проекта
|
||||||
model_path = "./models/vosk/vosk-model-ru-0.22"
|
model_path = "./models/vosk/vosk-model-ru-0.22"
|
||||||
|
|
@ -36,7 +37,14 @@ class SpeechRecognizer:
|
||||||
logger.error(f"Модель Vosk не найдена по пути {model_path}")
|
logger.error(f"Модель Vosk не найдена по пути {model_path}")
|
||||||
return
|
return
|
||||||
|
|
||||||
|
# Временно отключаем stderr для подавления логов Kaldi
|
||||||
|
old_stderr = sys.stderr
|
||||||
|
sys.stderr = io.StringIO()
|
||||||
|
|
||||||
self.model = Model(model_path)
|
self.model = Model(model_path)
|
||||||
|
|
||||||
|
# Восстанавливаем stderr
|
||||||
|
sys.stderr = old_stderr
|
||||||
|
|
||||||
elif self.model_name == "whisper":
|
elif self.model_name == "whisper":
|
||||||
from faster_whisper import WhisperModel
|
from faster_whisper import WhisperModel
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue