Synthèse vocale

Voici un article sur mes recherches concernant la synthèse vocale sur microcontrôleur ou au-moins à destination de circuit à faibles capacités computationnelles.

Bibliographie

ChatGPT

J’ai aussi interrogé ce robot conversationnel sur cette problématique, voici quelques unes de ses réponses.

La synthèse vocale par formants consiste à utiliser des filtres de formants pour reproduire les caractéristiques spectrales de la parole humaine. Cela peut être fait de manière algorithmique en utilisant des modèles de formants qui décrivent comment la forme des filtres de formants change au cours du temps pour reproduire les différentes voyelles et consonnes de la parole.

Il existe de nombreux algorithmes de synthèse vocale qui utilisent des modèles de formants, tels que :

  • La synthèse vocale par formants linéaires (LF) : cet algorithme utilise des formants linéaires qui sont définis par leurs fréquences et leurs amplitudes.
  • La synthèse vocale par modèle de source-filtre (SFM) : cet algorithme utilise un modèle de source de parole qui produit une onde sonore brute, qui est ensuite filtrée par des formants pour produire la parole synthétisée.
  • La synthèse vocale par modèle de glottis (GV) : cet algorithme utilise un modèle de la glotte qui produit une onde sonore brute qui est modifiée par les mouvements de la bouche et du larynx pour produire la parole synthétisée.

Il existe également d’autres algorithmes de synthèse vocale qui ne sont pas basés sur des modèles de formants, tels que la synthèse vocale par concaténation de segments de parole enregistrée (unit selection) et la synthèse vocale par modèle de traitement du signal (sample-based synthesis).

ChatGPT Dec 15 Version.

Voici un exemple d’algorithme de synthèse vocale par formants linéaires (LF) qui utilise une approche de type “glissando” pour produire une parole synthétisée à partir de formants prédéfinis :

  1. Définir les formants souhaités pour chaque voyelle et consonne à synthétiser.
  2. Pour chaque élément de parole (voyelle ou consonne) à synthétiser :
  • Déterminer les formants de départ et d’arrivée pour l’élément de parole en cours.
  • Déterminer le nombre de points de formants à générer entre le formant de départ et le formant d’arrivée.
  • Pour chaque point de formant :
  • Calculer les fréquences et les amplitudes des formants en utilisant une interpolation linéaire entre les formants de départ et d’arrivée.
  • Appliquer les formants au signal de parole brut en utilisant des filtres de formants.
  • Produire le signal de parole synthétisé en ajoutant le signal filtré au signal de parole précédent.

Cet algorithme peut être adapté en utilisant des interpolations non linéaires pour les formants et en ajoutant des paramètres de modélisation de la parole tels que l’excitation de la glotte et le mouvement de la bouche.

ChatGPT Dec 15 Version.
TypePhonèmeExemple
Voyelles oralesPhonème
/a/ch[a]t
/ɔ/c[o]té
/e/ch[e]f
/ə/l[e]
/œ/l[eu]r

Voici la liste des phonèmes du français standard (les phonèmes peuvent varier légèrement selon les régions et les dialectes) :

  • Voyelles orales :
    • /a/ (comme dans “chat”)
    • /ɔ/ (comme dans “coté”)
    • /e/ (comme dans “chef”)
    • /ə/ (comme dans “le”)
    • /œ/ (comme dans “leur”)
    • /ø/ (comme dans “peu”)
    • /o/ (comme dans “mot”)
    • /u/ (comme dans “rue”)
    • /y/ (comme dans “tu”)
  • Voyelles nasales :
    • /ã/ (comme dans “ban”)
    • /ɛ̃/ (comme dans “bain”)
    • /œ̃/ (comme dans “seul”)
    • /ɔ̃/ (comme dans “bon”)
    • /õ/ (comme dans “un”)
  • Consonnes :
    • /b/ (comme dans “bat”)
    • /d/ (comme dans “dot”)
    • /f/ (comme dans “fat”)
    • /g/ (comme dans “got”)
    • /ʒ/ (comme dans “je”)
    • /k/ (comme dans “cat”)
    • /l/ (comme dans “lot”)
    • /m/ (comme dans “mat”)
    • /n/ (comme dans “not”)
    • /p/ (comme dans “pat”)
    • /r/ (comme dans “rat”) (s’il est guttural, c’est /ʁ/, comme dans “rue”)
    • /s/ (comme dans “sat”)
    • /t/ (comme dans “tot”)
    • /v/ (comme dans “vet”)
    • /z/ (comme dans “zoo”)
  • Semi-consonnes :
    • /j/ (comme dans “yeux”)
    • /w/ (comme dans “oui”)

Il existe également des phonèmes consonantiques tels que le /ɥ/ (comme dans “huile”) et le /ɲ/ (comme dans “canyon”).