mymuseum-visitapp/lib/Services/Glasses/engines/wake_word_engine.dart

18 lines
755 B
Dart

/// Interface abstraite pour la détection de wake word.
/// Implémentations disponibles :
/// - PorcupineWakeWordEngine (on-device, Picovoice — payant prod)
/// - SpeechToTextWakeWordEngine (speech_to_text — gratuit, moins précis)
abstract class WakeWordEngine {
/// Démarre l'écoute continue.
/// [onDetected] — callback minimal, appelé sans commande.
/// [onDetectedWithCommand] — callback enrichi : texte après le keyword
/// dans le même énoncé ("visite qu'est-ce que c'est" → "qu'est-ce que c'est").
/// Si vide, l'orchestrateur lance un cycle STT séparé.
Future<void> start({
required void Function() onDetected,
void Function(String command)? onDetectedWithCommand,
});
Future<void> stop();
}