Code source de mirza.engine.interfaces.baseStt

"""
Contrat d'interface abstraite pour les moteurs de transcription vocale (STT / ASR).
"""

from abc import ABC, abstractmethod

import numpy as np


[docs] class BaseStt(ABC): """ Interface abstraite pour les moteurs STT (Speech-to-Text) locaux. Definit les operations de pre-chauffage et de transcription des signaux audio. """
[docs] @abstractmethod def warmUp(self) -> None: """ Pre-chauffe le moteur STT pour eliminer la latence du premier appel. """
[docs] @abstractmethod def transcribe( self, audioArray: np.ndarray, language: str = "fr", initialPrompt: str = "Bonjour Mirza.", ) -> str: """ Transcrit un tableau d'echantillons audio 16kHz en texte. Parameters ---------- audioArray : np.ndarray Echantillons audio monocanal a 16000 Hz au format float32. language : str, optional Code langue ISO (defaut: "fr"). initialPrompt : str, optional Prompt initial pour conditionner le contexte acoustique (defaut: "Bonjour Mirza."). Returns ------- str Texte transcrit nettoye. """
[docs] def unload(self) -> None: """ Libere le modele en memoire. Par defaut sans effet : un moteur qui ne detient aucun poids local (synthese cloud) n'a rien a liberer. """ return None
@property def isLoaded(self) -> bool: """ Indique si des poids resident actuellement en memoire. Vrai par defaut : un moteur sans etat local (synthese cloud) n'a rien a charger. """ return True