Quali sono i passi per fare un sistema di sintesi vocale (TTS) da zero?
Ci sono un sacco di cose che vanno nella realizzazione di un sistema TTS da zero e bisogna avere alcune conoscenze di basso livello per far funzionare la parte del discorso. Ho suddiviso i passi in una semplice lista che copre le basi di ciò che dovreste fare.
Step 1: Text to words.
Questo può sembrare qualcosa di molto facile da fare, ma ricordate, un computer è estremamente stupido e fa esattamente quello che gli diciamo di fare. Il linguaggio scritto è molto ambiguo. Abbiamo parole che suonano diverse anche quando hanno le stesse lettere, per esempio leggi e leggi. (Ho letto questo post, leggerete la mia risposta.)
Step 2: Parole a fonemi
Fonemi - qualsiasi unità di suono percettivamente distinta in una lingua specifica che distingue una parola da un'altra, per esempio p, b, d, e t nelle parole inglesi pad, pat, bad, e bat. Confronta con allofono.
Ci sono solo 26 lettere nell'alfabeto inglese, ma oltre 40 fonemi. Il che rende tutti i diversi suoni usati nel discorso reale.
Step 3: Phonemes to Sound
Ci sono tre approcci diversi. Uno è quello di utilizzare registrazioni di esseri umani che dicono i fonemi, un altro è per il computer di generare i fonemi stessi generando frequenze sonore di base (un po' come un sintetizzatore musicale), e un terzo approccio è quello di imitare il meccanismo della voce umana.
La prima opzione è quella che usa Dragon Speak, la seconda opzione è usata dal motore TTS di Microsoft, la terza opzione è usata da Cortana di Microsoft.
Step 4: Mettere tutto insieme
Ora devi costruire tutto questo e metterlo in una libreria per essere in grado di chiamarlo in seguito quando è necessario.
Buona fortuna per le tue avventure, ho pensato di fare questo io stesso a un certo punto. Ho deciso di attenermi alle versioni Mono / .Net Framework perché sono pigro.