first commit

This commit is contained in:
workD12
2026-09-11 19:47:15 +03:00
commit 32754a1fe2
56 changed files with 3836 additions and 0 deletions
+39
View File
@@ -0,0 +1,39 @@
"""STT-модуль: речь → текст.
Использование из других модулей:
from modules.stt import get_provider
stt = get_provider("faster-whisper", model_size="small")
result = stt.transcribe("phrase.wav")
print(result.text)
"""
from __future__ import annotations
from .base import SAMPLE_RATE, AudioInput, SttProvider, TranscriptResult
from .provider_faster_whisper import FasterWhisperProvider
__all__ = [
"SAMPLE_RATE",
"AudioInput",
"SttProvider",
"TranscriptResult",
"FasterWhisperProvider",
"get_provider",
]
_PROVIDERS = {
FasterWhisperProvider.name: FasterWhisperProvider,
# "vosk" добавим, если faster-whisper окажется тяжёлым для ПК отца (замер в Модуле 1)
}
def get_provider(name: str, **kwargs) -> SttProvider:
"""Фабрика провайдеров по имени (выбор из конфига)."""
try:
provider_cls = _PROVIDERS[name]
except KeyError:
raise ValueError(
f"Неизвестный STT-провайдер: {name!r}. Доступны: {sorted(_PROVIDERS)}"
) from None
return provider_cls(**kwargs)