Bibliothèque OM chant-lib



Introduction


Le programme CHANT, mis au point à l’IRCAM dans les années quatre-vingt (BAISNEE et RODET, BARRIERE, POTARD : 1985), permet de réaliser la synthèse de la voix chantée par la technique des fonctions d’onde formantiques aussi appelée FOF (RODET : 1984). Les différentes règles dont il dispose lui permettent d’obtenir des résultats très convainquants pour la synthèse de son de type vocaux avec un nombre réduit de paramètres.

Malgré le réalisme des sons obtenus et par conséquent le nombre important d’applications pour la composition, le programme CHANT n’était plus disponible depuis une dizaine d’années sous une forme réellement opérationnelle.

La bibliothèque chant-lib pour Open-Music propose une solution complète de ré-implémentation de CHANT. Celle-ci s’inspire de la bibliothèque PW-Chant (IOVINO, LAURSON) autrefois utilisée dans le programme PatchWork. Les opérations de traitement du signal sont effectuées dans le programme Csound, interfacé avec Open-Music à l’aide de la bibliothèque om2csound. Csound doit donc être installé pour que chant-lib fonctionne.


Principe


L’implémentation des différents éléments de CHANT dans OpenMusic passe ici par une collection de fonctions répertoriées dans la bibliothèque chant-lib. Elles gravitent toutes autour d’une fonction principale appelée chant. Celle ci permet de récupérer l’ensemble des paramètres nécessaires à la synthèse, de les transformer en partition Csound et de jouer cette partition avec l’orchestre « chant.orc ».

La fonction chant compte au total neuf entrées. Ses principaux paramètres sont la liste des durées des notes, la liste des débuts des attaques des notes et la liste des fréquences de la fondamentale. Les autres entrées permettent de connecter les différentes règles et fonctions calculant les valeurs des largeurs de bandes, fréquences et amplitudes des formants, vibrato, etc.

Les autres objets de la bibliothèque chant-lib permettent de générer les paramètres de la synthèse de la même manière que dans les versions antérieures de CHANT et en respectant un modèle semblable à celui de la bibliothèque PW-Chant de PatchWork :

chant-jitter

: contrôle des paramètres des micros-fluctuations de la fréquence de la fondamentale.

vibra

: contrôle des paramètres du vibrato.

envelope

: crée une enveloppe de type attaque – maintien – chute.

envelope2

: crée une enveloppe à partir d’un BPF.

envelope-vib

: crée une enveloppe pour l’amplitude du vibrato.

ampf

: génère une liste d’amplitudes de formants en fonction d’une voyelle et d’un type de voix.

ffreq

: génère une liste de fréquences de formants en fonction d’une voyelle et d’un type de voix.

bdwth

: génère une liste de largeurs de bandes en fonction d’une voyelle et d’un type de voix.

auto-bw

: calcul automatique des largeurs de bandes des formants.

auto-bend

: ajustement automatique de la fréquence des deux premiers formants.

auto-amp

: calcul automatique des amplitudes des formants.

amp-cor

: correction automatique des amplitudes des formants en fonction de l’effort vocal.

ampmid2db

: convertit une liste d’amplitudes linéaires en une liste d’amplitudes logarithmiques en décibels.

onset-calc

: calcul automatique de l’onset en fonction de la durée des notes.

voy-calc

: génère une liste de la même voyelle égale au nombre de notes à jouer.

kill-last

: supprime le dernier élément d’une liste.



Romain MICHON - A propos de chant-lib - Bibliographie