[M1] UI : TranscriptWidget + bouton Transcrire + mode auto + sélecteur de langue #79

Closed
opened 2026-04-06 01:42:23 +00:00 by charles · 1 comment
Owner

Contexte

Interface utilisateur complète du module STT : le widget de transcription affiché sous le player audio, le bouton déclencheur, le mode automatique et la configuration de langue.

Critères d'acceptation

  • Bouton "Transcrire" affiché sous AudioPlayerWidget pour tout message m.audio / m.voice
    • Caché si transcription déjà en cache pour cet event_id
    • Remplacé par un spinner animé pendant la transcription en cours
  • TranscriptWidget : widget GTK4 dépliable (GtkExpander) affichant :
    • Texte de transcription avec formatage basique
    • Badge de confiance coloré (vert = High, orange = Medium, rouge = Low)
    • Langue détectée (ex: "🇫🇷 Français")
  • Mode automatique : si auto_transcribe: true dans config, la transcription se lance sans clic
  • Page de préférences STT (fractal-gtk) :
    • Choix du moteur (whisper.cpp / OpenAI / Vosk)
    • Sélecteur de langue (liste déroulante + "Détection automatique")
    • Taille du modèle Whisper (tiny/base/small/medium/large) avec indication de taille disque
    • Toggle mode automatique
  • Si le moteur n'est pas disponible (health_check() échoue) : afficher un message d'erreur actionnable ("Configurer dans les préférences")

Notes techniques

  • Dépend de #73 (types), #78 (pipeline), #74/#75/#76 (moteurs)
  • Le widget est intégré dans fractal-gtk en observant l'EventBus
  • La transcription est lancée dans un thread tokio pour ne pas bloquer le thread GTK
## Contexte Interface utilisateur complète du module STT : le widget de transcription affiché sous le player audio, le bouton déclencheur, le mode automatique et la configuration de langue. ## Critères d'acceptation - [ ] Bouton **"Transcrire"** affiché sous `AudioPlayerWidget` pour tout message `m.audio` / `m.voice` - Caché si transcription déjà en cache pour cet `event_id` - Remplacé par un spinner animé pendant la transcription en cours - [ ] `TranscriptWidget` : widget GTK4 dépliable (`GtkExpander`) affichant : - Texte de transcription avec formatage basique - Badge de confiance coloré (vert = High, orange = Medium, rouge = Low) - Langue détectée (ex: "🇫🇷 Français") - [ ] Mode automatique : si `auto_transcribe: true` dans config, la transcription se lance sans clic - [ ] Page de préférences STT (`fractal-gtk`) : - Choix du moteur (whisper.cpp / OpenAI / Vosk) - Sélecteur de langue (liste déroulante + "Détection automatique") - Taille du modèle Whisper (tiny/base/small/medium/large) avec indication de taille disque - Toggle mode automatique - [ ] Si le moteur n'est pas disponible (`health_check()` échoue) : afficher un message d'erreur actionnable ("Configurer dans les préférences") ## Notes techniques - Dépend de #73 (types), #78 (pipeline), #74/#75/#76 (moteurs) - Le widget est intégré dans `fractal-gtk` en observant l'`EventBus` - La transcription est lancée dans un thread tokio pour ne pas bloquer le thread GTK
Author
Owner

Doublon de #8 (TranscriptWidget implémenté via PR #103). Fermeture.

Doublon de #8 (TranscriptWidget implémenté via PR #103). Fermeture.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
charles/my-fractal#79
No description provided.