"""Transcription par MLX-Whisper — GPU Apple Silicon uniquement.""" import numpy as np from core import clean_transcript class TranscripteurMLX: """Implémentation du contrat Transcripteur pour Apple Silicon.""" def __init__(self, modele, langue, amorce): self.modele = modele self.langue = langue self.amorce = amorce def warmup(self): """Charge le modèle une fois, sur une seconde de silence.""" self.transcrire(np.zeros(16000, dtype="float32")) def transcrire(self, audio): import mlx_whisper resultat = mlx_whisper.transcribe( audio, path_or_hf_repo=self.modele, language=self.langue, initial_prompt=self.amorce, ) return clean_transcript(resultat.get("text", ""))