TranscripteurLocal.kt
32 lignes · 966 octets
package fr.ebii.card2vcf.audio /** * Interface de transcription locale (ASR sur l'appareil). * * Implémentée par [TranscripteurVosk] ; un fake est fourni dans les tests. * Quand le modèle est absent des assets (build `-Pvosk=none`), l'[etat] vaut * [Etat.INDISPONIBLE] et l'UI doit forcer le mode serveur. */ interface TranscripteurLocal { enum class Etat { DISPONIBLE, INDISPONIBLE } val etat: Etat /** * Alimente le moteur avec un buffer PCM capturé par [AudioNoteRecorder]. * Appelé sur le thread d'enregistrement. * * @return Un résultat partiel si disponible, null sinon. */ fun accepterEchantillons(data: ShortArray, longueur: Int): String? /** * Demande le résultat final après la fin de l'enregistrement. * @return Le texte transcrit (peut être vide). */ fun finaliser(): String /** Réinitialise l'état interne pour une nouvelle session. */ fun reinitialiser() }
GitRust