Page précédente    Melody Assistant    Page suivante 
 

Introduction
Produits
Quoi de neuf ?
Prise en main
Notation
Interprétation
Périphériques/Pilotage
Virtual Singer
Introduction
Création rapide
FaSoLa
Grégorien
Scat Jazz
Midi & ABC
Règles d'écriture
Aspects techniques
Paramétrage
La palette
Réglages simples
Réglage des effets
Réglage du timbre
Edition des phonèmes
Le SAMPA
Foire aux questions
Résumé des commandes
Real Singer
Remerciements/Liens
Questions/réponses
Licence d'utilisation
Assistance
Annexes
Imprimer le manuel


Le symbole désigne les nouveaux chapitres.

 

Virtual Singer

Edition des phonèmes

 
 
    Très important : Ce chapitre fait appel à des notions avancées de traitement numérique du signal.
    Il est donc nécessaire de posséder quelques connaissance en acoustique ainsi que des notions de traitement du signal pour en tirer parti.

Nous avons vu que les phonèmes sont considérés comme les entités acoustiques élémentaires composant la voix parlée ou chantée (voir chapitres "Aspect technique de la voix")
Virtual Singer utilise des algorithmes complexes afin de synthétiser des phonèmes reconnaissables.
Cette synthèse, dite par formants, utilise des calculs internes originaux, inspirés notamment des écrits de D. Klatt(voir bibliographie), ainsi que d'autres publications.
L'algorithme a été mis au point et affiné grâce aux résultats de recherches propres dans le domaine de la restitution de la voix chantée.

Dans l'édition du timbre de la voix, un bouton “Avancé" ouvre la boîte de dialogue vous permettant de redéfinir les phonèmes. Les modifications que vous pouvez apporter sont limitées au chanteur en cours d'édition : la manière de prononcer les phonèmes des autres chanteurs ne sera pas modifiée.

Un peu de technique


Question : Comment Virtual Singer produit-il un phonème ?

Un signal numérique d'excitation (historiquement appelé source glottale) est généré, en fonction du volume et de la fréquence fondamentale du phonème. Ce signal est constitué d'une demi-période parabolique, et d'une demi-période de silence (arrêt glottal). Les harmoniques n° 1 (fréquence fondamentale), 2 (double de la fréquence fondamentale) et 3 (triple de la fréquence fondamentale) de ce signal sont alors amplifiées, afin de se rapprocher du rendu sonore d'une source vocale chantée. Cette source est ensuite plus ou moins amplifiée selon la valeur de vocalisation.  

Le traitement numérique de ce signal se divise ensuite en deux :

Le traitement en cascade, dans lequel à la source glottale est ajouté le bruit dit d'aspiration. Cette source est alors traitée par un réseau de filtres placés en série (cascade), chaque filtre correspondant à un formant.

Le traitement en parallèle, où à la source glottale, est ajouté le bruit dit de frication. La dérivée d'ordre un de cette source est alors traitée par un réseau de filtres placés en parallèle, chaque filtre correspondant à un formant. L'amplitude de chaque formant est prise en compte afin d'augmenter plus ou moins l'influence de tel ou tel formant.

Les résultats de ces deux traitements sont alors additionnés, puis éventuellement modulés par une pulsation à basse fréquence (20 Hz) destinée à reproduire les effets de roulé (son "R" espagnol par exemple).

Après amplification et réglage des graves et des aigus, le signal numérique résultat est enfin prêt.

Concrètement, cet algorithme a plusieurs implications majeures sur la restitution d'un phonème :

  • L'amplitude de chaque formant n'est prise en compte que dans la partie parallèle du traitement. Donc, même si l'amplitude d'un formant est nulle, ce formant continuera encore à avoir un effet sur le signal résultat, de par son action sur la partie cascade.
  • Le bruit d'aspiration passe à travers le réseau de filtres en cascade. Il est donc grandement influencé par les formants du phonème et produit un bruit plus filtré (plus sourd), qui peut simuler les bruits de souffle produits loin en arrière dans le conduit vocal.
  • La dérivée d'ordre un du bruit de frication passe au travers du réseau de filtres en parallèle. Il en résulte donc un bruit plus aigu, propre à simuler les bruits de sifflement produits par l'avant de la bouche.

Les fragments


L'élément de base de la phonétique est le phonème. Or, nous avons pu voir que certains phonèmes complexes, tels que les diphtongues, pouvaient être constitués de plusieurs états successifs.
Ceci nous a donc amené à définir la notion de fragment, représentant un état "fixe" au sein d'un phonème.
De ce fait, un phonème peut être défini par un ou plusieurs fragments.

Dans la liste de gauche, vous trouverez la liste de tous les fragments qui peuvent être prononcés, quelle que soit la langue utilisée.
Les fragments apparaissant en gras sont ceux utilisés dans la langue courante.

Note importante :
Dans cette fenêtre, il est possible de modifier la manière de prononcer un ou plusieurs fragments.
Cette modification est spécifique à la voix du chanteur en cours d'édition.
La modification d'un fragment dans cette fenêtre n'altérera que la prononciation de ce chanteur et pas celle des autres.

Lorsqu'un fragment a été modifié, il apparaît en couleur dans la liste. Lorsque vous vous positionnez sur un fragment modifié, il est possible de retrouver les valeurs par défaut en cliquant sur le bouton Original au-dessous de la liste.

Dans la partie droite de la boîte, plusieurs objets graphiques vous permettent de modifier les données du fragment

En haut de cette fenêtre, un menu déroulant donne le type du fragment. Le type voyelle signifie que ce fragment peut être allongé lorsque la syllabe qui le contient est prolongée dans le temps.
S'il n'y a pas de voyelle dans la syllabe, Virtual Singer essaiera ensuite d'allonger les fragments de type voyelle de transition.
A défaut, il essaiera d'allonger les consonnes vocalisées, puis les consonnes non vocalisées.

La durée du fragment peut être éditée par un curseur.
Cette durée est la durée naturelle du fragment. Si le fragment est allongé, sa durée sera augmentée.

Note : Lorsqu'un paramètre est édité de manière graphique, sa valeur numérique apparaît dans un cadre en bas à droite de la fenêtre.

La partie statique du fragment

Il s'agit de l'ensemble des paramètres définissant le fragment dans sa partie statique, c'est-à-dire indépendante des transitions avec les fragments adjacents.
Ces paramètres sont édités dans la grande aire graphique dans la partie droite de la fenêtre.

Les formants sont représentés par des triangles. Pour chaque formant, la fréquence médiane (en Hertz), l'amplitude (en dB) et la bande passante (base du triangle, en Hz) peuvent être éditées.
Une série de petits boutons sous ce graphique permettent d'activer ou de désactiver chacun des formants dans la partie parallèle du générateur de voix.


Note : Comme nous l'avons vu plus haut, même si un formant est désactivé et n'apparaît pas sur le graphique, sa fréquence et sa bande passante sont utilisés dans la partie cascade du générateur de voix.
Sur la droite, une série de curseurs verticaux permettent de régler les niveaux de vocalisation (av), de roulé (Rl), d'aspiration (asp) et de frication (af).
 
Astuce : Lors de l'édition graphique de la fréquence médiane ou de la bande passante d'un formant, deux barres verticales apparaissent, montrant la borne basse et la borne haute rencontrées pour ce paramètre dans la totalité des fragments.
Ceci vous permet de contrôler que vous ne donnez pas à ce paramètre une valeur trop "exotique"
 

Les graphes d'évolution du fragment

Pendant une séquence parlée ou chantée, le passage d'un fragment à l'autre n'est pas instantané. En effet, l'articulation du fragment suivant débute avant que celle du fragment précédent ne soit totalement terminée. Cette transition douce entre les fragments s'appelle la coarticulation.

Le graphe d'évolution permet, pour chacun des paramètres définissant un fragment (fréquence des formants, amplitude, bande passante et les différents niveaux) de définir sa courbe d'évolution dans le temps. Le paramètre dont la courbe est en cours d'édition apparaît cerclé de rouge dans le graphique supérieur.

Pour chaque paramètre, vous pouvez donc définir une courbe d'évolution qui lui est propre, en utilisant la zone graphique du bas de la fenêtre.
Sur ce graphique, par convention, la valeur précédente du paramètre est représentée par l'ordonnée la plus basse.
La valeur statique du fragment en cours d'édition (définie dans le graphique supérieur) est représentée par l'ordonnée la plus haute.

Note : ceci est une présentation symbolique qui n'a pas de rapport avec la grandeur effective du paramètre.

L'évolution du paramètre depuis la valeur précédente jusqu'à la valeur statique du fragment est définie par deux segments :
Un premier segment, à gauche, dont la durée est "empruntée" au fragment précédent.
Il va faire évoluer le paramètre depuis la valeur statique du fragment précédent jusqu'à une valeur intermédiaire définie par les deux curseurs verticaux à gauche du graphique.
Le curseur Ratio (Ra) permet de définir l'importance que vous donnez à la valeur précédente du paramètre par rapport à la valeur à atteindre dans le calcul de la valeur intermédiaire.

Exemple : un ratio de 0 % fixe la valeur intermédiaire directement à la valeur à atteindre.
Un ratio de 100 % fixe la valeur intermédiaire à la valeur précédente du paramètre.
Un ratio de 50 % fixe la valeur intermédiaire à la moyenne de la valeur précédente et de la valeur à atteindre.

Le décalage de départ (Od) permet d'ajouter une valeur fixe à la valeur intermédiaire.

Exemple : pour un ratio (Ra) de 50 % et décalage (Od) de 100, la valeur intermédiaire sera égale à 100 + la moyenne de la valeur précédente et de la valeur à atteindre.

Sur le schéma, le deuxième segment donne la durée de transition entre la valeur intermédiaire et la valeur statique à atteindre (plateau). Cette durée est empruntée au fragment courant.
Symétriquement, deux segments à droite, ainsi que deux curseurs, permettent de définir la transition du paramètre depuis sa valeur statique courante jusqu'à la valeur statique du fragment suivant.

Nous venons de voir que pour chaque paramètre d'un fragment on peut définir sa courbe d'évolution depuis la valeur du fragment précédent et vers la valeur du fragment suivant.

Chacune de ces deux courbes d'évolution ne sera utilisée que si le fragment courant a une priorité supérieure au fragment qui le jouxte. La priorité est donnée par la position du fragment dans la liste des fragments. Plus le fragment est haut dans la liste, plus la priorité est grande.

Exemple :
Ainsi, si nous avons une liste contenant trois fragments :  "a, b, c" classés dans cet ordre, et si la syllabe à prononcer est "bacb", on obtiendra, pour chaque paramètre des fragments, l'évolution suivante :

  • valeur statique du fragment "b"
  • évolution vers la valeur du fragment "a" donnée par les deux premiers segments de la courbe d'évolution de "a" (car "a" est prioritaire par rapport à "b"),
  • valeur statique du fragment "a"
  • évolution vers la valeur du fragment "c" donnée par les deux derniers segments de la courbe d'évolution de "a" (car "a" est prioritaire par rapport à "c"),
  • valeur statique du fragment "c"
  • évolution vers la valeur du fragment "b" donnée par les deux premiers segments de la courbe d'évolution de "b" (car "b" est prioritaire par rapport à "c"),
  • valeur statique du fragment "b".

 Les boutons d'action

Ces boutons, situés en bas à droite de la fenêtre, vous permettent d'effectuer un certain nombre d'actions :

Bouton Essayer

Permet d'essayer vos fragments grâce à une phrase d'essai simple comme déjà rencontré précédemment.
Par contre, lorsque vous cliquez sur le bouton Essayer, la liste des fragments utilisés pour prononcer le texte apparaît.
Les signes > et < séparant les fragments indiquent la priorité respective des fragments les uns par rapport aux autres..
A noter : lorsque vous changez de fragment dans la liste, un mot d'exemple utilisant ce fragment est aussitôt inséré dans la zone de texte.
Menu déroulant de changement de langue
Lorsque vous choisissez une autre langue, les fragments utilisés dans cette langue apparaissent en gras dans la liste des fragments.
Boutons "copier/coller"
permettent de copier l'ensemble des paramètres d'un fragment et leur évolution, puis de les coller ensuite sur un autre fragment.


(c) Myriad - Tous droits réservés