feat(voice): modalità dialogo — voce continua hands-free (v0.2.0)

- Nuovo VoiceRecorder (QAudioInput, PCM 16 bit mono): analisi del livello
  in tempo reale e stop automatico dopo il silenzio (pausa e soglia
  configurabili dalle impostazioni); produce WAV per /api/transcribe;
  emette failed("no-speech") se non rileva voce (cattura scartata)
- ChatPage: modalità dialogo (menu "Voice mode"): ascolto -> trascrizione
  -> invio -> lettura della risposta -> riascolto in ciclo; tocco sul
  testo di stato per uscire; limite di 3 errori consecutivi poi esce
- Dettatura manuale: invio automatico dopo la trascrizione (opzione,
  default attivo, disattivabile)
- Settings: sezione "Voice dialog" (auto-invio, pausa auto-stop,
  sensibilità microfono)
- Il percorso di dettatura manuale (Recorder OGG) resta invariato
This commit is contained in:
2026-09-12 09:14:25 +02:00
parent 479edb0f99
commit 9deeedf5b3
12 changed files with 620 additions and 18 deletions
+6 -1
View File
@@ -1,6 +1,6 @@
Name: harbour-hermes
Summary: Client for the Hermes Web UI with voice
Version: 0.1.2
Version: 0.2.0
Release: 1
Group: Qt/Qt
License: MIT
@@ -24,6 +24,11 @@ Sessions list, chat with live streaming replies, voice dictation
(server-side TTS), plus a hands-free conversation mode.
%changelog
* Sat Sep 12 2026 Carlo Baratto <carlo@carlobaratto.it> - 0.2.0-1
- Modalita' dialogo (voce continua): ascolto con stop automatico sul
silenzio (QAudioInput + VAD), trascrizione, invio automatico, lettura
della risposta e riascolto in ciclo; pausa e sensibilita' microfono
configurabili; la dettatura manuale puo' inviare da sola
* Sat Sep 12 2026 Carlo Baratto <carlo@carlobaratto.it> - 0.1.2-1
- Fix lista sessioni vuota sul device: le QVariantList di mappe non
espongono i campi nei delegate su Qt 5.6 -> nuovo SessionsModel