Smetti di usare voci TTS generiche in Home Assistant—questa configurazione locale suona come la mia vera famiglia
Ho usato una voce Text-to-Speech (TTS) generica per gli annunci vocali nella mia smart home per anni. Mi permetteva di generare audio senza dover usare la voce predefinita di Alexa, ma era comunque piuttosto piatta. Ora i miei annunci Echo usano voci molto più interessanti—quelle della mia famiglia e mie.
Uso molte notifiche vocali
Il mio briefing quotidiano è una delle mie automazioni preferite
Uso molto gli annunci vocali. Anche se uso raramente i miei dispositivi Echo per dare comandi vocali, sono molto utili per fare annunci udibili in casa. Una delle mie automazioni preferite è il briefing quotidiano del mattino. Quando entriamo per la prima volta in cucina al mattino, viene riprodotto un annuncio parlato che prende i dati dal mio calendario e ci dice cosa abbiamo in programma quel giorno, come attività extrascolastiche, pranzi scolastici, appuntamenti, partite sportive e altro.
Un altro annuncio si attiva ogni volta che qualcuno entra in cucina dopo che è stata vuota per più di 10 minuti. L'annuncio vocale suggerisce che, mentre la persona è in cucina, dovrebbe riordinare qualcosa.
Tutti questi annunci utilizzano una voce TTS generica. Anche se è una voce più gradevole rispetto alle voci predefinite di Alexa, non è comunque particolarmente interessante.
Perché Qwen3-TTS è un punto di svolta
Clona una voce con pochi secondi di audio
In passato ho usato il software di sintesi vocale ElevenLabs per clonare la mia voce e usare la mia voce per gli annunci invece di quella di Alexa. Funziona bene, ma ci sono un paio di problemi importanti. Il primo è che serve un abbonamento a pagamento a ElevenLabs, e il secondo è che devo caricare la mia voce per poterla clonare.
Non ero entusiasta dell'idea di caricare la voce di mia moglie su un servizio cloud di terze parti, quindi non avrei mai clonato la sua voce. Quando ho letto del rilascio di Qwen3-TTS, ho pensato che potesse essere proprio ciò di cui avevo bisogno.
Qwen3-TTS è un modello di generazione vocale open-source che non solo può generare voce dal testo, ma può anche clonare voci usando appena tre secondi di audio. È abbastanza leggero che sono riuscito a far funzionare la variante più piccola da 0,6B su un MacBook Air M2 con 8GB di RAM. Con solo 10 secondi di audio della mia voce e una trascrizione di ciò che avevo detto, il modello ha generato un modello vocale personalizzato in circa 20 secondi.
Puoi inserire qualsiasi testo desideri e, utilizzando il tuo modello vocale clonato, far generare un file audio di quel testo pronunciato nella voce clonata. I risultati sono impressionanti. Anche se non sono sempre completamente perfetti, è sorprendente quanto possano essere accurate le voci clonate con così poco audio a disposizione.
Ci sono implicazioni legali ed etiche quando si clonano le voci delle persone. L'approccio più sicuro e responsabile è clonare una voce solo con il consenso espresso della persona e utilizzarla solo per scopi privati e locali. A seconda della tua giurisdizione, potrebbero esserci anche considerazioni legali riguardo la clonazione della voce.
Esecuzione di Qwen3-TTS in locale
Tutto succede sul mio mini PC
Una volta dimostrato che poteva funzionare sul mio MacBook, volevo un modo per poter usare le voci clonate in Home Assistant. Generare le voci sul mio MacBook non funzionava, perché non è sempre acceso. Siccome eseguo Home Assistant su Proxmox in un mini PC, il piano migliore era eseguire Qwen3-TTS in un piccolo contenitore Linux in modo che fosse sempre accessibile.
Ho creato un nuovo LXC Debian con alcuni core CPU e RAM sufficiente per eseguire Qwen3-TTS. Ho installato Python, FFmpeg e il pacchetto Qwen3-TTS, e aggiunto i miei file vocali clonati. Ho racchiuso tutto in un'app FastAPI in modo da poter inviare una richiesta da Home Assistant al mio mini PC con il testo e il modello vocale clonato che volevo usare, e Qwen3-TTS avrebbe generato l'audio sul mini PC.
La parte cruciale per i miei scopi era quindi convertire l'audio in un formato adatto per i miei speaker Echo. Se l'audio è nel formato sbagliato, gli smart speaker potrebbero non riprodurlo, quindi ho dovuto convertirlo in un MP3 CBR a 24kHz, 48kbps usando FFmpeg. Un comando shell in Home Assistant scarica questo file in una cartella interna e lo rende accessibile tramite un URL utilizzando Home Assistant Cloud per fornire l'accesso remoto. L'Echo può quindi accedere a questo file audio e riprodurlo.
Il processo non è immediato; può richiedere un po' di tempo per generare l'audio di un annuncio lungo come il mio briefing mattutino. Per aggirare questo problema, ho impostato un'automazione che genera l'audio dell'annuncio la mattina prima che ci alziamo. Quando scendiamo in cucina e attiviamo l'annuncio, l'audio è già stato generato, quindi viene riprodotto immediatamente.
Ogni giorno, l'automazione seleziona casualmente o la mia voce o quella di mia moglie. Significa che non sappiamo mai chi leggerà il briefing mattutino di quel giorno.
L'elaborazione locale significa una maggiore privacy
I dati audio non devono sempre lasciare la tua casa
La bellezza di usare Qwen3-TTS è che la clonazione della voce e l'elaborazione del testo in voce avvengono tutte localmente. Non ho dovuto caricare una registrazione sul cloud per clonare una voce come avrei fatto con ElevenLabs.
Nella mia configurazione attuale, l'audio è ancora esposto fuori dalla mia casa, poiché gli altoparlanti Echo richiedono un URL esterno per riprodurre l'audio. Questo significa che devo fare attenzione a non includere informazioni sensibili negli annunci audio. Se utilizzassi altoparlanti diversi che potessero riprodurre media locali direttamente, nessuno degli audio dovrebbe mai lasciare la mia casa, rendendolo completamente locale.
I modelli locali stanno diventando sempre più potenti
Quando ho provato per la prima volta a clonare la mia voce con ElevenLabs, mi chiedevo se fosse possibile farlo localmente, ma non era possibile con il mio hardware limitato. Qwen3-TTS è abbastanza leggero da poterlo eseguire sul mio mini PC, e quando sostituirò i miei altoparlanti intelligenti Echo con qualcosa di più privato, sarò in grado di fare tutto completamente in locale, rendendolo notevolmente più privato.



