109
Applications musicales et pédagogiques utilisant des synthétiseurs de parole et des analogies perceptives entre la guitare et la voix Nicolas D’Alessandro 21 juin 2004

Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

Embed Size (px)

Citation preview

Page 1: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

Applications musicales et pédagogiques utilisantdes synthétiseurs de parole et des analogies

perceptives entre la guitare et la voix

Nicolas D’Alessandro

21 juin 2004

Page 2: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

i

RemerciementsJ’ai commencé les études d’ingénieur civil à la Faculté Polytechnique de Mons pourpouvoir un jour travailler dans le domaine musical. Cet objectif quelque peu singulieren a fait sourire plus d’un me pensant égaré. Il est très probable que j’eusse changéde chemin si je n’avais pas croisé celui de deux autres personnes : Thierry Dutoitet Caroline Traube. En effet, c’est au travers de présentations, d’explications, deconseils, de coups de pouces qu’ils m’ont convaincu de persévérer. C’est donc toutnaturellement que je les remercie du fond du coeur, au vu de ce travail final qui aurasu réconcilier mes études et ma passion pour la musique.

Je tiens également à remercier les nombreuses contributions des étudiants et pro-fesseurs en composition électroacoustique de la Faculté de musique (Université deMontréal) qui m’ont souvent conseillé et guidé dans ce monde qui, de prime abord,semble bien complexe. J’associe à ces remerciements un clin d’oeil particulier àOlivier Bélanger, mon collègue de laboratoire, pour ces longues heures de question-nement sur la manière idéale de faire chanter Max/MSP et Csound. La voix de soncommentateur de base-ball hante toujours mes silences.

Enfin, je remercie mes parents, Laurence, ma compagne et mes amis pour leur soutienmoral durant ces cinq mois à l’étranger. Même si les coups de téléphone et lescourriels ne peuvent se substituer à la présence réelle, ils m’ont donné le couragenécessaire pour mener à bien ce séjour.

Page 3: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

ii

.

Le poème n’est accompli que s’il se fait chant, parole et musique en même temps.

Léopold Sédar Senghor

Page 4: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

iii

Objectifs du travailCe travail est le témoignage d’une rencontre entre deux mondes, celui des ingénieurset celui des musiciens. En effet, l’avènement des ordinateurs modernes, de plus enplus puissants et multimédias, a ouvert de nouvelles portes aux compositeurs. Lesalgorithmes de traitement du signal qui, il y a dix ans, nécessitaient encore unecollection de cartes et de processeurs pour fonctionner tournent aujourd’hui sansaucun problème sur un simple ordinateur portable. La principale conséquence estque des techniques de plus en plus complexes deviennent envisageables avec unmatériel standard pour les concerts ou le studio.

C’est donc dans le cadre d’une de ces techniques, la synthèse de la parole, que lacollaboration est née. L’objectif technique de ce travail est de confronter les théoriesde traitement de la parole, plus particulièrement les outils de synthèse, aux exigencesdu milieu de la composition et de l’interprétation. Cette démarche se scinde en deuxparties distinctes : la recherche de descripteurs propres à la voix pour traduire lagestuelle guitaristique (Chapitre 2 : Recherche de descripteurs vocaux pour la guitareclassique) et la proposition de solutions pour la synthèse de voix chantée (Chapitre3 : L’instrument vocal).

La partie consacrée à la recherche de descripteurs vocaux, expliquant le chemine-ment suivi pour identifier le jeu de guitare à un flux phonétique (Chapitre 2 ), estentièrement basée sur les travaux de Caroline Traube [1] [2] [3] [4] [5], professeur à laFaculté de musique (Université de Montréal) et promoteur de ce travail. Le chapitrecontient un exposé de ces théories et la mise au point d’une application pour lavisualisation des résultats.

La partie consacrée à la proposition de solutions pour la synthèse de voix chan-tée (Chapitre 3 ) est le fruit de collaborations avec les étudiants et professeurs encomposition électroacoustique de la Faculté de Musique (Université de Montréal).Il contient des adaptations de techniques de synthèse existantes tendant vers unmeilleur contrôle en temps-réel et d’une qualité supérieure.

Étant donné que ces explications font appel à des théories provenant des deux disci-plines, le premier chapitre (Chapitre 1 : Introduction générale) est consacré à décriresommairement les différents acteurs de ce travail. Ainsi, le lecteur a toutes les cartesen main pour aborder la suite du rapport, qu’il soit musicien ou ingénieur.

Enfin, un dernier chapitre (Chapitre 4 : Conclusions générales) présentera les conclu-sions de l’ensemble du travail.

Page 5: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

Table des matières

1 Introduction Générale 11.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Travail de Fin d’Études au Québec . . . . . . . . . . . . . . . . . . . 11.3 La composition électroacoustique . . . . . . . . . . . . . . . . . . . . 11.4 La synthèse de voix parlée . . . . . . . . . . . . . . . . . . . . . . . . 2

1.4.1 Techniques de production sonore . . . . . . . . . . . . . . . . 21.4.2 Techniques de contrôle . . . . . . . . . . . . . . . . . . . . . . 4

1.5 MBROLA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.6 Max/MSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.7 Csound . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2 Descripteurs vocaux 92.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.2 Etude des paramètres gestuels . . . . . . . . . . . . . . . . . . . . . . 9

2.2.1 Influence du point de pinçage sur le spectre de la partie har-monique d’une note . . . . . . . . . . . . . . . . . . . . . . . . 9

2.2.2 Influence de l’inclinaison de la main droite . . . . . . . . . . . 112.2.3 Les autres paramètres gestuels . . . . . . . . . . . . . . . . . . 13

2.3 Formatage des données d’entrée . . . . . . . . . . . . . . . . . . . . . 142.3.1 Le protocole MIDI . . . . . . . . . . . . . . . . . . . . . . . . 152.3.2 Liste exhaustive des paramètres . . . . . . . . . . . . . . . . . 152.3.3 Réduction du nombre de paramètres pour une interface plus

guitaristique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.4 Identification des descripteurs vocaux . . . . . . . . . . . . . . . . . . 18

2.4.1 Contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182.4.2 Représentation sonore des descripteurs vocaux . . . . . . . . . 202.4.3 Représentation visuelle des descripteurs vocaux . . . . . . . . 22

2.5 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252.5.1 Effet de vocalisation pour guitare . . . . . . . . . . . . . . . . 252.5.2 Outils pédagogiques . . . . . . . . . . . . . . . . . . . . . . . 262.5.3 Interface naturelle pour la guitare de synthèse . . . . . . . . . 27

2.6 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3 L’instrument vocal 313.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313.2 Le signal glottique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

iv

Page 6: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

TABLE DES MATIÈRES v

3.2.1 Prosodie paramétrique . . . . . . . . . . . . . . . . . . . . . . 333.2.2 Approche source-filtre . . . . . . . . . . . . . . . . . . . . . . 343.2.3 Approche par forme d’onde . . . . . . . . . . . . . . . . . . . 36

3.3 Le conduit vocal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383.3.1 Représentation par paniers de fréquences . . . . . . . . . . . . 393.3.2 Représentation par paramètres des formants . . . . . . . . . . 393.3.3 Représentation par paramètres LPC . . . . . . . . . . . . . . . 393.3.4 Représentation par des coordonnées dans un plan . . . . . . . 413.3.5 Rayonnement des lèvres . . . . . . . . . . . . . . . . . . . . . 43

3.4 Le(la) chanteur(euse) virtuel(le) . . . . . . . . . . . . . . . . . . . . . 433.4.1 Limites des techniques existantes . . . . . . . . . . . . . . . . 433.4.2 Synthèse à deux flux . . . . . . . . . . . . . . . . . . . . . . . 44

3.5 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

4 Conclusions générales 48

Appendices 50

A Travail de Fin d’Études au Québec 50

B Descripteurs vocaux (module Max/MSP) 52B.1 Mise en forme de la partition musicale . . . . . . . . . . . . . . . . . 52B.2 Conversion des paramètres musicaux et gestuels en paramètres pho-

nétiques et spectraux . . . . . . . . . . . . . . . . . . . . . . . . . . . 53B.2.1 Calculs de la section 2.3 . . . . . . . . . . . . . . . . . . . . . 54B.2.2 Calculs de la section 2.4 . . . . . . . . . . . . . . . . . . . . . 56

B.3 Réalisation de l’interface visuelle . . . . . . . . . . . . . . . . . . . . . 68B.4 Réalisation de l’interface sonore . . . . . . . . . . . . . . . . . . . . . 69

C Conduit vocal 1 (modules Csound et Max/MSP) 71C.1 Module de synthèse sonore dans Csound . . . . . . . . . . . . . . . . 71

C.1.1 Code Csound . . . . . . . . . . . . . . . . . . . . . . . . . . . 72C.1.2 Remarques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

C.2 Module de contrôle dans Max/MSP . . . . . . . . . . . . . . . . . . . 76

D Conduit vocal 2 (modules Csound et Max/MSP) 78D.1 Module de synthèse dans Csound . . . . . . . . . . . . . . . . . . . . 78

D.1.1 Réalisation de la source polyvalente . . . . . . . . . . . . . . . 78D.1.2 Filtre LPC en treillis . . . . . . . . . . . . . . . . . . . . . . . 84

D.2 Module de contrôle dans Max/MSP . . . . . . . . . . . . . . . . . . . 89D.2.1 Contrôle d’une source indépendante . . . . . . . . . . . . . . . 90D.2.2 Le contrôle du mixage des deux sources indépendantes . . . . 90D.2.3 Le contrôle du filtre . . . . . . . . . . . . . . . . . . . . . . . . 90

Page 7: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

TABLE DES MATIÈRES vi

E Générateur MBROLA (module Max/MSP) 93E.1 Lecture de la pile de syllabes . . . . . . . . . . . . . . . . . . . . . . . 93E.2 Routage des messages et séparation des symboles . . . . . . . . . . . 94E.3 Détection de la position de la voyelle . . . . . . . . . . . . . . . . . . 94E.4 Stockage des phonèmes et séquence d’alertes . . . . . . . . . . . . . . 97

Page 8: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

Table des figures

1.1 Principe de fonctionnement de MBROLA. . . . . . . . . . . . . . . . 61.2 Exemple de module dans Max/MSP. . . . . . . . . . . . . . . . . . . 7

2.1 Représentation d’une corde de guitare. . . . . . . . . . . . . . . . . . 102.2 Spectre d’un son de corde pincée. . . . . . . . . . . . . . . . . . . . . 112.3 La droite F2 = 3F1 représentant le sous-espace des timbres lié au

points de pinçages de sons de cordes pincées. . . . . . . . . . . . . . . 122.4 Rotation de la main droite selon l’axe orthogonal aux cordes. . . . . . 132.5 Variations de la position de la main droite. . . . . . . . . . . . . . . . 132.6 Sonagrammes des excitations naturelles sur un corde de guitare clas-

sique. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.7 Spectres des excitations naturelles sur un corde de guitare classique. . 142.8 Exemples d’interactions MIDI. . . . . . . . . . . . . . . . . . . . . . . 152.9 Interface intuitive de représentation du jeu de guitare. . . . . . . . . . 172.10 Superposition des voyelles de l’anglais à la droite représentant le sous-

espace des timbres d’une corde de guitare pincée en différents points[5]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.11 Description phonétique (voyelles) d’une mélodie annotée. . . . . . . . 192.12 Description phonétique (syllabes) d’une mélodie annotée. . . . . . . . 202.13 Segmentation de l’espace des voyelles (pour une base de données

MBROLA) sur la droite représentant le sous-espace des timbres d’unecorde de guitare pincée en différents points. . . . . . . . . . . . . . . . 21

2.14 Représentation des tendances d’ouverture, d’aiguïté et de relaxationdans le plan des voyelles ; [6] modifié dans [5]. . . . . . . . . . . . . . 23

2.15 Evolution de l’ellipse de représentation de la bouche sous l’influencedes paramètres d’ouverture et d’acuité. . . . . . . . . . . . . . . . . . 24

2.16 Représentation visuelle des descripteurs vocaux pour une mélodie ex-traite de "L’encouragement", Fernando Sor (Doigté 1). . . . . . . . . 25

2.17 Représentation visuelle des descripteurs vocaux pour une mélodie ex-traite de "L’encouragement", Fernando Sor (Doigté 2). . . . . . . . . 26

2.18 Représentation visuelle des descripteurs vocaux pour une mélodie ex-traite de "L’encouragement", Fernando Sor (Doigté 3). . . . . . . . . 27

2.19 Représentation visuelle des descripteurs vocaux pour une mélodie ex-traite de "L’encouragement", Fernando Sor (Doigté 4). . . . . . . . . 28

2.20 Représentation visuelle des descripteurs vocaux pour une mélodie ex-traite de "L’encouragement", Fernando Sor (Doigté 5). . . . . . . . . 29

vii

Page 9: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

TABLE DES FIGURES viii

2.21 Spectre d’une voyelle ("ah" comme dans "father"). . . . . . . . . . . 292.22 Schéma de principe d’un guide d’onde. . . . . . . . . . . . . . . . . . 30

3.1 Onde glottique correspondant à différents modes de phonation [7]. . . 323.2 Représentation de la fréquence fondamentale d’une note chantée. . . . 343.3 Signal glottique par filtrage d’un train d’impulsions. . . . . . . . . . . 353.4 Train d’impulsion à relaxation variable. . . . . . . . . . . . . . . . . . 353.5 Signal modulé en amplitude suite à un tremolo. . . . . . . . . . . . . 363.6 Recouvrement des réponses impulsionnelles causé par une fréquence

fondamentale élevée. . . . . . . . . . . . . . . . . . . . . . . . . . . . 363.7 Fenêtre de Hanning. . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.8 Lecture non-linéaire de l’onde symétrique. . . . . . . . . . . . . . . . 373.9 Signaux glottiques synthétisés pour différentes valeurs des paramètres

du modèle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383.10 Représentation en treillis du filtre de synthèse LPC. . . . . . . . . . . 403.11 Modélisation acoustique du conduit vocal. . . . . . . . . . . . . . . . 403.12 Représentation d’une voyelle par un couple (x1, y1). . . . . . . . . . . 413.13 Représentation bidimensionnelle de la fonction sinc. . . . . . . . . . . 423.14 Interprétation des zones intermédiaires comme des surfaces réglées. . 433.15 Construction de parole chantée en synthèse à deux flux. . . . . . . . . 443.16 Schéma de principe du synthétiseur à deux flux. . . . . . . . . . . . . 47

B.1 Interface de stockage de la partition musicale . . . . . . . . . . . . . . 52B.2 Programmation graphique de la lecture d’une collection . . . . . . . . 54B.3 Programmation graphiques des calculs de conversion de la section 2.3 54B.4 Interface d’affichage de l’évolution temporelle des descripteurs de Slaw-

son . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68B.5 Représentation des descripteurs de Slawson sous forme d’une bouche . 69

C.1 Programme de démarrage de Csound dans Max/MSP . . . . . . . . . 76C.2 Programmation graphique du module de contrôle du synthétiseur

Csound . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

D.1 Variables d’une cellule de filtre en treillis . . . . . . . . . . . . . . . . 84D.2 Contrôle d’une variable Csound par un potentiomètre Max/MSP . . . 90D.3 Interface de la source indépendante . . . . . . . . . . . . . . . . . . . 91D.4 Mixage des deux sources indépendantes . . . . . . . . . . . . . . . . . 92D.5 Câblage de la balance générale . . . . . . . . . . . . . . . . . . . . . . 92D.6 Contrôle du filtre en treillis . . . . . . . . . . . . . . . . . . . . . . . 92

E.1 Lecture de la pile de syllabes . . . . . . . . . . . . . . . . . . . . . . . 94E.2 Routage des messages et séparation des symboles . . . . . . . . . . . 94E.3 Priorités dans la gestion de la syllabe à un phonème . . . . . . . . . . 95E.4 Priorités dans la gestion de la syllabe à deux phonèmes . . . . . . . . 95E.5 Priorités dans la gestion de la syllabe à trois phonèmes . . . . . . . . 96E.6 Mémoire à bascule pouvant stocker des symboles . . . . . . . . . . . . 96

Page 10: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

Chapitre 1

Introduction Générale

1.1 IntroductionDans cette partie, nous allons décrire toutes les notions intervenant dans la suitedu travail. Nous commencerons par décrire le contexte général, allant du séjourau Québec (section 1.2) au milieu de la composition életroacoustique (section 1.3).Ensuite, nous décrirons la principale discipline intervenant dans l’élaboration desapplications présentes dans ce travail : la synthèse de voix parlée (section 1.4) et sesproblèmes d’adaptation au domaine musical. Enfin, nous expliquerons le fonction-nement des outils logiciels utilisés : Max/MSP (section 1.6), Csound (section 1.7)pour les environnements de travail et MBROLA (section 1.5) pour le synthétiseurde voix parlée.

1.2 Travail de Fin d’Études au QuébecLe fait de réaliser ce Travail de Fin d’Etudes au Québec est l’aboutissement d’unedémarche de plus ou moins un an. Il n’est pas du tout exagéré de préparer un telséjour aussi longtemps à l’avance. En effet, il s’agit de passer plus de cinq moisdans une ville nord-américaine. Il faut donc planifier l’ensemble des services donton a besoin (services bancaires, assurances, relations académiques, etc) en gardantà l’esprit que les choses se nomment souvent différemment (même s’il s’agit d’unerégion francophone), que les sessions ne sont pas étalées de la même manière, etc.Une section en annexe décrit, point par point, les principales étapes conduisant à ceséjour au Québec.

1.3 La composition électroacoustiqueIl est toujours très délicat de vouloir donner une définition à une discipline artis-tique. Cette section n’a pas du tout cette prétention. Il s’agit plutôt d’une analysepersonnelle du milieu dans lequel ce travail s’est déroulé. Cette analyse tentera toutau plus d’offrir la vision d’un étudiant en sciences appliquées sur les techniques etcontraintes de la composition électroacoustique.

1

Page 11: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

CHAPITRE 1. INTRODUCTION GÉNÉRALE 2

Composer une pièce électroacoustique requiert une grande maîtrise de l’outil infor-matique. En effet, alors que l’ordinateur n’est qu’une aide à la production dans lesstyles musicaux plus conventionnels, il est véritablement considéré comme un instru-ment à part entière dans la composition électroacoustique. Cette utilisation se fait autravers d’une multitude des logiciels permettant une grande quantité de traitementsnumériques du son et de méthodes de synthèse.

Néanmoins, il est important de signaler que la méthode de traitement numériqueou de synthèse et l’habilité à s’en servir n’est pas une fin en soi. En effet, il est im-portant de voir la démarche artistique qui dirige toutes les implications techniques.La réalisation d’un outil qui ne prend pas en compte cette démarche artistique etnéglige la problématique de l’interface, sera bien souvent abandonné par les musi-ciens. Il est donc primordial que cet outil soit le fruit d’une étroite collaboration avecles utilisateurs et ait fait l’objet de nombreux tests avant d’être considéré commeterminé.

Cette manière d’envisager la collaboration est très enrichissante car elle soumetdirectement les connaissances techniques aux problèmes esthétiques. En effet, lesrequêtes des musiciens ne se soucient pas des contraintes techniques, ce qui pousseà explorer de nouvelles voies.

1.4 La synthèse de voix parléeLa production de voix humaine à l’aide d’un ordinateur est une discipline qui a connu,ces vingt dernières années, une progression technologique considérable. Pourtant, ceproblème intéresse les scientifiques depuis longtemps (modèle auto-régressif de laparole [8]). Les premières implémentations étaient héritées du traitement des signauxanalogiques. Il a fallu attendre l’avènement des machines modernes et la possibilitéde manipuler rapidement des flux audionumériques importants pour pouvoir utiliserde nouveaux algorithmes jusque là utopiques.

Aujourd’hui, lorsqu’on aborde un problème de synthèse vocale, dans notre cas, dansle domaine musical, on s’expose à une grande diversité dans l’élaboration de lasolution. Cette partie introductive se propose d’en décrire les points de repères fon-damentaux.

On peut principalement séparer la synthèse de voix selon deux problématiques : laproduction et le contrôle.

1.4.1 Techniques de production sonore

On distingue principalement deux moyens de générer la texture sonore : la synthèsepar filtrage et directement dans le domaine temporel. Nous ne considérons pas lasynthèse additive. Celle-ci est très peu adaptée à notre contexte de travail.

Page 12: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

CHAPITRE 1. INTRODUCTION GÉNÉRALE 3

Synthèse par filtrage

Dans ce cas, on filtre une source d’excitation à spectre large (train d’impulsions,bruit) afin d’y sculpter l’enveloppe spectrale souhaitée. Cette enveloppe spectralepeut être de différentes natures :

– Une cascade de résonateurs : on dispose un certain nombre (entre 3 et 5) de cellulesrésonantes du second degré en cascade. On identifie une enveloppe spectrale àl’ensemble des paramètres nécessaires à sa réalisation : fréquences de résonance,bandes passantes à - 3 dB et amplitudes de chaque formant.

– Une enveloppe LPC : elle est basée sur le calcul d’un filtre tout-pôle dont l’en-veloppe suit au mieux (au sens de la minimisation de la variance de l’erreur deprédiction) celle du signal de parole. On identifie l’enveloppe spectrale aux coeffi-cients du filtre (entre 10 et 30).

– Une réponse impulsionnelle ou l’enveloppe spectrale : la grandeur des mémoiresactuelles permet de stocker la totalité d’une réponse impulsionnelle ou d’une en-veloppe spectrale. Cette technique est de plus en plus utilisée pour la simulationde réverbération. On identifie une enveloppe spectrale par le contenu du tableaumémoire.

Il est important de faire remarquer que la séparation qui vient d’être effectuée n’a paspour but de distinguer des algorithmes de filtrage. En effet, quel que soit le moyende générer une enveloppe spectrale, le filtrage sera toujours effectué par convolutiontemporelle ou multiplication de spectres. L’intérêt est ici de distinguer les diffé-rents objets qui seront disponibles – éventuellement dans un environnement commeMax/MSP (voir la description à la section 1.6) ou Csound (voir la description à lasection 1.7) – pour réaliser la synthèse. Comme nous allons le voir, ils influencentprincipalement les techniques de contrôle.

Synthèse dans le domaine temporel

Dans ce cas, on crée la texture directement dans le domaine temporel. Ces tech-niques ont remporté un grand succès à une époque où l’implémentation d’une étapeFFT/IFFT dans l’algorithme réduisait considérablement sa vitesse de fonctionne-ment. Nous nous proposons d’en décrire quelques unes :

– La synthèse par formes d’ondes formantiques (FOF) : il s’agit d’une façon éco-nomique de représenter la réponse impulsionnelle d’un formant, sous forme d’ungrain. La génération de ces grains FOF se fait à la fréquence fondamentale. L’iden-tification de l’enveloppe spectrale se fait par les paramètres des différents grains(fréquence d’oscillation de la forme d’onde, enveloppe temporelle). L’inconvénientde cette technique est qu’elle devient très coûteuse en temps de calcul lorsque lafréquence fondamentale augmente.

– La déformation de textures existantes : la découverte par Christian Hamon [9] d’unalgorithme permettant de modifier la durée et la fréquence fondamentale d’un fi-

Page 13: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

CHAPITRE 1. INTRODUCTION GÉNÉRALE 4

chier audionumérique sans en affecter l’enveloppe spectrale (addition-recouvrementde formes d’ondes extraites du signal) a donné naissance à une nouvelle famille desynthétiseur vocaux tirant leur matière première directement de parole naturelle.Il s’agit des systèmes utilisant PSOLA1 comme les synthétiseurs TD-PSOLA2 ouMBROLA3, et également les techniques NUU4, même si celles-ci tendent de moinsen moins à déformer les fichiers originaux. L’identification de l’enveloppe spectralese fait par étiquetage des différentes ressources audionumériques (par exemple :identifier l’échantillon contenant la voyelle "a" à la lettre "a").

1.4.2 Techniques de contrôle

La qualité des techniques énoncées au point précédent atteint aujourd’hui des som-mets. En effet, les téléphones cellulaires effectuent brillamment de l’analyse et dela synthèse de parole grâce à un modèle hérité du modèle LPC et les systèmes àsélection d’unités (NUU) fournissent une voix presque humaine. Nous allons voirles deux principales méthodes de pilotage de ces synthèses pour générer un discourscontinu.

– La synthèse par règles : cette méthode identifie chaque zone stationnaire (voyelle)du langage comme une configuration des paramètres vus précédemment. Les zonestransitoires (consonnes) sont envisagées comme des règles, des lois. Par exemple,pour produire un "b" en avant d’un "a", il faut faire glisser les formants (aumoins les trois premiers) du "a" à partir d’une valeur inférieure. L’intelligibilitéde la consonne dépend de l’ajustement des règles (temps de montée, valeur dedépart). Cette approche fournit un contrôle fort sur la parole. On pourrait tout àfait envisager de faire varier la configuration des voyelles et ainsi passer d’une voixd’homme à une voix femme de manière continue. Malheureusement, l’abondance etla complexité des règles à contrôler lorsqu’on veut produire de la parole intelligiblelimitent son utilisation à des textes simplifiés.

– La synthèse par concaténation : cette méthode construit l’évolution temporellede ces règles de transitions, trop complexes à décrire, en disposant bout à boutdes morceaux de transitoires calculés sur de la parole humaine. Cela fournit uneintelligibilité de très haute qualité mais où toute notion de contrôle a quasimentdisparu. En effet, le locuteur sera désormais celui contenu dans la base de données.De plus, pour les systèmes basés sur la modification temporelle des ressourcesaudionumériques (basés sur PSOLA), un contrôle fin de la prosodie requiert ungrand nombre de paramètres à spécifier.

Le principal problème de l’utilisation de la synthèse de voix parlée dans le domainemusical est le contrôle. En effet, le développement ces synthétiseurs a été motivé par

1PSOLA : Pitch-Synchronous Overlap and Add, une méthode pour modifier la fréquence fon-damentale et la durée d’un signal audionumérique.

2TD-PSOLA : Time Domain Pitch Synchronous Overlap and Add.3MBROLA : Multi Band Resynthesis Overlap and Add.4NUU : Non Uniform Units, méthode reconstituant de la parole en trouvant le chemin le plus

probable dans un corpus très large.

Page 14: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

CHAPITRE 1. INTRODUCTION GÉNÉRALE 5

leurs applications industrielles : téléphonie, médias, informatique, etc. Dans cetteoptique, les produits ont été optimisés pour l’intelligibilité au gardant un aspect"boîte noire" en matière de contrôle (le texte entre d’un côté, le signal de parolesort de l’autre). Nous entrerons dans le détail de cette problématique dans la partieconsacrée à la synthèse de voix chantée.

1.5 MBROLALe synthétiseur MBROLA a été développé dans les laboratoires de la Faculté Poly-technique de Mons. Il s’agit d’un synthétiseur par concaténation de diphones. Celasignifie qu’il génère de la parole par mise en série de couples de phonèmes enregis-trés et sauvegardés dans une base de données. Ces diphones sont sauvegardés auformat audionumérique avec une fréquence fondamentale et une durée standardi-sées. Chaque diphone commence et se termine dans la partie stable d’un phonèmede manière à préserver la coarticulation de la voix humaine.

Le principe de fonctionnement de MBROLA est illustré à la figure 1.1. Le fichierd’entrée se présente comme une suite de phonèmes (1) auxquels sont associés desparamètres : la durée et les "points de pitch". Ces derniers sont des fréquences fon-damentales imposées à un certain pourcentage de la durée spécifiée. L’interpolationentre les différents points de pitch est linéaire. Cette suite de phonèmes est convertieen une suite de diphones (2) permettant ainsi la sélection dans la base de données.Ensuite, chacun des diphones est travaillé pour correspondre aux exigences du fichierd’entrée (4). Ce qui rend ce calcul très rapide, c’est le fait de pouvoir modifier lafréquence fondamentale du signal directement dans le domaine temporel (cela évitel’utilisation de la FFT et IFFT). Cette opération est rendue possible grâce à un algo-rithme utilisant l’addition-recouvrement de formes d’ondes extraites du signal, misen oeuvre pour la première fois dans le synthétiseur PSOLA. Enfin, cette concaté-nation est suivie d’un algorithme minimisant les discontinuités entre les éléments deparole (5). Pour de plus amples informations sur ces synthétiseurs, nous renvoyonsle lecteur à l’ouvrage Traitement de la parole [10].

1.6 Max/MSP"Max is a graphical music programming environment for people who have hit the

limits of the usual sequencer and voicing programs for MIDI equipment."Miller Puckette, Max Reference Manual, 1988

L’environement Max a été conçu dans les laboratoires de l’Ircam5 à Paris par MillerPuckette. Il est devenu un produit commercial en 2000 en étant racheté par la sociétéCycling’74.

Il est relativement difficile de décrire ce que fait Max. Il n’existe pas de limites auxinteractions possibles. Basé sur le concept de programmation par graphes (objets

5Ircam : Institut de Recherche et de Coordination Acoustique et Musique.

Page 15: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

CHAPITRE 1. INTRODUCTION GÉNÉRALE 6

Fig. 1.1 – Principe de fonctionnement de MBROLA.

connectés par des liens dans un environnement graphique, cf. figure 1.2), il per-met l’intervention de tous les périphériques externes de l’ordinateur (clavier, souris,écran tactile, palette graphique, clavier MIDI, ...) avec toutes les sources de médiasdisponibles (MIDI, audio, video, ...), pour autant que les pilotes existent.

La récente explosion des performances informatiques a fait de Max un outil temps-réel incontournable. En effet, il est aujourd’hui possible de réaliser un mixage audioet video en concert à l’aide de son ordinateur portable. Des cours sont désormaisdispensés afin de former les compositeurs à intégrer toutes ces technologies.

L’interface de base de Max est essentiellement MIDI. C’est au travers des biblio-thèque MSP et Jitter que l’interaction avec d’autres types de médias est possible.La bibliothèque MSP contient, au départ, plusieurs centaines d’objets. De plus, l’ex-tension des fonctionnalités est garantie par la possibilité de programmer soi-mêmedes objets externes en langage C. En effet, une documentation très complète estdisponible pour se familiariser avec l’API6.

6API : Application Programming Interface.

Page 16: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

CHAPITRE 1. INTRODUCTION GÉNÉRALE 7

Fig. 1.2 – Exemple de module dans Max/MSP.

Cette démarche a été réalisée par les laboratoires de la Faculté Polytechnique deMons. Il existe désormais un objet MSP intégrant la technologie MBROLA (RaphaëlSebbe, Nicolas D’Alessandro, Août 2003).

1.7 CsoundLe logiciel Csound est un environnement de travail pour fabriquer de la matièresonore avec un ordinateur. Il a été créé par Barry Vercoe, du MIT en 1991 [11].Il s’agit d’un langage de programmation s’articulant en deux parties : le fichierorchestre et le fichier partition.

Le fichier orchestre permet la construction d’instruments représentant une chaînede traitement numérique du son. Ces chaînes sont fabriquées à partir d’opérateursélémentaires, appelés opcodes. On retrouve des opcodes permettant tous les calculsmathématiques habituels, des filtres, des effets, etc. La syntaxe est toujours iden-tique : le ou les arguments de sortie, le nom de l’opcode, le ou les arguments d’entrée.Ces instruments permettent la manipulation de trois types de données : les variablesaudionumériques (de type "en a", mises à jour à la fréquence d’échantillonnage), les

Page 17: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

CHAPITRE 1. INTRODUCTION GÉNÉRALE 8

variables de contrôle (de type "en k", mises à jour à un taux inférieur à la fréquenced’échantillonnage, par exemple dix fois moins vite) et les variables d’initialisation(de type "en i", mises à jour à chaque déclenchement d’une note, cf. paragraphesuivant).

Le fichier partition contient deux éléments : les tables d’ondes et les notes. Lestables d’ondes sont des vecteurs contenant une série de valeurs. Il peut s’agir d’uneenveloppe temporelle, d’une forme d’onde pour un oscillateur, etc. Les notes sont lesévénements qui utilisent les instruments du fichier orchestre. Il s’agit d’un messagecontenant une série d’arguments. Ces arguments mettent à jour, au déclenchementde la note, les variables qui s’y rapportent (notation normalisée : p suivi d’un nombrecorrespondant à la position de l’argument dans le message).

Exemple de fichier orchestre

instr 1kamp = p4krfeq = p5asig oscil kamp, kfreq, 1endin

Ce script déclare un Instrument 1 dans lequel le quatrième et le cinquième argumentdes notes est affecté respectivement à l’amplitude et la fréquence d’un oscillateurutilisant la table 1.

Exemple de fichier partition

f1 0 8192 10 1i1 0 2 10000 440e

Ce script déclare la table 1 (f1 ) comme une onde sinusoïdale (générateur 10 avecl’harmonique 1) de 8192 points ayant un décalage initial de 0. La note qui jouel’instrument 1 (i1 ) a un décalage initial de 0, dure 2 secondes et met à jour p4 etp5 respectivement à 10000 et 440.

Page 18: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

Chapitre 2

Recherche de descripteurs vocauxpour la guitare classique

2.1 IntroductionLa guitare classique est un instrument qui se prête relativement bien à une étudepoussée sur le timbre. En effet, le musicien peut interagir de façon très complexesur le mécanisme de production du son : il peut varier le point de pinçage de lacorde, l’intensité, l’inclinaison de la main, la zone de contact du doigt de pinçage, ilpeut choisir différentes cordes pour une même note. Cela fournit à l’interprète uneinteraction très forte avec le timbre.

Dans la section 2.2, nous allons séparer l’interaction avec l’instrument en deux para-mètres principaux : le point de pinçage (position par rapport au pont) et l’inclinaisonde la main droite (axe orthogonal aux cordes). Nous allons voir que le choix du pointde pinçage influence principalement l’enveloppe spectrale de la note alors que le choixde l’inclinaison influence plutôt l’allure de l’attaque. Nous noterons également quele choix de l’inclinaison influence également l’enveloppe spectrale par l’intermédiairede la zone de contact lors du pinçage.

Après avoir décrit le formalisme des données d’entrée (cf. section 2.3), nous explique-rons dans quelle mesure il est possible d’associer des descripteurs vocaux, paramètresissus de l’analyse de la production vocale, et de les visualiser (cf. section 2.4).

2.2 Etude des paramètres gestuels

2.2.1 Influence du point de pinçage sur le spectre de la partieharmonique d’une note

Considérons le système oscillant constitué d’une corde de longueur l, d’un pont etd’une frette. Il est excité en un point de pinçage à une distance p du pont commeillustré à la figure 2.1.

Définissons d’abord quelques grandeurs :

9

Page 19: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

CHAPITRE 2. DESCRIPTEURS VOCAUX 10

Fig. 2.1 – Représentation d’une corde de guitare.

– R = p/l, la position relative de pinçage– fo, la fréquence fondamentale de la note– h, le déplacement vertical initial

Suite au pinçage, deux ondes progressives se propagent dans la corde : l’une versla frette et l’autre vers le pont. Par réflexions successives, un onde stationnaires estcrée. On peut montrer que la vibration résultante au pont – point à partir duquell’énergie vibratoire est communiquée à la caisse de résonance – contient des maximaaux fréquences qui sont des multiples entiers impairs de fo/2R et des minima auxfréquences qui sont des multiples entiers de fo/R selon la formule de l’amplitude dunième mode de vibration d’une corde idéale de longueur l [3] :

Cn(h,R) =2h

n2π2R(1−R)sin(nπR)

Cette représentation mathématique fournit des spectres typiques des filtres en peignetels que ceux de la figure 2.2.En outre, on peut montrer que la fréquence d’apparition du premier maximum estindépendante de la fréquence de la note fo (sur une corde donnée) [5]. En effet,

F1 =fo

2R=

lfo

2p

or, on sait que

lfo =c

2

où c est la vitesse de propagation de l’onde sur la corde, et donc

F1 =c

4p.

Page 20: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

CHAPITRE 2. DESCRIPTEURS VOCAUX 11

Fig. 2.2 – Spectre d’un son de corde pincée.

Il est ensuite très simple de trouver la position des maxima suivants puisque ceux-cise placent aux multiples impairs de F1. L’assimilation de ces maxima à des formantsa été proposée par Caroline Traube dans le cadre de sa thèse de doctorat [4].

Ceci signifie que l’allure de filtre en peigne de l’enveloppe spectrale du signal produitest simplement fonction de la corde et de son point de pinçage. Le choix du pointde pinçage peut être interprété comme le choix de la position du premier formant(et donc de toute l’allure formantique) du timbre du son produit.

On peut représenter les différentes possibilités (point de pinçage et corde) par unedroite de coefficient angulaire (pente) égal à trois dans le plan (F1,F2). Pour uneguitare donnée, on va observer que les zones relatives aux différents points de pinçaged’une même corde ne sont pas disjointes. Il n’est donc pas trivial de déterminer lacorde jouée dès qu’on l’a placée dans le plan (F1, F2). Tout cela est illustré à lafigure 2.3.

Remarquons cependant que ces hypothèses sont assez réductrices. Elles supposentque le choix du point de pinçage est la seule action dont dispose l’interprète pour agirsur la partie harmonique du timbre. Cela est valable pour la position des formants.Nous verrons plus loin dans ce chapitre que leur amplitude est affectée par d’autresparamètres.

2.2.2 Influence de l’inclinaison de la main droite

D’un point de vue gestuel, l’inclinaison de la main droite est l’angle que la maindroite peut former en tournant selon un axe orthogonal aux cordes et parallèle à latable de l’instrument. Une illustration est donnée à la figure 2.4.

D’un point de vue acoustique, le problème est plus complexe. En effet, incliner la

Page 21: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

CHAPITRE 2. DESCRIPTEURS VOCAUX 12

Fig. 2.3 – La droite F2 = 3F1 représentant le sous-espace des timbres lié au pointsde pinçages de sons de cordes pincées.

main de cette façon expose la corde à une zone de contact plus large. Nous allonsposer que 0 degrés correspond à des doigts parfaitement perpendiculaire à la corde. Al’opposé, 90 degrés correspond à des doigts parfaitement parallèle ce qui, en pratique,ne correspond pas à une position jouable. Une illustration est donnée à la figure 2.5.Les deux influences principales de ce déplacement sont le temps d’attaque et lasurface de la zone de contact (doigt et ongle).

Une attaque à 0 degrés sera nette, très rapide. Le temps d’attaque va augmenter avecl’angle, produisant un son de moins en moins percussif. Nous verrons, dans la sectionconsacrée aux descripteurs vocaux (cf. section 2.4), quelles sont les conséquencesperceptuelles.

La surface de la zone active augmente avec l’angle. On peut montrer de différentesmanières que cette augmentation de surface conduit à un filtrage passe-bas de plusen plus important. Nous utilisons ici une approche expérimentale.

Considérons que la corde est excitée par une seule impulsion numérique. On supposeune fréquence d’échantillonnage standardisée de 44100 Hz. Il s’agit bien évidem-ment d’un cas de figure théorique, impossible à réaliser en pratique. Néanmoins, cetexemple fixe une borne maximum à la rapidité d’excitation et montre qu’elle corres-pond à un spectre d’amplitude plat pour toutes les fréquences. Une telle situationne déforme pas (à un facteur multiplicatif près) le spectre en peigne obtenu au pointprécédent.

Visualisons à présent, à la figure 2.7, l’allure temporelle d’excitations naturellesmesurées à différents angles. Ces audiogrammes ont été enregistrés sur une guitareclassique en appliquant le doigté requis sur une corde complètement étouffée.

Page 22: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

CHAPITRE 2. DESCRIPTEURS VOCAUX 13

Fig. 2.4 – Rotation de la main droite selon l’axe orthogonal aux cordes.

Fig. 2.5 – Variations de la position de la main droite.

Nous pouvons observer l’étalement temporel de plus en plus important de l’impulsioncausée par l’augmentation de l’angle d’attaque. Naturellement, on peut vérifier queles spectres correspondants s’appauvrissent en hautes fréquences (figure 2.7). Lesformants du spectre de la corde vont donc conserver leur position mais leur amplitudeva décroître d’autant plus vite que l’angle d’attaque est grand.

2.2.3 Les autres paramètres gestuels

Dans la suite des opérations, nous allons principalement utiliser les deux paramètresque nous venons d’expliquer. Néanmoins, dans le soucis d’obtenir une interface pluscomplète, d’autres paramètres seront intégrés. Nous considérons désormais que lepoint de pinçage et l’inclinaison sont fixés.

On distingue ici deux techniques de pinçage, le apoyando (buté) et le tirando (tiré).Le premier correspond à un déplacement initial dans le plan parallèle à la table,l’autre dans un plan perpendiculaire. Dans une modélisation physique de corde, onreprésente la propagation des ondes transversales verticales et horizontales. Le choix

Page 23: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

CHAPITRE 2. DESCRIPTEURS VOCAUX 14

Fig. 2.6 – Sonagrammes des excitations naturelles sur un corde de guitare classique.

Fig. 2.7 – Spectres des excitations naturelles sur un corde de guitare classique.

d’un paramètre apoyando ou tirando dans l’interface permettra de privilégier l’uneou l’autre de ces propagations.

On peut également mettre en évidence la manière dont les notes se succèdent, englissando (glissé sans attaque), legato (vibration continue) ou staccato (silence entreles notes). Comme nous le verrons plus loin, ces différents modes de jeu auront uneincidence perceptive.

2.3 Formatage des données d’entréeMaintenant que nous avons passé en revue les paramètres gestuels d’un jeu de guitareclassique, nous devons les disposer dans une interface adéquate pour un interprète.D’abord, nous envisagerons une représentation exhaustive de ces paramètres, étapenécessaire pour tester des situations extrêmes. Ensuite, nous tenterons de réduirel’interaction à des paramètres intuitifs dans un jeu de guitare. Dans tous les cas, nousutiliserons un protocole standard dans la traduction de la gestuelle instrumentale,le protocole MIDI.

Page 24: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

CHAPITRE 2. DESCRIPTEURS VOCAUX 15

2.3.1 Le protocole MIDI

Le protocole MIDI (Musical Instrument Digital Interface) a été développé pour four-nir une représentation standardisée de la gestuelle instrumentale et ainsi permettre ledialogue – et donc la synchronisation – entre diverses machines compatibles (synthé-tiseurs, séquenceurs, mémoires, instruments, ...). Les données MIDI sont l’ensembledes messages courts échangés d’une machine à une autre (taux normalisé de 31250bps). L’exemple le plus courant est l’envoi d’un booléen lorsqu’une touche de clavierest enfoncée (Note On) suivi de l’indice de la touche (Pitch) et de l’intensité (Ve-locity1). Le même type de message se produit lorsque la touche est relâchée (NoteOff ). L’échelle standard possède 128 valeurs (contrôle en 7 bits) mais il est désor-mais possible d’utiliser, sous Max/MSP, des contrôleurs à 512 ou 1024 valeurs. Toutdépend de la finesse du contrôle que l’on estime nécessaire dans son application. Lafigure 2.8 présente une illustration simple d’interaction MIDI.

Fig. 2.8 – Exemples d’interactions MIDI.

2.3.2 Liste exhaustive des paramètres

Pour être complètement compatible avec le protocole MIDI, une note devrait cor-respondre à deux événements, un Note On et un Note Off, tous deux suivis des

1L’appellation "vélocité" pour l’intensité d’une note vient historiquement du fait que, sur lesclaviers de synthétiseurs, l’intensité se mesurait par la vitesse de l’enfoncement de la touche.

Page 25: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

CHAPITRE 2. DESCRIPTEURS VOCAUX 16

différents paramètres. Dans cette étape, nous ne considérons pas la possibilité de jeuen apoyando ou tirando.

NoteOn : Ntouche, Ncorde, Npointdepincage, Ninclinaison, NGLS

NoteOff : Ntouche, Ncorde, Npointdepincage, Ninclinaison, NGLS

où :

– Ntouche est le numéro de la touche de clavier.– Ncorde est le numéro de la corde : 1(Eaigu), 2(B), 3(G), 4(D), 5(A), (6)Egrave.– Npoint de pinage est la valeur représentant le point de pinçage : 0 = sur le pont, 127

= demi-longueur de la corde.– Ninclinaison est la valeur représentant l’inclinaison : 0 = 0 degrés, 127 = 90 degrés.– NGLS est la valeur représentant le type de jeu : 0 = Glissando, 1 = Legato, 2 =

Staccato.

Tout en gardant un caractère exhaustif, nous allons tout de même simplifier cettereprésentation. Il est musicalement intéressant de représenter chaque note par unseul événement. Il faudra donc ajouter un paramètre pour la durée de la note. Lapartition se présentera sous forme d’une liste (à la manière de Csound). Nous allonségalement scinder le numéro de la touche en deux, le nom de la note et l’octave :

Index : Snote, Noctave, Nduree, Ncorde, Npointdepinage, Ninclinaison, NGLS

où :

– Snote est le symbole de la note au format anglo-saxon (exemple : Sol s’écrit G).– Noctave est le numéro de l’octave en prenant A4 comme référence du La à 440 Hz.– Nduree est la durée de la note en subdivisions de ronde, standard utilisé en solfège

(exemple : une noire s’écrit 4). Pour retrouver la durée exacte, il faudra doncadjoindre un paramètre de tempo.

En imposant une numérotation (Nnote) des symboles de notes prenant le A commeréférence (B = 3, C = 4, ...), voici la formule permettant de retrouver la fréquence(en Hz) dans un tempérament égal.

fo = 440× 2Nnote

12 × 2Noctave−4

De même, une formule de conversion sera nécessaire pour retrouver la durée ensecondes.

D =60

Ntempo

× 4

Nduree

Page 26: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

CHAPITRE 2. DESCRIPTEURS VOCAUX 17

2.3.3 Réduction du nombre de paramètres pour une interfaceplus guitaristique

Si on se place du point de vue du guitariste, on ne choisit pas, pour chaque note, lepoint de pinçage et l’inclinaison de chaque doigt. En jouant, l’interprète fait évoluerintuitivement ces deux paramètres de manière globale, pour toute la main. L’élémentqui permet de passer de la notion individuelle à la notion globale est le doigté de lamain droite. Notre but est donc ici de trouver une conversion optimale entre ces deuxreprésentations, un modèle pour la main droite. L’interface finale sera constituéed’une partition annotée par un numéro de corde (de 1 à 6) et un nom de doigt (p,i, m, a) – ce qui rejoint le format utilisé en musique classique – juxtaposée à deuxcourbes d’évolution globale de la main droite, la position de pinçage et l’inclinaison.Ceci est présenté à la figure 2.9.

Fig. 2.9 – Interface intuitive de représentation du jeu de guitare.

Nous appelons p le point de pinçage global et pp, pi, pm, pa respectivement lespoints de pinçage individuels du pouce, index, majeur et annulaire. Nous considéronsque l’évolution globale est celle ciblée par l’index. Le majeur et l’annulaire pincentdonc plus près du pont. Nous considérons un centimètre entre chaque doigt. Lepouce est aligné sous l’index lorsque la main est perpendiculaire aux cordes (positionclassique). Plus la main s’incline, plus le pouce s’éloigne de l’index en direction dumilieu de la corde. Nous considérons, qu’à 90 degrés d’inclinaison, le pouce s’estdécalé de deux centimètres. L’interpolation entre les deux positions est linéaire :

pp = p− α

45pi = p

Page 27: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

CHAPITRE 2. DESCRIPTEURS VOCAUX 18

pm = p− δ

pa = p− 2δ

où α est l’angle d’inclinaison et δ l’écartement entre les doigts (plus ou moins 1.5cm).

2.4 Identification des descripteurs vocaux

2.4.1 Contexte

Dans l’étude des paramètres gestuels, nous avons mis en évidence le sous-espace detimbres dans lequel évolue la guitare classique. Cette représentation dans l’espace(F1, F2) n’était pas sans intention. En effet, ce plan permet, entre autre, de position-ner les voyelles du langage humain. Nous pouvons observer cette superposition avecles voyelles de l’anglais à la figure 2.10. La notation phonétique IPA, courammentutilisée, est ici remplacée par la notation en "couleur sonore" [6].

Fig. 2.10 – Superposition des voyelles de l’anglais à la droite représentant le sous-espace des timbres d’une corde de guitare pincée en différents points [5].

Si on considère la suite de points de pinçage allant du pont à la demi-longueur dela corde, pour toutes les cordes, on définit une séquence de voyelles particulière.Globalement, on va d’un son "ou" (au milieu des cordes graves), très rond et fermévers un son "è" ou "in", (près du pont des cordes aiguës), très minces. En affinantcette identification, on peut arriver à une description phonétique des voyelles d’unjeu de guitare [5], comme cela est illustré à la figure 2.11.

Page 28: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

CHAPITRE 2. DESCRIPTEURS VOCAUX 19

Fig. 2.11 – Description phonétique (voyelles) d’une mélodie annotée.

Cette découverte sur le plan acoustique conforte un grand nombre de constatationssur l’imitation des instruments et les onomatopées. En effet, n’aurions nous pastous tendance à imiter une contrebasse avec des sons "ou", ce qui se vérifie par lafaible valeur de la fréquence du premier formant (F1) lorsqu’elle est calculée avec lesparamètres (c, fo ou p) d’une telle corde.

Des tests perceptuels ont été réalisés sur un public mixte (musiciens, non-musiciens,guitaristes, non-guitaristes). Différentes notes étaient jouées (avec des points de pin-çage différents) et on demandait à ces personnes d’imiter ce qu’elles percevaient. Ona remarqué que l’allure générale des perceptions suivait bien la ligne "ou" - "in"préalablement estimée [4].

De plus, les personnes interrogées ont, pour la plupart, imité le son perçu commeune syllabe et non pas comme une voyelle simple (exemple : "dou" au lieu de "ou").Notre cerveau étant entraîné à comprendre une langue articulée, il identifie, dans laplupart des cas, un son en le rapprochant d’un élément de langage et non pas enidentifiant la configuration du timbre. Autrement dit, la perception des consonnesdans un jeu de guitare est d’avantage fonction de l’interprétation cérébrale – et doncdépendante de la langue, du sujet, de son apprentissage – que du mécanisme deproduction.

Néanmoins, il est possible de déduire quelques implications de l’inclinaison de lamain droite dans la perception des consonnes. Cette approche tente tout au moinsde fournir une interprétation "par défaut".

Nous disons que plus la main droite pince perpendiculairement la corde (0 degrés),plus l’attaque est brutale. On peut donc modéliser cela par le lieu de productionde la consonne. Une consonne guturale est brutale (exemple : "k"), une consonnelabiale est plus douce (exemple : "b"). Cette propriété est liée à la nature des tissus(gorge, langue, palais, dents, lèvres) mis en oeuvre pour la production du son. Nouspouvons également modéliser l’influence du jeu en glissando / legato / staccato. Unjeu en glissando (pas d’attaque) correspond à l’absence de consonne. Un jeu en legato(vibration continue) correspond aux versions voisées des consonnes (exemple : "b","d" et "g"). Un jeu en staccato (vibration interrompue) correspond aux versions nonvoisées des consonnes (exemple : "p", "t" et "k"), plus éventuellement l’insertiond’un silence [1].

Page 29: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

CHAPITRE 2. DESCRIPTEURS VOCAUX 20

Cette propriété perceptuelle est très importante car elle signifie que, dans l’optiqued’une représentation sonore de descripteurs du jeu, une succession de voyelles nesera pas reconnue par le cerveau comme une imitation pertinente. Il faudra doncajouter les consonnes adéquates à la transcription phonétique. La modification estillustrée à la figure 2.12

Fig. 2.12 – Description phonétique (syllabes) d’une mélodie annotée.

Nous allons à présent nous attacher aux détails de la représentation des descripteursvocaux, d’un point de vue sonore et visuel.

2.4.2 Représentation sonore des descripteurs vocaux

Le but est ici de fournir une imitation vocale d’un phrasé de guitare décrit parsa partition musicale et l’évolution de ses paramètres gestuels. Nous allons d’abordjustifier le choix du synthétiseur MBROLA pour la synthèse. Ensuite, nous explique-rons comment obtenir le flux phonétique à partir de la partition et des paramètresgestuels. Nous ferons également quelques estimations pratiques concernant la réa-lisation d’une base de données dédiée. Enfin, nous parlerons des résultats obtenusavec FR4 2.

Problématique de l’imitation

Quel est le but de cette imitation ? Si nous considérons que le plus important est lavraisemblance spectrale entre le son de guitare et le son de voix, il vaut mieux utiliserune méthode de synthèse source-filtre et ainsi aligner exactement les formants de lavoix sur ceux de la guitare. Toutefois, lorsqu’on écoute les voyelles correspondant àcette trajectoire F1 = 3F2, elles n’apparaissent pas naturelles (difficultés, pour unauditeur, à les nommer).

Nous allons plutôt favoriser le réalisme de l’imitation. Nous allons donc utiliser desvoyelles qui s’éloignent un peu du spectre de guitare (approximations) mais quicorrespondent à des sons vocaux pertinents. Cette méthode de synthèse peut êtreeffectuée par le synthétiseur MBROLA. En effet, la base de données utilisée estconstruite à partir d’échantillons sonores de voix humaine.

2FR4 : base de données de diphones français (voix féminine) pour MBROLA.

Page 30: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

CHAPITRE 2. DESCRIPTEURS VOCAUX 21

Génération du flux phonétique sur base de la partition et des paramètresgestuels

La trajectoire F1 = 3F2 va être segmentée en régions et chacune d’entre elles severra attribuer le phonème le plus représentatif (autrement dit, le plus proche dansle plan (F1, F2)) dans la base de données. Cette opération a été menée avec FR4comme illustré à la figure 2.13.

Fig. 2.13 – Segmentation de l’espace des voyelles (pour une base de donnéesMBROLA) sur la droite représentant le sous-espace des timbres d’une corde deguitare pincée en différents points.

L’angle d’inclinaison de la main droite est également soumis à une segmentationafin de choisir la consonne adéquate. Par exemple, pour des angles d’inclinaisonentre 0 et 45 degrés (inclus), on utilise les consonnes "g" (jeu en legato) et "k"(jeu en staccato). Pour des angles d’inclinaison supérieurs à 45 degrés, on utilise lesconsonnes "b" (jeu en legato) et "p" (jeu en staccato).

Estimations pour la réalisation d’une base de données dédiée

Nos tests ont été effectués avec FR4. Cependant, une solution à envisager pouraugmenter la qualité d’imitation serait de réaliser une base de donnée MBROLAadaptée aux voyelles à représenter. Il faudrait, en premier lieu, soumettre un(e) chan-teur(euse) à une expérience psychoacoustique particulière. Un synthétiseur source-filtre jouerait successivement une séquence de voyelles suivant exactement la trajec-toire F1 = 3F2. Le(la) chanteur(euse) serait ensuite invité à imiter spontanémentce qu’il perçoit. Cette performance serait enregistrée. Par la suite, sur base de l’en-registrement, le(la) chanteur(euse) s’entraînerait à reproduire ses voyelles puis àles inclure dans des mots élémentaires du type consonne-voyelle-consonne-voyelle(exemple : d @ d @). Cette forme contient en effet tous les diphones relatifs à la

Page 31: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

CHAPITRE 2. DESCRIPTEURS VOCAUX 22

consonne et à la voyelle utilisées (compte tenu que consonne-silence et silence-voyellene sont pas utilisés pour l’imitation de guitare). Enfin, il faudrait également pouvoirchanter les transitions de voyelles.

Pour une configuration de 5 voyelles et 6 consonnes (3 voisées, 3 non-voisées), celaconduit à un corpus de 30 mots et 20 transitions de voyelles pour un total de 91diphones utiles (30 consonne-voyelle + 30 voyelle-consonne + 6 silence-consonne +5 voyelle-silence + 20 voyelle-voyelle).

Résultats avec FR4

On constate donc de très bons résultats avec une base de données existante (dansnotre cas : FR4 ). En effet, on remarque qu’un mélodie jouée ponticello (près dupont) donne une imitation où les voyelles sont exclusivement des "in" et des "è", cequi diminue fortement la diversité des timbres rencontrés. On pourrait alors parlerd’une "saturation perceptive du timbre" dans les "in". Le même phénomène seproduit avec le jeu Tasto (plus proche du milieu de la corde) où on entend que des"ou".

2.4.3 Représentation visuelle des descripteurs vocaux

Bien qu’étant un outil intuitif, la représentation sonore reste très subjective et n’offrepas beaucoup de possibilités d’extensions. Or, lorsque la recherche de nouveaux des-cripteurs s’inscrit dans une démarche de composition électroacoustique, c’est essen-tiellement pour pouvoir les utiliser comme entrées de traitements ultérieurs. Il estdonc important de concevoir un outil donnant accès à ces valeurs, sous forme devecteurs ou formes.

Comme au point précédent, notre point de départ est la valeur calculée de F1. Ilcorrespond au point (F1, F2 = 3F1) dans le plan des voyelles. Nous allons utili-ser les descripteurs vocaux de Slawson : l’ouverture (openness), l’acuité (acuteness)et la relaxation (laxness). L’ouverture correspond à l’éloignement de la mâchoireinférieure. L’acuité correspond à l’étirement horizontal du conduit vocal [5]. La re-laxation correspond à la tension générale du conduit vocal. La tendance générale deces caractéristiques est reportée sur le plan des voyelles à la figure 2.14.

Comme il s’agit d’une tendance générale, nous allons quelque peu formaliser cesdescripteurs pour en faire des valeurs utilisables dans un programme informatique(notamment en synthèse vocale). Nous exprimerons ces valeurs en pourcents.

Mesure de l’ouverture

Par définition, l’ouverture est fortement corrélée à F1. Afin d’encadrer correctementles voyelles, nous allons fixer le 0 pour F1 = 100 Hz et le 100 pour F1 = 1000 Hz.En dessous et au dessus de ces limites, le descripteur saturera respectivement à 0 et100. A l’intérieur de ces valeurs, il aura une progression linéaire.

Page 32: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

CHAPITRE 2. DESCRIPTEURS VOCAUX 23

Fig. 2.14 – Représentation des tendances d’ouverture, d’aiguïté et de relaxationdans le plan des voyelles ; [6] modifié dans [5].

Po =1

9× F1 −

100

9

Mesure de l’acuité

Nous remarquons que l’acuité a une tendance globalement verticale allant du mi-nimum pour les faibles valeurs de F2 au maximum pour les grandes valeurs de F2.Nous fixerons le 100 pour F2 = 2500 Hz. Nous constatons que le 0 est influencé parla valeur de F1. Nous fixerons le 0 pour F2 = 600 Hz lorsque F1 = 100 Hz et pourF2 = 1000 Hz lorsque F1 = 1000 Hz. Les valeurs intermédiaires seront linéairementinterpolées.

F2min(F1) =

4

9× F1 +

5000

9

Au sein de cette excursion variable, le descripteur évolue linéairement.

Pa =100

2500− F2min(F1)

× F2 −250000

2500− F2min(F1)

+ 100

Mesure de la relaxation

La relaxation est articulée autour du point neutre. Ce point correspond à un conduitvocal parfaitement détendu. Nous remarquons qu’une tension apparaît lorsque unevoyelle s’éloigne de ce point, toutes directions confondues. Nous allons donc identifierle descripteur comme étant la distance euclidienne le séparant du point neutre. Nousévaluons celui-ci à la position (600, 1400).

d =√

(F1 − 600)2 + (F2 − 1400)2

Le descripteur est obtenu par le rapport suivant :

Page 33: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

CHAPITRE 2. DESCRIPTEURS VOCAUX 24

Pl = 100× d

dmax

où dmax est la distance correspondant à une tension de 100 pourcents. Celle-ci peutêtre évaluée pour une voyelle suffisamment éloignée du point neutre. Prenons, parexemple, le point (100, 300).

dmax =√

(100− 600)2 + (300− 1400)2 = 1200 Hz

La première approche pour une représentation visuelle consiste à afficher leur évolu-tion temporelle sur un graphique. Les vecteurs ainsi formés fourniront des paramètresde pilotage intéressants pour traiter ce son (ou tout autre média).

Une autre approche consiste à fournir une représentation en deux dimensions. Nousallons établir des équations permettant de trouver les valeurs des deux axes d’uneellipse afin de mimer la forme de la bouche correspondante. Il est tout à fait conce-vable, par la suite, de piloter du traitement directement à partir de cette formegéométrique.

Le paramètre d’ouverture doit commander le diamètre d’un cercle. Il va donc contrô-ler l’expansion des deux axes dans les mêmes proportions. Le paramètre d’aiguïtédoit écraser le cercle horizontalement. Il pondérera donc l’axe vertical. La figure 2.15illsutre le fonctionnement de cette forme géométrique.

Lh = Lhmin+ (Lhmax − Lhmin

)× Po

100

Lv = Lvmin+ (Lvmax − Lvmin

)× Po

100× 100− Pa

100

Fig. 2.15 – Evolution de l’ellipse de représentation de la bouche sous l’influence desparamètres d’ouverture et d’acuité.

Résultats

Nous présentons ici quelques résultats de l’application pour l’affichage de Po, Pa etPl (figures 2.16, 2.17, 2.18, 2.19 et 2.20). Ils mettent en valeur les différences entredifférents doigtés pour une même mélodie (extrait de "L’encouragement" pour deux

Page 34: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

CHAPITRE 2. DESCRIPTEURS VOCAUX 25

guitares, Fernando Sor). On remarque notamment le plafonnement de l’ouverture etde l’aiguïté pour le doigté 4. Ce doigté correspond à un jeu presque exclusivement surle Mi aigu. Cela rejoint ce concept de "saturation de timbre" (cf. sous-section "Re-présentation sonore des descripteurs vocaux") pour des modes de jeu "trop minces"3.

Les détails de l’implémentation du patch Max/MSP réalisant toutes ces fonctionssont disponibles dans les annexes.

Fig. 2.16 – Représentation visuelle des descripteurs vocaux pour une mélodie ex-traite de "L’encouragement", Fernando Sor (Doigté 1).

2.5 Applications

2.5.1 Effet de vocalisation pour guitare

Comme nous l’avons vu dans les points précédents, il est possible de rapprocher lesformants de la voix de ceux de la guitare en adaptant l’amplitude et la fréquencede ceux-ci. Le dernier paramètre qui marque encore une différence fondamentaleentre les deux spectres est la bande passante des formants. En effet, les formantsqui constituent un filtre en peigne ont une bande passante quasiment égale à lavaleur du premier maximum. A l’opposé, les formants de la voix, correspondant àdes résonances physiques, sont plus concentrés autour de leur fréquence centrale (cf.figure 2.21).

3"Trop mince" est un qualificatif souvent utilisé par les guitaristes concernant les sons joués surla corde Mi aigu.

Page 35: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

CHAPITRE 2. DESCRIPTEURS VOCAUX 26

Fig. 2.17 – Représentation visuelle des descripteurs vocaux pour une mélodie ex-traite de "L’encouragement", Fernando Sor (Doigté 2).

Il peut donc sembler intéressant de vouloir accentuer le caractère vocal du son deguitare en affinant les formants du filtre en peigne. La première étape est doncune étape d’analyse. Il faut extraire la fréquence du premier formant. Différentsalgorithmes permettant la mesure du point de pinçage (et donc la fréquence dupremier formant) ont été mis au point [2]. Ensuite, on envoie le signal de guitaredans un filtre tout-pôles dont les résonances suivent la valeur de F1 et ses multiplesimpairs.

2.5.2 Outils pédagogiques

Lorsqu’on interroge un interprète sur la manière dont il imiterait son instrument,on est étonné par la difficulté qu’il éprouve à fournir cette imitation. Par contre, lesadjectifs servant à désigner les timbres ne manquent pas, amenant les métaphoresles plus variées [1] (par exemple : crémeux, métallique, transparent, ...). Il ne s’agitdonc pas d’un manque de diversité.

La raison principale semble être que cela n’est pas explicitement enseigné. Les pro-fesseurs expliquent la gestion du timbre au travers de leur propre vocabulaire ou enprivilégiant l’une ou l’autre "école". A l’image de la méthode traditionnelle d’en-seignement de la tabla4, qui se fait par onomatopées, la représentation vocale des

4Tabla : instrument indien, constitué de deux percussions, connu pour le nombre important detechniques de frappe que le jeu contient.

Page 36: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

CHAPITRE 2. DESCRIPTEURS VOCAUX 27

Fig. 2.18 – Représentation visuelle des descripteurs vocaux pour une mélodie ex-traite de "L’encouragement", Fernando Sor (Doigté 3).

timbres fournirait un langage commun pour les interprètes.

Des outils de visualisation tels que ceux développés dans cette partie constituentla première étape dans la réalisation d’applications d’apprentissage de la gestiondu timbre mais également d’aide à l’interprétation. Par exemple, dans les résultatsprésentés dans la section 2.4, le fait de voir le plafonnement de l’ouverture et del’acuité pourrait conduire l’interprète à changer son doigté pour obtenir un timbreplus diversifié ou à le conserver si l’uniformisation du timbre était son objectif.

2.5.3 Interface naturelle pour la guitare de synthèse

La synthèse de corde de guitare a connu, avec la modélisation physique, une amé-lioration considérable. Une corde est alors représentée comme une mise en série demasses et de ressorts. D’une part, le point de pinçage détermine la masse qui subirale déplacement original. D’autre part, le point d’amplification de l’onde (pour lacorde de guitare classique, il s’agit de l’extrémité raccordée au pont) décide la massedont l’évolution sera relevée. Malgré l’évolution des machines modernes, ces opéra-tions nécessitent encore une grande puissance de calcul, compte tenu qu’il ne s’agitque d’une petite partie des instruments généralement réalisés pour la compositionélectroacoustique.

Une autre méthode simple basée sur les guides d’ondes a permis de rendre la si-mulation de corde moins coûteuse en calculs. Un signal d’excitation entre dans une

Page 37: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

CHAPITRE 2. DESCRIPTEURS VOCAUX 28

Fig. 2.19 – Représentation visuelle des descripteurs vocaux pour une mélodie ex-traite de "L’encouragement", Fernando Sor (Doigté 4).

ligne à retards (mise en cascade de délais). Ensuite, la sortie de cette ligne est bou-clée sur l’entrée avec un facteur d’atténuation. Le son de la corde est récupéré à lasortie. La longueur de la ligne conditionne la fréquence fondamentale et le facteurd’atténuation, la durée de vibration [12] [13] [14]. L’illustration est donnée à la figure2.22.

Les constatations faites aux points précédents vont nous permettre de passer de lavibration brute du guide d’onde à une simulation de guitare classique réaliste. A ceteffet, nous citons ici quelques améliorations à apporter au synthétiseur :

– Simulation du point de pinçage : en récupérant le paramètre gestuel du point depinçage global (p) et en utilisant le modèle de la main droite, on peut resynthétiserle filtre en peigne.

– Simulation de l’inclinaison : en modifiant l’allure du signal excitateur de la corde,voire en constituant une base de données d’attaques réelles.

– Ajustement de la fréquence fondamentale : à l’aide, par exemple, de l’interpolateurde Lagrange [15]

– Simulation des vibrations sympathiques dues à l’interaction entre les cordes : eninjectant une fraction du son de chaque corde comme excitation des cinq autres.

– Simulation de la caisse de résonance : par convolution avec sa réponse impulsion-nelle.

Page 38: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

CHAPITRE 2. DESCRIPTEURS VOCAUX 29

Fig. 2.20 – Représentation visuelle des descripteurs vocaux pour une mélodie ex-traite de "L’encouragement", Fernando Sor (Doigté 5).

2.6 ConclusionsNous venons de tracer, pour la guitare classique, le cheminement qui permet laconversion de paramètres gestuels (cf. section 2.2) en descripteurs vocaux (cf. section2.4). Cette conversion a été automatisée dans une application Max/MSP (cf. annexeB).

Étant donné, les résultats pertinents que livre cette application, il serait donc inté-ressant de pousser d’avantage son développement. Dans cette optique, on pourraitimaginer la réalisation de modules additionnels pour des logiciels de création de par-tition de musique. Ainsi, la dimension vocale serait intégrée directement à la phase

Fig. 2.21 – Spectre d’une voyelle ("ah" comme dans "father").

Page 39: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

CHAPITRE 2. DESCRIPTEURS VOCAUX 30

Fig. 2.22 – Schéma de principe d’un guide d’onde.

de création ou de notation (doigtés) d’une oeuvre musicale.

Page 40: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

Chapitre 3

L’instrument vocal

3.1 IntroductionLa voix est probablement l’instrument de musique le plus polyvalent que l’on peuttrouver. En effet, il s’agit d’un résonateur très complexe capable de concentrer del’énergie dans des régions très variées du spectre audible. De plus, la source glot-tique, par sa forme, est capable de générer des excitations diverses périodiques oualéatoires. Il n’est donc pas étonnant qu’avec l’ascension phénoménale dont a béné-ficié la synthèse vocale, le chant artificiel intéresse de plus en plus le milieu de lacomposition électroacoustique.

Néanmoins, la progression technologique des synthétiseurs de voix parlée a toujoursrépondu à des exigences industrielles. Les machines parlantes d’aujourd’hui sont doncrobustes, fiables, très intelligibles mais rigides et peu coopératives aux besoins desmusiciens. Un instrument de musique temps-réel, flexible, capable de chanter avecla qualité de la technologie NUU, n’est donc encore aujourd’hui qu’une frustrationgénéralisée pour la plupart des compositeurs contemporains.

Pourtant (et c’est peut-être l’idée la plus difficile à dépasser pour une personneissue du milieu des ingénieurs), la réalisation d’un(e) chanteur(euse) artificiel(le)parfait(e) est loin d’être une fin en soi. Le potentiel artistique de la voix ne devientintéressant en composition électroacoustique que lorsqu’il n’est pas condamné à uneutilisation conventionnelle. Il faut donc mettre de côté les applications vocales ets’ouvrir à la conception d’instruments vocaux qui sont d’avantage le résultat d’heuresde collaboration que de programmation.

Cette partie sera consacrée à la réalisation d’instruments vocaux allant progressive-ment du conduit vocal brut (cf. sections 3.2 et 3.3) au(à la) chanteur(euse) virtuel(le)(cf. section 3.4). La pertinence de cette démarche exploratoire est uniquement baséesur les commentaires et critiques des compositeurs ayant entouré ce projet.

31

Page 41: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

CHAPITRE 3. L’INSTRUMENT VOCAL 32

3.2 Le signal glottiqueLa glotte est un assemblage de muscles et d’articulations très complexes. Les mem-branes responsables de la phonation sont les cordes vocales. Lors de la phonation,elles sont jointes au repos (par tension des muscles) et l’augmentation du débit d’airdans les poumons les ouvrent dans un mouvement vibratoire. La vibration contrôlée(voix chantée) ou non-contrôlée (voix parlée) de ces membranes fournit une sourcesonore polyvalente qui sera ensuite filtrée par le conduit vocal pour produire la voix.Le modèle source-filtre de la parole [8] décrit cette excitation glottique comme untrain d’impulsions passé dans un filtre numérique à deux pôles simples. Nous al-lons déterminer quelques modifications sur ce modèle afin d’obtenir une source plusnaturelle et plus flexible. Le but de cette démarche est d’obtenir des instrumentsvocaux simples et capables de fournir plusieurs modes de phonation. A la figure3.1, nous illustrons différents signaux glottiques (débit d’air passant dans le larynxen fonction du temps) représentant différents modes de phonation [7]. Nous voyonsqu’un signal glottique possède toujours deux phases : la phase ouverte (maximumdu signal, cordes vocales séparées) et la phase fermée (minimum du signal, cordesvocales jointes). De plus, nous soulignons que les voix soufflées et murmurées pos-sèdent un débit d’air résiduel important en phase fermée. Cela se traduit par desturbulences (bruits) importantes dans le signal vocal.

Fig. 3.1 – Onde glottique correspondant à différents modes de phonation [7].

Page 42: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

CHAPITRE 3. L’INSTRUMENT VOCAL 33

3.2.1 Prosodie paramétrique

La prosodie est certainement la caractéristique de la voix qui varie le plus entrele discours commun et le chant. En effet, liée au contenu (syntaxe, sens) en voixparlée, elle est rigoureusement codée par la partition musicale en voix chantée. D’unecertaine manière, dans le premier cas, la prosodie s’adapte au mots alors que, dansle second, ce sont les mots qui s’adaptent à la prosodie.

Dans cette section, nous allons uniquement discuter l’évolution de la fréquence fon-damentale (contrôlée par la glotte). L’évolution de la durée des phonèmes est unproblème lié à la conversion de texte en chant et sera abordée dans la partie suivante.Nous n’aborderons pas le problème de l’intensité que nous relierons simplement à lavélocité de l’instrument de contrôle.

Alors que le contrôle de la fréquence fondamentale en voix parlée se fait par desmodèles statistiques fournissant une tendance générale (accents hauts et bas), lesmodèles pour le chant sont paramétriques et requièrent une très grande justesse (in-férieure au Hertz dans les basses fréquences). Nous allons à présent décrire quelquesparamètres incontournables pour une représentation convaincante de la mélodiechantée. Une illustration résumant ces caractéristiques est donnée à la figure 3.2.

La fréquence fondamentale

La fréquence fondamentale (fo) constitue le point de référence. Sa précision doit êtremaximum. En général, on se base sur le La à 440 Hz et on applique la correctionen tempérament égal : fo = 440 × 2

n12 , avec n le nombre de demi-tons d’écart. La

superposition d’une déviation aléatoire haute fréquence peut favoriser une rugositévocale appréciable dans certains contextes. Cela n’est pas nécessaire en synthèse dechant classique.

Le portamento (glissement de fréquence fondamentale entre les notes)

Le glissement d’une note à l’autre peut être imité par l’instrument de contrôle s’ilpeut atteindre toutes les fréquences (exemple : violon, capteurs de position, tablettegraphique, ...). Pour les autres instruments (comme le clavier MIDI), il faudra quan-tifier cette transition qui peut aller de quelques dizaines de millisecondes à plusieurssecondes.

La forme d’onde du vibrato

La forme du vibrato est plutôt triangulaire que sinusoïdale (entre les deux). Celacorrespond plus au mouvement de va-et-vient du légèrement au-dessus au légèrementen-dessous de la fréquence fondamentale par l’interprète.

L’amplitude du vibrato

L’amplitude du vibrato peut varier de 0 à plus ou moins un demi-ton (ou plus dansdes utilisations surnaturelles). On applique également une déviation aléatoire basse

Page 43: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

CHAPITRE 3. L’INSTRUMENT VOCAL 34

fréquence de quelques pourcents à cette amplitude.

La fréquence du vibrato

La fréquence du vibrato peut varier de 0 à une dizaine de Hertz (ou plus dans desutilisations surnaturelles). On applique également une déviation basse fréquence dequelques pourcents sur cette fréquence.

Le temps d’installation du vibrato

Les deux paramètres précédents possèdent des temps d’installation pouvant at-teindre quelques secondes. Le temps exact et la valeur de départ dépendent ducaractère qu’on veut donner à la voix.

Fig. 3.2 – Représentation de la fréquence fondamentale d’une note chantée.

3.2.2 Approche source-filtre

La manière la plus courante de générer un signal glottique est en filtrant un traind’impulsions par un passe-bas. En ajustant correctement les pôles de celui-ci, on peutobtenir un étalement temporel des impulsions s’apparentant à la forme de l’ondeglottique (figure 3.3). De plus, ces pôles simples peuvent facilement être extraitsd’une analyse LPC d’un vrai signal de parole (nous y reviendrons).

Un problème perceptuel important se pose lors de l’utilisation de cette méthode pourla génération de voix de chant. On a l’impression que le train d’impulsions "traverse"le filtrage vocal pour se retrouver sous forme d’un bourdonnement. Ce phénomèneest atténué mais toujours dérangeant lorsqu’on adjoint un vibrato. Ceci est causé parle contenu harmonique trop parfait du signal d’excitation sur l’ensemble du spectre.

Comme le train d’impulsions ne correspond à aucun signal physique mesurable, iln’est pas possible d’en avoir une représentation fiable et ainsi d’évaluer l’amplitudedes déviations à modéliser. En effet, l’étude d’un signal filtré par son enveloppe LPCinverse témoigne d’avantage des erreurs de prédication que de l’humanisation de lasource. Nous avons tout de même pu déduire quelques règles empiriques conduisant

Page 44: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

CHAPITRE 3. L’INSTRUMENT VOCAL 35

Fig. 3.3 – Signal glottique par filtrage d’un train d’impulsions.

à une esthétique satisfaisante (Olivier Bélanger, communication privée). Nous nousproposons de les décrire ci-dessous :

– Les impulsions sont remplacées par une onde constituée d’une montée très abrupte(mais pas immédiate) puis d’une exponentielle décroissante. La pente de décrois-sance de la phase descendante est soumise à une évolution aléatoire à une fréquenceproche de la fréquence fondamentale (cf. figure 3.4).

– Ces ondes sont soumises à une fluctuation d’amplitude de l’ordre du pourcent. Lafréquence de ces fluctuations est également de l’ordre de la fréquence fondamentale.

– Une modulation plus lente de l’amplitude peut apparaître sous la forme d’untremolo (cf. 3.5).

Fig. 3.4 – Train d’impulsion à relaxation variable.

Malgré ces améliorations, il existe un problème qui rend cette approche par filtragetotalement inopérante lorsque la fréquence fondamentale augmente. En effet, unedisposition particulière des deux pôles glottiques va déterminer la forme de la réponseimpulsionnelle du filtre, quel que soit la fréquence du train d’impulsions. Or, il estprouvé que, pendant le chant, le contrôle de fréquence fondamentale se fait parcontraction de certains muscles du larynx. On ne peut donc pas négliger le fait

Page 45: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

CHAPITRE 3. L’INSTRUMENT VOCAL 36

Fig. 3.5 – Signal modulé en amplitude suite à un tremolo.

que les temps d’ouverture et de fermeture des cordes vocales – et donc la forme del’onde glottique – vont varier. Quand bien même on pourrait contrôler la positiondes pôles de manière à faire correspondre l’évolution de la réponse impulsionnelleaux réalités physiques, l’utilisation d’un systéme du deuxième ordre a des limites et,pour des fréquences de chant élevées, le recouvrement des formes d’ondes successives(cf. figure 3.6) conduit à une vibration parasite très artificielle.

Fig. 3.6 – Recouvrement des réponses impulsionnelles causé par une fréquence fon-damentale élevée.

3.2.3 Approche par forme d’onde

Nous allons donc considérer le signal glottique comme une forme d’onde jouée àla fréquence fondamentale. L’onde de référence qui est utilisée est une fenêtre deHanning (cf. figure 3.7). Il est pratique d’utiliser cette forme d’onde car elle estgénérée et stockée facilement dans la plupart des outils temps-réel de traitement designal (notamment Max/MSP et CSound). De plus, elle correspond fort bien à laforme d’onde caractérisant l’ouverture et la fermeture de la glotte.

L’onde glottique étant peu souvent symétrique (le temps d’ouverture est plus longque le temps de fermeture) et étalée sur toute la période (la zone de fermeturecomplète est prolongée), il est nécessaire de lire la table contenant la forme d’ondesymétrique avec un phaseur1 non-linéaire comme illustré à la figure 3.8. De cette

1Phaseur : signal, souvent en dent scie, utilisé comme index dans la lecture de tables d’ondes

Page 46: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

CHAPITRE 3. L’INSTRUMENT VOCAL 37

Fig. 3.7 – Fenêtre de Hanning.

manière, la forme de l’onde glottique s’ajuste avec deux paramètres : le point d’ou-verture complète Tom (en % de la période fondamentale To), le point de fermeturecomplète Tfm (en % de la période fondamentale To). On peut aussi superposer etcontrôler un signal aléatoire haute fréquence sur les faibles valeur du signal poursimuler les imperfections dans la phase fermée.

Fig. 3.8 – Lecture non-linéaire de l’onde symétrique.

Afin d’augmenter la rugosité du signal glottique, nous allons ajouter un autre para-mètre permettant l’ajout de turbulences dans le mécanisme de vibration. Ces turbu-lences sont modélisées par un bruit blanc filtré passe-bande autour de 500 Hz avecune bande passante assez large. Cela imite de l’air pulsé dans un tube. Ensuite, cebruit est modulé en amplitude par une image de l’onde glottique précédemment cal-

pour créer des signaux périodiques divers. Lorsqu’on souhaite déformer l’onde stockée dans la table,on utilise un phaseur plus complexe (non-linéaire). Celui-ci va lire différentes parties de la tabled’ondes à différentes vitesses, déformant ainsi l’onde originale.

Page 47: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

CHAPITRE 3. L’INSTRUMENT VOCAL 38

culée afin de simuler l’obstruction causée par les cordes vocales. L’image correspondà une version de l’onde atténuée et augmentée d’une valeur continue pour éventuel-lement simuler une fermeture non complète des cordes vocales (bruit résiduel).

Nous obtenons finalement un modèle de glotte flexible et efficace dans les hautsregistres. Il est contrôlé par 6 paramètres : l’intensité, la fréquence fondamentale,les points d’ouverture/de fermeture complète, le taux de turbulences et l’ouverturerésiduelle. Nous pouvons ajouter à cela les paramètres de contrôle de la fréquencefondamentale vus au point précédent. Certains d’entre eux peuvent être couplés oufixés pour faciliter la prise en main temps-réel. La figure 3.9 illustre des signauxglottiques synthétisés pour différentes valeurs de ces paramètres.

Fig. 3.9 – Signaux glottiques synthétisés pour différentes valeurs des paramètres dumodèle.

Des applications mettant en oeuvre et vérifiant les concepts énoncés dans cettesection sont présentées dans les annexes C et D.

3.3 Le conduit vocalIl n’est plus à démontrer qu’une très bonne représentation de celui-ci peut être réa-lisée à l’aide de résonateurs (et anti-résonateurs) à différentes fréquences [8]. Nous

Page 48: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

CHAPITRE 3. L’INSTRUMENT VOCAL 39

allons envisager différentes manières de générer cette enveloppe spectrale forman-tique en mettant à nouveau l’accent sur la limitation du nombre de paramètres.

3.3.1 Représentation par paniers de fréquences

La solution la plus générale consiste à stocker l’enveloppe spectrale sous forme depaniers (en anglais : bins) de fréquences. Chacun de ces paniers correspond à uneplage limitée de fréquences et on sauvegarde dans une table l’amplitude moyennedu spectre dans cette plage. Pour la reconstruction, on utilise un banc de filtrespasse-bande dont on ajuste les amplitudes pour retrouver les valeurs sauvegardéesdans la table. Le nombre de paniers varie beaucoup d’une application à l’autre, engénéral par puissances de deux.

Cette représentation n’est toutefois pas du tout optimisée pour le contrôle de lavoix. En effet, il faut compter entre 256 et 1024 paniers pour représenter fidèlementune voyelle de chant. A moins de réaliser une application du type vocoder (modifi-cation de la prosodie de parole existante), une enveloppe sous cette forme n’est pasutilisable. Toutefois, une alternative possible est d’utiliser une IFFT.

3.3.2 Représentation par paramètres des formants

En considérant le conduit vocal comme un filtre résonnant à différentes fréquences[8], nous pouvons considérablement réduire le nombre de paramètres nécessaires àson contrôle. En effet, chacun des formants se positionne dans le spectre avec troisparamètres : l’amplitude, la fréquence centrale et la bande passante. Comme il fautun minimum de cinq formants pour représenter correctement une voyelle de chant,cela fait un total de quinze paramètres.

Certaines simplifications peuvent être faites comme fixer définitivement les bandespassantes, les quatrième et cinquième formants ou placer les amplitudes sur unedroite décroissante dont on contrôle le coefficient angulaire. Néanmoins, toutes cestechniques pouvant conduire à un maximum de 6 paramètres, limitent rapidementla polyvalence de l’instrument (on perd vite l’aspect vocal).

3.3.3 Représentation par paramètres LPC

Le codage par prédication linéaire (LPC) est une méthode permettant de trouver lescoefficients d’un filtre tout-pôles dont l’enveloppe correspond au mieux (au sens dela variance de l’erreur) à celle du signal analysé. L’ordre du filtre donne la complexitéde l’enveloppe représentable et également le nombre de paramètres de contrôle. Pourune voyelle de chant à cinq formants, il faudra donc un filtre LPC possédant cinqpaires de pôles conjugués (pour les résonances) et 2 pôles simples (pour l’onde glot-tique), soit un total de quatorze paramètres.

Les paramètres LPC (couramment appelés ai) sont non linéairement interpolables.Cela signifie que pour deux configurations [a1 a2 ... an] et [b1 b2 ... bn] correspondantà deux voyelles, une interpolation linéaire entre ces deux vecteurs ne conduira pas

Page 49: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

CHAPITRE 3. L’INSTRUMENT VOCAL 40

à une interpolation linéaire entre les deux spectres et risque même de fournir descombinaisons instables. Nous allons donc utiliser une autre implémentation du filtreLPC, appelée filtre en treillis (en anglais : lattice filter), dont les paramètres decontrôle sont les coefficients de réflexion (appelés couramment ki) [10]. Ce filtre estillustré à la figure 3.10.

Fig. 3.10 – Représentation en treillis du filtre de synthèse LPC.

Les coefficients de réflexion correspondent à des caractéristiques physiques du conduitvocal. En effet, on peut représenter le conduit vocal comme une concaténation derésonateurs acoustiques cylindriques ouverts à leurs extrémités. La valeur ki est letaux de réflexions acoustiques de la ième cavité cylindrique causé par l’impédancede jonction avec la cavité adjacente. Cette valeur varie donc de 1 (réflexion totale)à -1 (réflexion totale et inversion de phase) en passant par 0 (aucune réflexion).

Fig. 3.11 – Modélisation acoustique du conduit vocal.

Le filtre sera stable (réponse impulsionnelle finie) si ces paramètres sont entre -1 et1 (exclus). Néanmoins, ils ne sont pas encore en adéquation totale avec l’évolutiondu son. En effet, une faible modification d’un ki ne garantit pas une faible évolutiondu spectre. Un simple calcule sur ces valeurs conduit à l’expression des rapportslogarithmiques des aires de deux cylindres successifs (en anglais : Logarithmic AreaRatio ou LAR).

LARi = 20× log1− ki

1 + ki

Page 50: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

CHAPITRE 3. L’INSTRUMENT VOCAL 41

En interagissant avec ces paramètres LAR, l’interprète est directement connecté àla physique de l’instrument de synthèse. Le spectre évolue donc avec une cohérenceacoustique qui facilite la prise en main. De plus, la stabilité du filtre est assurée pourtoutes les valeurs des LARi.

3.3.4 Représentation par des coordonnées dans un plan

Nous venons de voir qu’il était difficile d’obtenir un contrôle fin du conduit vocal endessous d’une quinzaine de paramètres. Même s’il est encore possible de gérer un telnombre de valeurs, cela ne laisse pas beaucoup de place pour le reste du traitementvocal (signal glottique, effets, ...). Dans l’optique de rendre l’ensemble d’une voixopérable par une seule personne, nous allons établir un contrôle en deux temps : laconfiguration d’un espace de voyelles et la performance dans cet espace.

Au chapitre précédent, nous avons vu qu’il était possible de placer l’ensemble desvoyelles du langage humain dans le plan (F1, F2). En effet, la reconnaissance d’unevoyelle se fait principalement avec les deux premiers formants. Le reste du spectrepermet de reconnaître le locuteur ou le mode de phonation. Nous allons nous basersur cet aspect pour définir un espace de contrôle à deux dimensions. A l’image dela représentation de Slawson (plan de voyelles), l’interprète pourra naviguer avec uncurseur dans un plan et ainsi choisir sa voyelle comme illustré à la figure 3.12.

Fig. 3.12 – Représentation d’une voyelle par un couple (x1, y1).

Comme il n’est pas possible d’établir des liens mathématiques entre F1 et F2 etles autres caractéristiques du spectre, nous allons utiliser une autre approche. Nousallons placer un nombre limité de voyelles sur ce plan (par exemple : 9). "Placer"signifie qu’on va associer les vecteurs de paramètres définissant les voyelles (carac-téristiques des formants ou paramètres LARi) à des coordonnées arbitraires (x, y)du plan. Il faut veiller à ce que l’ensemble de la zone des voyelles (F1 de 100 Hz à1000 Hz, F2 de 300 Hz à 3000 Hz) soit "échantillonnée" de manière plus ou moins

Page 51: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

CHAPITRE 3. L’INSTRUMENT VOCAL 42

uniforme. Ensuite, pour obtenir les valeurs intermédiaires, on utilisera, pour chaqueparamètre, une interpolation à deux dimensions.

Fig. 3.13 – Représentation bidimensionnelle de la fonction sinc.

Pour reconstruire parfaitement un signal bidimensionnel échantillonné (le théorèmede Shannon ayant été respecté), il faut le convoluer avec une fonction sinc(x, y)(cf. figure 3.13). Cette opération s’avère coûteuse en temps de calcul quand on saitqu’il ne s’agit que d’un problème d’interface et qu’une grande quantité de traite-ment audionumérique doit pouvoir s’exécuter en parallèle. Nous allons donc utiliserune méthode moins rigoureuse mais beaucoup plus rapide interprétant les zonesintermédiaires comme des surfaces réglées2.

Nous allons décrire la figure 3.14 considérant l’interpolation d’un paramètre P quel-conque (par exemple : la fréquence centrale du deuxième formant ou le troisièmeparamètre LAR). Considérons le point (xc, yc) symbolisant le curseur mobile del’interface. A chaque instant, celui-ci est encadré par quatre points où la valeur duparamètre est fixée par l’utilisateur. Si on considère que la surface réglée progressedans la direction x, on détermine d’abord les valeurs de P sur deux arêtes du qua-drilatère coupant le plan perpendiculaire à l’axe x et passant par xc.

Pc,i =xc − xi

xi+1 − xi

× Pi+1,i +xi+1 − xc

xi+1 − xi

× Pi,i

Pc,i+1 =xc − xi

xi+1 − xi

× Pi+1,i+1 +xi+1 − xc

xi+1 − xi

× Pi,i+1

La valeur du paramètre P correspondant aux coordonnées (xc, yc) s’obtient en pre-nant l’intersection de la droite reliant les points Pc,i et Pc,i+1 et le plan perpendicu-laire à l’axe y passant par yc.

Pc =yc − yi

yi+1 − yi

× Pc,i +yi+1 − yc

yi+1 − yi

× Pc,i+1

2surface réglée : surface générée par une droite glissant parallèlement à elle même en reposantsur deux courbes.

Page 52: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

CHAPITRE 3. L’INSTRUMENT VOCAL 43

Fig. 3.14 – Interprétation des zones intermédiaires comme des surfaces réglées.

3.3.5 Rayonnement des lèvres

La dernière étape dans le processus de phonation est le rayonnement des lèvres.Cette opération transforme la variation de débit (dans la glotte et le conduit vo-cal) en pression (propagation de l’onde acoustique dans l’air). D’un point de vuemathématique, il s’agit d’une dérivation. Il est facile de dériver un flux de donnéesnumériques de la façon suivante.

y[n] = x[n]− x[n− 1]

Des applications illustrant les différents modèles de conduit vocaux présentés danscette partie sont disponibles dans les annexes C et D.

3.4 Le(la) chanteur(euse) virtuel(le)

3.4.1 Limites des techniques existantes

Jusqu’à présent, nous avons mis l’accent sur le contrôle fin d’instrument vocauxtemps-réel. Ceux-ci offrent des possibilités très variées d’intégration de voix dans lacomposition : chants de gorges, choeurs, vocalises, ... Néanmoins, si on s’interroge surleur facultés à prononcer des mots ou des phrases, on atteint vite certaines limites.

Page 53: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

CHAPITRE 3. L’INSTRUMENT VOCAL 44

En effet, les consonnes constituent des mécanismes transitoires qu’il s’agirait demaîtriser avec l’instrument de contrôle. Par exemple, réaliser un "ba" avec un gantà capteurs connecté au filtre en treillis vu au point précédent reviendrait à apprendrele mouvement de la main. On se trouverait alors face à un dictionnaire de gestestrès complexes, voire des gestes impossibles à réaliser (par exemple : syllabe "stra",demandant des enchaînement rapides du conduit vocal et de la glotte en mêmetemps). Pour la réalisation de ces transitions, nous allons donc nous tourner vers lesynthétiseur à concaténation de diphones, MBROLA. De la même manière, celui-cine peut répondre à toutes nos exigences. En effet, la production de longues voyelleset un contrôle temps-réel de la prosodie sont quasiment impossibles. Nous allonsdonc poser les bases d’un modèle hybride prenant le meilleur de chaque technique.

3.4.2 Synthèse à deux flux

Nous allons considérer le chant comme l’évolution temporelle de deux flux indépen-dants : le flux spectral et le flux d’obstructions. Nous allons d’abord voir comments’organise cette alternance. La figure 3.15 illustre la superposition temporelle desdeux flux.

Fig. 3.15 – Construction de parole chantée en synthèse à deux flux.

Lorsqu’on essaie de placer des mots sur une mélodie, on s’aperçoit que cela consisteà progresser d’une voyelle à une autre (sauf quelques exceptions) en considérant cequi les séparent comme un bref transitoire. A l’image d’un instrument de musique, leflux de parole est donc une alternance d’attaques et de parties harmoniques tenues(par exemple : "tu te stresses trop" est chanté "t y - t @ - s t R E - s t R o").

Dans cette situation, l’interprète n’a plus le contrôle temps-réel du contenu phoné-tique. Celui-ci est sauvegardé sous la forme d’une pile de syllabes ou dans un textecontinu. Lorsqu’une note est jouée (envoi d’un Note In), une syllabe est extraite dela pile et une requête est communiquée au synthétiseur MBROLA sous cette forme(exemple avec "ba") :

Page 54: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

CHAPITRE 3. L’INSTRUMENT VOCAL 45

b "dcons" 50 "slidepitch"a 200 3 "pitch" 100 "pitch"_ 100

A cet instant, la variable dcons est remplacée par la durée par défaut du phonèmeb sauvegardée dans une table. Cette durée peut être modifiée par l’interprète etchange ainsi le caractère du (de la) chanteuse (plus percussif ou plus traînant). Lavariable pitch est remplacée par la fréquence fondamentale de la note demandée. Dela même façon, la variable slidepitch est remplacée par la fréquence fondamentalede la note précédente (ou une moyenne entre la fréquence fondamentale de la noteprécédente et de la note courante pour atténuer l’effet de glissement). Le générateurde flux phonétique pour MBROLA doit être suffisamment autonome pour adaptersa syntaxe à des syllabes plus complexes (exemple avec "stra") :

s "dcons1" 50 "slidepitch"t "dcons2" 50 "slidepitch"R "dcons3" 50 "slidepitch"a 200 3 "pitch" 100 "pitch"_ 100

Un système logique doit donc analyser le nombre de phonèmes dans chaque syllabeet orienter ces phonèmes vers le bon canevas de requête.

Cette étape génère un échantillon audionumérique de quelques centaines de milli-secondes. Celui-ci doit être multiplié par une enveloppe effectuant un estompementarrière (en anglais : fade out) sur les cent dernières millisecondes. Pendant ce temps,un estompement avant (en anglais : fade in) est appliqué sur un signal continu dontl’enveloppe spectrale a été générée par un des modèles vus au point précédent. Lesparamètres de la voyelle courante (préalablement analysés sur la base de donnéesMBROLA) sont mis à jour au moment de la note. Enfin, lors du relâchement de lanote (Note Off ), un dernier estompement arrière est appliqué sur ce signal. Il estimportant que l’appariement entre la version audionumérique et source-filtre de lavoyelle soit le plus rigoureux possible. Par exemple, les estimations LPC du logicielCsound ne sont pas assez précises. On préférera un logiciel comme MATLAB pources calculs.

Une amélioration possible consiste à assigner à une pédale la fonction d’annulationdes entrées Note In (tout en gardant l’évolution de la fréquence fondamentale). Decette maniére, il est possible d’interrompre le flux de syllabes et d’appliquer unesuccession de notes à la même voyelle. On notera également que certaines voyellesne sont pas tenues dans le chant. Par exemple, "comme d’habitude" se chante "ko m - d a - b i - t y - d @" en traînant un peu le m. Dans ce cas particulier,ces voyelles courtes seront considérées comme des consonnes. Elles feront partie duflux d’obstructions et ne mettrons pas à jour les paramètres du filtre. Un schémarésumant toutes les opérations effectuées par ce synthétiseur hybride est fourni à lafigure 3.16.

Page 55: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

CHAPITRE 3. L’INSTRUMENT VOCAL 46

Les détails concernant l’implémentation des systèmes vus dans cette section sontdisponibles dans l’annexe E.

3.5 ConclusionsLa démarche exploratoire qui a été mené dans ce chapitre témoigne d’une choseimportante en ce qui concerne la synthèse de texture vocale. Il est essentiel de gar-der à l’esprit qu’il s’agit d’un instrument de musique. En effet, les techniques misesen oeuvre pour la production vocale peuvent être complexes. Il est donc facile defaire des compromis trop rapides à l’égard des futurs utilisateurs. Dans l’état actueldu développement de ces instruments, on peut donc conclure que le conduit vocalbrut – par caractéristiques de formants ou LPC (cf. section 3.3) – est plus satis-faisant que le(la) chanteur(euse) virtuel(le) (cf. section 3.4) car le premier permetune interaction sans limites avec d’autres instruments ou contrôleurs. L’interactionavec MBROLA limite encore beaucoup les possibilités d’utilisation. De plus, il seranécessaire d’améliorer les transitions entre les deux flux.

Dans l’optique d’un synthétiseur de chant intelligible et de haute qualité instrumen-tale, il faudrait adapter le synthétiseur MBROLA (ou un système NUU basé sur uncorpus de chant) à la production temps-réel. Il faudrait alors intégrer la synthèsesource-filtre et la concaténation de diphones dans un même logiciel.

Page 56: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

CHAPITRE 3. L’INSTRUMENT VOCAL 47

Fig. 3.16 – Schéma de principe du synthétiseur à deux flux.

Page 57: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

Chapitre 4

Conclusions générales

Ce travail aura permis une confrontation entre les enseignements dispensés dans uneécole d’ingénieurs et les exigences particulières du domaine musical. Les premièresconclusions à tirer d’une telle expérience sont humaines. La rencontre avec une autreculture, la planification d’un travail sur une longue période, les compromis et les défisinhérents à un travail de recherche, les bonnes et les mauvaises surprises contribuentà l’enrichissement personnel, la confiance en son travail et en celui des autres.

Sur un plan plus technique, ce travail aura permis l’apprentissage de nouveaux envi-ronnements de travail (Max/MSP, Csound, etc) et le développement d’applicationscomplètes : représentation sonore et visuelle de descripteurs vocaux, synthèse designaux glottiques et vocaux, utilisation de MBROLA dans un contexte musicaltemps-réel.

Enfin, ce séjour aura renforcé et fait mûrir les passions pour l’informatique musi-cale et pour la recherche universitaire en démontrant qu’elles pouvait être les deuxcomposantes d’une même vocation.

48

Page 58: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

Appendices

49

Page 59: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

Annexe A

Travail de Fin d’Études au Québec

Dans cette annexe, nous donnons les détails des principales étapes que constitue unséjour universitaire au Québec.

Tout d’abord, il faut trouver un domaine d’application. En effet, il existe une di-zaine d’universités au Québec – dont quatre dans la ville de Montréal – dont lataille dépasse de loin la capacité de ce à quoi nous sommes habitués. Toutes lesmatières imaginables y sont dispensées, de la musique à la criminologie. Il est doncimportant, très tôt en quatrième année, de prendre contact avec un Service de laFPMs dans son domaine de prédilection et de discuter des opportunités d’accordsavec ces universités. La solution la plus efficace est de se trouver encadré par un pro-fesseur à Mons et un professeur au Québec. Cela implique de créer ou rétablir descontacts académiques. Ça peut être assez long. Les discussions (par courriel ou partéléphone) sont généralement assez espacées étant donné les six heures de décalagehoraire. C’est pourquoi il est conseillé de s’y mettre si tôt.

La convention dont on peut bénéficier se nomme CREPUQ. Elle autorise l’échanged’étudiants entre les universités affiliés sans devoir payer aucune inscription (laFaculté Polytechnique de Mons et l’Université de Montréal sont affiliées). Pourplus d’informations, il faut prendre contact avec les instances d’échanges inter-universitaires concernées. Une fois que la convention d’échange est activée, il fautréunir une multitude de documents administratifs (accord du Doyen, certificat d’iden-tité, résultats scolaires, ...). Là encore, cela peut vite introduire des délais handica-pants, surtout que les documents d’inscriptions doivent être renvoyés à l’universitéquébecoise longtemps à l’avance.

Heureusement, la suite des démarches est allégée par un paramètre important : leséjour dure moins de six mois. A ce jour, il est stipulé dans les conventions interna-tionales entre Belgique et Québec que, pour un séjour de moins de six mois, seul unpasseport est nécessaire (ni visa, ni permis d’étudier).

En général, il est possible d’obtenir une bourse de la FPMs. Il faut se renseigner au-près du bureau des échanges inter-universitaires pour les formalités. D’autres modesde financement sont possibles : l’Ambassade du Canada, l’AIMs, ...

50

Page 60: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

ANNEXE A. TRAVAIL DE FIN D’ÉTUDES AU QUÉBEC 51

Les derniers problèmes à considérer sont la non-compatibilité des périodes scolaires etles grandes différences dans l’appellation des cycles. Il ne faut pas hésiter à soulignerque l’on est dans sa cinquième année d’études universitaire - le terme équivalentétant la maîtrise - et que vous venez pour un stage. Il est par ailleurs nécessaire dechercher un logement chez un particulier ou une colocation puisque les appartementsd’étudiants de l’université ne sont pas accessibles en mai et juin.

Le reste du voyage est relativement facile. En effet, le Québec est un pays très ouvertsur l’immigration. On ne rencontre aucun problème lié à sa nationalité. Ils ont desinstitutions très bien organisées et les renseignements, une fois sur place, sont trèsaccessibles.

Page 61: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

Annexe B

Réalisation d’un module dansMax/MSP pour la visualisation desdescripteurs vocaux de la guitareclassique

Nous allons ici décrire dans le détail le module Max/MSP mettant en oeuvre lesthéories exposées au Chapitre 2. Ce module effectue la mise en forme de la parti-tion musicale (cf. figure B.1), la conversion des paramètres gestuels en paramètresphonétiques et spectraux, la réalisation des interfaces visuelles et sonores.

B.1 Mise en forme de la partition musicale

Fig. B.1 – Interface de stockage de la partition musicale

La partition est stockée au format texte dans une collection (objet coll). Cet objetpermet d’associer n’importe quel chiffre ou symbole à n’importe quel chiffre, symbole

52

Page 62: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

ANNEXE B. DESCRIPTEURS VOCAUX (MODULE MAX/MSP) 53

ou liste. Lorsque le premier est présenté à l’entrée, le second est envoyé à la sortie.Par exemple, un convertisseur en chiffres romains pourrait être réalisé de la façonsuivante :

1, I;2, II;3, III;4, IV;

Dans notre cas, il s’agit de faire correspondre une liste de paramètres (musicaux etgestuels) à un index entier croissant de la façon suivante :

1, B 3 4 2 i 10 25 L;2, B 3 4 2 i 15 25 L;3, B 3 4 2 i 20 25 L;4, B 3 4 2 i 25 25 L;5, B 3 4 2 i 30 25 L;

Le formatage des données est décrit à la figure B.1 et expliqué dans le détail à lasection 2.3. L’exemple correspond donc à cinq notes, plus précisément, cinq noires 1.Il s’agit de Si joués sur la deuxième corde avec l’index. La main droite est légèrementinclinée (écart de 25 degrés par rapport à la position perpendiculaire aux cordes) etle jeu est fait en legato (symbole L). Le point de pinçage évolue de 10 cm à 30 cmdu pont.

La partition ainsi stockée doit à présent être jouée. On utilise un métronome (objetmetro) à une vitesse arbitraire (par exemple : une impulsion toute les 10 milli-secondes) connecté à un compteur (objet counter). Le métronome incrémente lecompteur jusqu’à la valeur correspondant à la taille de la partition. Pour ce faire,l’alerte de dépassement du compteur (carry out) est connectée à la commande d’ac-tivation du métronome (objet toggle : s’inverse lorsqu’il reçoit une alerte). Commel’objet coll ne permet pas de connaître à l’avance le nombre d’éléments qu’il contient,la valeur maximum du compteur devra être introduite manuellement. C’est cette va-leur qui est présente dans l’interface de la figure B.1 comme contrôle du nombre denotes. La sortie du compteur est ensuite connectée à l’entrée de la collection. Cemécanisme est illustré à la figure B.2.

L’alerte de dépassement du compteur signifie également la fin de l’étape de lecturede la partition. Nous reviendrons sur son utilité dans les sections suivantes.

B.2 Conversion des paramètres musicaux et gestuelsen paramètres phonétiques et spectraux

A partir des paramètres musicaux et gestuels, il y a deux niveaux de calculs. Toutd’abord, ceux relatifs à la section 2.3. Ensuite ceux relatifs à la section 2.4.

1noire : note de durée égale à un quart de la durée totale d’une mesure (cycle musical)

Page 63: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

ANNEXE B. DESCRIPTEURS VOCAUX (MODULE MAX/MSP) 54

Fig. B.2 – Programmation graphique de la lecture d’une collection

B.2.1 Calculs de la section 2.3

Il s’agit de retrouver les caractéristiques physiques de chaque note : fréquence fon-damentale, durée en secondes, corde, point de pinçage et inclinaison individuels,type de jeu. Certaines sont directement transmises (corde, inclinaison, type de jeu),d’autres sont le résultat de formules mathématiques. C’est l’objet expr qui est leplus approprié pour contenir une formule. En effet, il suffit de l’écrire "comme en C"dans l’objet en remplaçant les arguments par $i1 (nombre entier) ou $f1 (nombredécimal). Les formules peuvent ensuite être combinées dans l’interface graphiquepour réaliser des conversions complexes. Dans notre cas, le résultat est illustré à lafigure B.3.

Fig. B.3 – Programmation graphiques des calculs de conversion de la section 2.3

On remarque l’utilisation d’autres objets. L’objet unpack permet de séparer les dif-férents éléments d’une liste (telle qu’elle sort de l’objet coll) en précisant le typede données (i=nombre entier, f=nombre décimal, s=symbole). L’objet t permet dedécaler légèrement l’envoi de chiffres ou symboles pour respecter certaines priorités.

Page 64: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

ANNEXE B. DESCRIPTEURS VOCAUX (MODULE MAX/MSP) 55

En effet, dans Max/MSP, les objets envoient la valeur de sortie lorsque l’entrée laplus gauche est arrivée. De même, les sorties sont générées de droite à gauche. Parexemple, on assure avec l’objet "t s s" que le symbole de droite arrive toujours avantle symbole de gauche. Cela évite à l’objet expr en aval de générer de faux résultats(issus d’un calcul avec un argument de l’instant précédent).

On remarque également l’utilisation d’autre collections. La collection temper conver-tit la note au format anglo-saxon en une valeur correspondant au nombre de demi-tons nécessaires pour obtenir cette note à partir du La (dans la même gamme).

A, 0;A#, 1;Bb, 1;B, 2;Cb, 2;B#, 3;C, 3;C#, 4;Db, 4;D, 5;D#, 6;Eb, 6;E, 7;Fb, 7;F, 8;E#, 8;F#, 9;Gb, 9;G, 10;G#, 11;Ab, 11;

La collection md convertit le doigté main droite (p, i, m, a) en une valeur corres-pondant au nombre de cm de décalage entre les points de pinçage de ces doigts etle point de pinçage global (pour un angle d’inclinaison de 0 degrés).

p, 0;i, 0;m, 1;a, 2;

La collection pdetect sert juste de détecteur de pouce. Elle envoie un 1 dans laformule lorsque le pouce est utilisé pour activer le calcul du décalage du pouce causépar l’inclinaison. En effet, dans tous les autres cas, ce calcul est inutile.

Page 65: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

ANNEXE B. DESCRIPTEURS VOCAUX (MODULE MAX/MSP) 56

p, 1;i, 0;m, 0;a, 0;

Enfin, la collection gls convertit les symboles du type de jeu (G, L, S) en chiffres(nécessaire pour la suite du calcul).

G, 0;L, 1;S, 2;

On remarquera enfin l’utilisation d’un paramètre de tempo directement accessibledans l’interface. Ce paramètre est nécessaire pour le calcul de la durée exacte dechaque note.

La totalité de ce sous-module de calcul est intégrée dans un objet appelé "conv_calc".

B.2.2 Calculs de la section 2.4

Il s’agit à présent de calculer les paramètres spectraux et phonétiques : la séquencede phonèmes et la prosodie pour la synthèse vocale, la valeur de F1 conduisant auxvaleurs d’ouverture, d’aiguïté et de relaxation. Cette étape passe la programmationen C d’un objet externe appelé "phonetiz2". Cet objet ne reçoit le message contenantles paramètres de la note que lorsque l’alerte de fin de lecture de la partition lui arrive.Le code source est donné ci-dessous.

Code source de l’objet externe phonetiz2

/** UNIVERSITÉ DE MONTRÉAL - FACULTÉ POLYTECHNIQUE DE MONS** Fichier: phonetiz2.c* Description: Objet externe pour Max/MSP convertissant* des paramètres musicaux et gestuels en* flux phonétique et descripteurs de Slawson* Caractéristiques: Message entrant:* [note time pitch string pluck angle legato]* Fichiers sortant:* -> un *.pho (contenu phonétique)* -> un *.des (descripteurs de Slawson)* Auteur: Nicolas D’Alessandro* Courriel: [email protected]*/

#include "ext.h"

Page 66: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

ANNEXE B. DESCRIPTEURS VOCAUX (MODULE MAX/MSP) 57

#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <string.h>#include <math.h>

#define NINARG 6#define NOUTARG 256#define MOFVOW 10#define MOFCONS 10#define SOFSYM 3

void *pho_class;

/* Structure d’une voyelle */typedef struct vowel{float fmin;float fmax;char phoneme[SOFSYM];} Vowel;

/* Structure d’une consonne */typedef struct conson{float amin;float amax;char phonemev[SOFSYM];int d_phov;char phonemenv[SOFSYM];int d_phonv;} Conson;

/* Structure de l’objet */typedef struct pho{Object p_ob;

Vowel vtab[MOFVOW];int vtab_size;Conson ctab[MOFCONS];int ctab_size;float str_speed[7];

int p_slide;

Page 67: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

ANNEXE B. DESCRIPTEURS VOCAUX (MODULE MAX/MSP) 58

FILE *fid_pho;FILE *fid_des;

int desc_id;

Atom p_list[NOUTARG];int p_size;

void *p_out;} Pho;

void *pho_new();void pho_load(Pho *x, Symbol *s);void pho_showtable(Pho *x);void pho_note(Pho *x, Symbol *s, short argc, Atom *argv);void pho_fopen_pho(Pho *x, Symbol *s);void pho_fopen_des(Pho *x, Symbol *s);void pho_fclose_pho(Pho *x);void pho_fclose_des(Pho *x);float formant(Pho *x, int string, float pluck);void cons_setting(Pho *x);void nocons_setting(Pho *x);

/* Routine principale */void main(fptr *f){setup((Messlist **)&pho_class, (method)pho_new, 0L,(short)sizeof(Pho), 0L, A_GIMME, 0);addmess((method)pho_load, "load", A_SYM, 0);addmess((method)pho_showtable, "showtable", 0, 0);addmess((method)pho_note, "note", A_GIMME, 0);addmess((method)pho_fopen_pho, "fopen_pho", A_SYM, 0);addmess((method)pho_fopen_des, "fopen_des", A_SYM, 0);addmess((method)pho_fclose_pho, "fclose_pho", 0, 0);addmess((method)pho_fclose_des, "fclose_des", 0, 0);}

/* Initialisation */void *pho_new(){Pho *x;

x = (Pho *)newobject(pho_class);

x->p_slide = 0;x->p_size = 0;

Page 68: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

ANNEXE B. DESCRIPTEURS VOCAUX (MODULE MAX/MSP) 59

x->fid_pho = NULL;x->fid_des = NULL;x->desc_id = 0;

post("phonetiz2: object created");

return(x);}

/* Chargement du fichier de configuration */void pho_load(Pho *x, Symbol *s){/** Structure du fichier de configuration:** [nombre de voyelles]** [borne inférieure de F1][borne supérieure de F1][phoneme]* [...][...][...]** [nombre de couples de consonnes voisées/non-voisées]** [angle min] [angle max][phonème (v)][durée][phonème (non-v)][durée]* [...][...][...][...][...][...]** [vit onde 1ère corde (m/s)][...][...][...][...][vit onde 6ème corde]*/

FILE *stream = NULL;

int i;

stream = fopen(s->s_name, "r");

if(stream){fscanf(stream, "%i\n", &(x->vtab_size));

for(i=0;i<(x->vtab_size);i++){fscanf(stream, "%f %f %s\n", &(x->vtab[i].fmin),&(x->vtab[i].fmax), &(x->vtab[i].phoneme));}

fscanf(stream, "%i\n", &(x->ctab_size));

Page 69: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

ANNEXE B. DESCRIPTEURS VOCAUX (MODULE MAX/MSP) 60

for(i=0;i<(x->ctab_size);i++){fscanf(stream, "%f %f %s %i %s %i\n", &(x->ctab[i].amin),&(x->ctab[i].amax), &(x->ctab[i].phonemev), &(x->ctab[i].d_phov),&(x->ctab[i].phonemenv), &(x->ctab[i].d_phonv));}

fscanf(stream, "%f %f %f %f %f %f", &(x->str_speed[0]),&(x->str_speed[1]), &(x->str_speed[2]), &(x->str_speed[3]),&(x->str_speed[4]), &(x->str_speed[5]));

fclose(stream);

post("phonetiz2: matrix loaded");}}

/* Affichage de la configuration courante */void pho_showtable(Pho *x){int i;

post("Vowels:");

for(i=0;i<(x->vtab_size);i++){post("%f - %f - %s", x->vtab[i].fmin, x->vtab[i].fmax, x->vtab[i].phoneme);}

post("Consonnants:");

for(i=0;i<(x->ctab_size);i++){post("%f - %f - %s - %i - %s - %i", x->ctab[i].amin, x->ctab[i].amax,x->ctab[i].phonemev, x->ctab[i].d_phov, x->ctab[i].phonemenv,x->ctab[i].d_phonv);}

post("Strings waves speeds:");

post("%f - %f - %f - %f - %f - %f", x->str_speed[0], x->str_speed[1],x->str_speed[2], x->str_speed[3], x->str_speed[4], x->str_speed[5]);}

/* Calculs sur les paramètres de la note */void pho_note(Pho *x, Symbol *s, short argc, Atom *argv)

Page 70: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

ANNEXE B. DESCRIPTEURS VOCAUX (MODULE MAX/MSP) 61

{int i;float f;

char cvow[SOFSYM];char ccons[SOFSYM];int cdcons;

float openness;float acuteness;float laxness;float f2;float f2min;float d;

/* Acquisition des paramètres */int ctime = argv[0].a_w.w_long;float cpitch = argv[1].a_w.w_float;int cstring = argv[2].a_w.w_long;float cpluck = argv[3].a_w.w_float;float cangle = argv[4].a_w.w_float;int clors = argv[5].a_w.w_long;

/* Calcul de la valeur du premier formant */f = formant(x, cstring, cpluck);

/* Calcul des descripteurs de Slawson */if(f < 100)openness = 0.0;else{if(f > 1000)openness = 100.0;elseopenness = (1.0/9.0)*f - (100.0/9.0);}

f2min = (4.0/9.0)*f + (5000.0/9.0);

f2 = 3.0*f;

if(f2 < f2min)acuteness = 0.0;else{if(f2 > 2500)

Page 71: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

ANNEXE B. DESCRIPTEURS VOCAUX (MODULE MAX/MSP) 62

acuteness = 100.0;elseacuteness = (100.0/(2500.0-f2min))*f2- (250000.0/(2500.0-f2min)) + 100.0;}

d = sqrt((600.0-f)*(600.0-f) + (1400.0-f2)*(1400.0-f2));

laxness = 100.0*(d/1200.0);

x->desc_id = x->desc_id + 1;

/* Sauvergarde dans le fichier des */fprintf(x->fid_des, "%i, %f %f %f;\n", (x->desc_id),openness, acuteness, laxness);

/* Choix de la voyelle */if(f < x->vtab[0].fmin){strcpy(cvow, x->vtab[0].phoneme);}if(f >= x->vtab[x->vtab_size-1].fmax){strcpy(cvow, x->vtab[x->vtab_size-1].phoneme);}for(i=0;i<(x->vtab_size);i++){if((f >= (x->vtab[i].fmin))&&(f < (x->vtab[i].fmax))){strcpy(cvow, x->vtab[i].phoneme);}}

/* Choix de la consonne */switch(clors){case 0:/* Glissando: pas de consonne */nocons_setting(x);//x->p_list[0].a_w.w_sym->s_name = &cvow;break;case 1:/* Legato: consonne voisée */cons_setting(x);if(cangle < x->ctab[0].amin){

Page 72: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

ANNEXE B. DESCRIPTEURS VOCAUX (MODULE MAX/MSP) 63

strcpy(ccons, x->ctab[0].phonemev);cdcons = x->ctab[0].d_phov;}if(cangle >= x->ctab[x->ctab_size-1].amax){strcpy(ccons, x->ctab[x->ctab_size-1].phonemev);cdcons = x->ctab[x->ctab_size-1].d_phov;}for(i=0;i<(x->ctab_size);i++){if((cangle >= (x->ctab[i].amin))&&(cangle < (x->ctab[i].amax))){strcpy(ccons, x->ctab[i].phonemev);cdcons = x->ctab[i].d_phov;}}break;case 2:/* Stacatto: consonne non-voisée */cons_setting(x);if(cangle < x->ctab[0].amin){strcpy(ccons, x->ctab[0].phonemenv);cdcons = x->ctab[0].d_phonv;}if(cangle >= x->ctab[x->ctab_size-1].amax){strcpy(ccons, x->ctab[x->ctab_size-1].phonemenv);cdcons = x->ctab[x->ctab_size-1].d_phonv;}for(i=0;i<(x->ctab_size);i++){if((cangle >= (x->ctab[i].amin))&&(cangle < (x->ctab[i].amax))){strcpy(ccons, x->ctab[i].phonemenv);cdcons = x->ctab[i].d_phonv;}}break;default:/* Choix incorrect */strcpy(ccons, "x");cdcons = 0;post("phonetiz2: wrong L/S parameter assignement");break;}

Page 73: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

ANNEXE B. DESCRIPTEURS VOCAUX (MODULE MAX/MSP) 64

/* Sauvegarde dans le fichier pho */if(clors == 0){post("%s %i %i %f %i %f", cvow, ctime, x->p_slide,cpitch, (100 - x->p_slide), cpitch);fprintf(x->fid_pho, "%s %i %i %f %i %f\n", cvow, 30,x->p_slide, cpitch, (100 - x->p_slide), cpitch);fprintf(x->fid_pho, "%s %i %i %f %i %f\n", cvow, (ctime - 20),x->p_slide, cpitch, (50 - x->p_slide), cpitch);}else{post("%s %i %s %i %i %f %i %f", ccons, cdcons, cvow,(ctime - cdcons), x->p_slide, cpitch, (100 - x->p_slide), cpitch);fprintf(x->fid_pho, "%s %i\n", ccons, cdcons);fprintf(x->fid_pho, "%s %i %i %f %i %f\n", cvow, 20, x->p_slide,cpitch, (50 - x->p_slide), cpitch);fprintf(x->fid_pho, "%s %i %i %f %i %f\n", cvow, (ctime - cdcons - 30),x->p_slide, cpitch, (100 - x->p_slide), cpitch);}}

/* Ouverture du fichier pho */void pho_fopen_pho(Pho *x, Symbol *s){x->fid_pho = fopen(s->s_name, "w");fprintf(x->fid_pho, "_ 100 0 100 100 100\n");

post("phonetiz2: pho file initiated");}

/* Ouverture du fichier des */void pho_fopen_des(Pho *x, Symbol *s){x->fid_des = fopen(s->s_name, "w");

post("phonetiz2: desc file initiated");}

/* Fermeture du fichier pho */void pho_fclose_pho(Pho *x){fprintf(x->fid_pho, "_ 100 0 100 100 100\n_ 100 0 100 100 100\n_100 0 100 100 100\n_ 100 0 100 100 100\n_ 100 0 100 100 100\n_100 0 100 100 100\n_ 100 0 100 100 100\n");

Page 74: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

ANNEXE B. DESCRIPTEURS VOCAUX (MODULE MAX/MSP) 65

fclose(x->fid_pho);

post("phonetiz2: pho file closed");}

/* Fermeture du fichier des */void pho_fclose_des(Pho *x){fclose(x->fid_des);x->desc_id = 0;

post("phonetiz2: desc file closed");}

/* Calcul de la valeur du premier formant */float formant(Pho *x, int string, float pluck){float form;

form = (x->str_speed[(string - 1)])/(0.04*pluck);

return form;}

/* Configuration de la liste (consonne) */void cons_setting(Pho *x){x->p_list[0].a_type = A_SYM;x->p_list[1].a_type = A_LONG;x->p_list[2].a_type = A_SYM;x->p_list[3].a_type = A_LONG;x->p_list[4].a_type = A_LONG;x->p_list[5].a_type = A_FLOAT;x->p_list[6].a_type = A_LONG;x->p_list[7].a_type = A_FLOAT;

x->p_size = 8;}

/* Configuration de la liste (pas de consonne) */void nocons_setting(Pho *x){x->p_list[0].a_type = A_SYM;x->p_list[1].a_type = A_LONG;x->p_list[2].a_type = A_LONG;x->p_list[3].a_type = A_FLOAT;

Page 75: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

ANNEXE B. DESCRIPTEURS VOCAUX (MODULE MAX/MSP) 66

x->p_list[4].a_type = A_LONG;x->p_list[5].a_type = A_FLOAT;

x->p_size = 6;}

Nous n’expliquerons pas ici comment programmer un objet externe pour Max/MSP.Nous renvoyons le lecteur à l’ouvrage Writing External Objects for Max 4.0 and MSP2.0 de David Zicarelli [16] qui contient toutes les explications théoriques ainsi quede nombreux exemples. Nous allons décrire les différentes fonctions de l’objet :

– charger le fichier de configuration,– afficher la configuration courante,– calculer le contenu phonétique et les descripteurs de Slawson,– sauvgarder les résultats de ces calculs dans des fichiers.

Chargement du fichier de configuration

L’objet est d’abord une mémoire. En effet, avant d’effectuer le moindre calcul, ilfaut charger un fichier de configuration (par exemple : default.ntp). Un exemple defichier "*.ntp" est donné ci-dessous.

6

100 300 u300 400 o400 600 O600 700 @700 800 e800 900 E

3

10 30 b 60 p 8030 60 d 50 t 4060 90 g 50 k 160

396.00 297.60 242.40 175.20 132.00 99.60

La fonction de chargement, s’appelant dans Max/MSP par un message "load de-fault.ntp", lit le fichier de configuration et associe :

– une borne minimum et maximum de F1 avec une voyelle (par exemple : "300 400o"),

– une borne minimum et maximum de l’angle d’inclinaison avec une consonne voi-sée, sa durée (en millisecondes), la consonne non-voisée équivalente, sa durée (enmillisecondes) (par exemple : "30 60 d 50 t 40").

Page 76: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

ANNEXE B. DESCRIPTEURS VOCAUX (MODULE MAX/MSP) 67

Les chiffres isolés précédent les listes donnent simplement le nombre de ligne dans laliste pour simplifier la tâche lors de la lecture du fichier. La dernière ligne correspondaux vitesses des ondes acoustiques dans chacune des cordes de la guitare (de gaucheà droite, on va de la plus aiguë à la plus grave). Ces associations sont stockées sousforme de tableaux de structures (structures Vowel et Conson rassemblées dans lestableaux vtab et ctab).

Affichage de la configuration courante

Il est possible de vérifier que le chargement du fichier de configuration est correctavec une fonction d’affichage. Cette fonction parcourt les tableaux vtab et ctab etaffichent leur éléments dans la console Max/MSP. Cette fonction est appelée par lemessage showtable.

Calcul du contenu phonétique et des descripteurs de Slawson

Une fois que la configuration est en mémoire, l’objet peut commencer à convertir lesmessages qu’il reçoit. La fonction addmess de l’API de Max/MSP permet d’attacherune fonction C à une entête particulière de message entrant. Dans ce cas-ci, tousles messages commençant par note activeront la fonction pho_note. Le messagecomprenant l’entête note et les paramètres de la note peut être réalisé en amont del’objet phonetiz2 par l’objet pack qui, à l’inverse de unpack, rassemble différentessources en un même message.

La fonction pho_note récupère les arguments du message et calcule la valeur de F1.Ensuite, cette valeur est comparée à la configuration interne pour assigner la bonnevoyelle. De la même façon, l’angle d’inclinaison et le type de jeu sont récupérés etcomparés pour assigner la bonne consonne. Enfin, le calcul trivial de F2 permetd’utiliser les formules de l’ouverture, de l’aiguïté et de la relaxation.

Sauvegarde des résultats dans des fichiers

Comme la fonction pho_note est une routine qui se répète, il n’est pas possible d’yinclure l’ouverture ou la fermeture de fichiers. D’autre part, il est souhaitable depouvoir spécifier, dans le programme Max/MSP, le nom des fichiers de sauvegarde.On ne peut donc pas inclure la gestion des fichiers dans une partie "statique" del’objet (par exemple : sa routine de création). Il faut donc assigner de nouvellesfonctions à de nouveaux messages. Nous utiliserons les messages fopen_pho et fo-pen_des respectivement pour ouvrir les fichiers de sauvegarde du contenu phonétiqueet des descripteurs de Slawson (par exemple : fopen_pho results.pho et fopen_desresults.des). De même, les messages fclose_pho et fclose_des seront envoyés pourles fermer.

Nous utilisons deux fichiers séparés car ils ne seront pas utilisés de la même façonpar la suite. Le fichier "*.pho" sera lu par le synthétiseur MBROLA avec l’objetmaxbrola (la manière d’écrire dans le fichier respecte ce formalisme). Le fichier"*.des" sera chargé dans une collection (la manière d’écrire dans le fichier respectece formalisme).

Page 77: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

ANNEXE B. DESCRIPTEURS VOCAUX (MODULE MAX/MSP) 68

B.3 Réalisation de l’interface visuelle

Fig. B.4 – Interface d’affichage de l’évolution temporelle des descripteurs de Slawson

Le fichier "*.des" contient l’évolution temporelle (note par note) des descripteurs deSlawson avec le formalisme d’une collection :

Index, descripteur1descripteur2descripteur3;

Pour réinsérer ces données dans un nouvel objet coll, il suffit d’envoyer un message"read results.des" à cet objet. Ensuite, il faut dessiner les graphiques de ces valeursen fonction du temps (cf. figure B.4). Pour ce faire, nous utilisons l’objet LCD. Ils’agit d’une surface blanche rectangulaire aux fonctions très diverses. Dans notrecas, on peut colorer un point de la surface en lui envoyant un message "setpixel 3454 255 0 0". Les deux premiers chiffres correspondent aux coordonnées (x, y) (le (0,0) se trouve en haut à gauche) et les trois suivants sont les composantes RGB de lacouleur du point.

Nous allons utiliser deux dispositifs metro+counter semblables à celui illustré à lafigure B.2. Ceux-ci seront démarrés en même temps au début de la phase d’affichage.

Premier dispositif : ligne du temps sur l’axe x

La fréquence du métronome est mise à une valeur arbitraire (par exemple : uneimpulsion toute les 10 millisecondes). La valeur maximum du compteur est égale àla largeur de la surface blanche (par exemple : 500 pixels). La sortie du compteurest incluse dans le message setpixel (objet pack) à la position de la coordonnée x(premier chiffre). De cette manière, lorsque le métronome est lancé, l’absisse avancede l’extrémité gauche jusqu’à l’extrémité droite de la fenêtre (comme une ligne dutemps). On utilise un seul dispositif pour les trois graphiques.

Page 78: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

ANNEXE B. DESCRIPTEURS VOCAUX (MODULE MAX/MSP) 69

Second dispositif : valeurs des descripteurs du l’axe y

La période du métronome est calculée de la manière suivante :

Tm2 =Lf

Nn

× Tm1

où :

– Tm2 est la période du métronome (second dispositif)– Tm1 est la période du métronome (premier dispositif)– Lf est la longueur de la fenêtre (en pixels)– Nn est le nombre de notes (et donc le nombre d’éléments à afficher dans la fenêtre)

La valeur maximum du compteur est égale au nombre de notes. La sortie du comp-teur est connectée à la collection où se trouve les valeurs des descripteurs de Slawson.La sortie de la collection (message contenant les trois descripteurs) est séparée (objetunpack) et chaque descripteur est inclus dans le message setpixel correspondant àson graphique, à la position de la coordonnée y (deuxième chiffre). De cette manière,quel que soit le nombre de notes, chaque valeur occupera une portion égale de lalargeur de la fenêtre. On peut également intercale un objet line qui va interpolerentre les différents points pour éviter un représentation "en escalier".

La bouche (cf. figure B.5) est obtenue avec le même objet LCD mais en calculant,sur base des descripteurs, les caractéristiques de l’ellipse (formules données dans lasection 2.4). Le message à envoyer à la surface blanche pour dessiner une ellipse est"paintoval".

Fig. B.5 – Représentation des descripteurs de Slawson sous forme d’une bouche

B.4 Réalisation de l’interface sonoreLe fichier "*.pho" peut être lu par le synthétiseur MBROLA au travers de l’objetmaxbrola. Après avoir initialisé la voix par une message "voice fr4", on envoie lecontenu du fichier "*.pho" par un message "phostream results.pho". On veillera à

Page 79: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

ANNEXE B. DESCRIPTEURS VOCAUX (MODULE MAX/MSP) 70

vider la mémoire du synthétiseur entre chaque écoute (message "stop") pour éviterles congestions.

Page 80: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

Annexe C

Réalisation d’un conduit vocal(ondes glottiques et formants) dansCsound et Max/MSP

Nous allons réaliser une application mettant en pratique les modélisations vus dansles sections 3.2 et 3.3. Le module de synthèse sonore est réalisé en Csound et l’inter-face de contrôle dans Max/MSP. Les deux environnements communiquent au traversde l’objet csound. Nous n’expliquons pas ici comment programmer en Csound et ren-voyons le lecteur à l’ouvrage The Csound Book édité par Richard Boulanger [11].

C.1 Module de synthèse sonore dans CsoundComme expliqué dans l’introduction générale, un module Csound est une collectiond’instruments auxquels on demande de jouer des notes. Chaque note est un messagecontenant une liste de paramètres. Ces paramètres correspondent à des variables del’instrument qui sont mises à jour lorsque la note se présente.

Dans notre cas, il y aura deux instruments. Le premier (Instrument 1 ) reçoit les notesde la partition musicale. Les arguments de celles-ci couvrent tous les paramètresprosodiques.

i1 Déb Dur Pitch PitchG VibAmp VibAmpG VibFreq VibFreqG Gain

où :

– Déb est le retard initial de la note (en secondes). 0 signifie que la note est jouéedès qu’elle se présente.

– Dur est la durée de la note (en secondes). -1 signifie que la note dure jusqu’àl’arrivée de la suivate.

– Pitch est la fréquence fondamentale de la note (en Hz).– PitchG est la durée du glissement de fréquence fondamentale entre cette note et

la suivante (en secondes).– VibAmp est l’amplitude du vibrato (en tons)

71

Page 81: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

ANNEXE C. CONDUIT VOCAL 1 (MODULES CSOUND ET MAX/MSP) 72

– VibAmpG est la durée de l’estompement avant sur l’amplitude du vibrato (ensecondes).

– VibFreq est la fréquence du vibrato (en Hz).– VibFreqG est la durée de l’estompement avant sur la fréquence du vibrato (en

secondes). Cette fréquence commence à 5 Hz.– Gain est l’intensité de la note (en % de l’intensité maximum).

L’instrument construit la fréquence fondamentale et l’intensité instantanée et l’en-voie, au taux de contrôle, au second instrument (Instrument 2 ) qui réalise la synthèseen continu. Cela permet de générer un flux vocal continu sans les discontinuités duesaux changements de notes. Certaines variables doivent subsister d’une note à l’autre(par exemple : la fréquence fondamentale de la note précédente pour effectuer leglissement). Elles sont rassemblées dans un autre instrument (Instrument 10 ).

C.1.1 Code Csound

Instrument 1

; ---- CONSTRUCTION DE LA FREQUENCE ET DE L’INTENSITÉ ----; ---- INSTANTANÉE ----

instr 1

; ParamètresiPitch = p4iPitchG = p5iVibAmp = p6iVibAmpG = p7iVibFreq = p8iVibFreqG = p9iGain = p10

; Glissement de la fréquence fondamentaleiPitchOld = i(gkPitch)kPitch linseg iPitchOld, iPitchG, iPitch, (p3-iPitchG), iPitchgkPitch = iPitch

; VibratokVibAmp linseg 0, iVibAmpG, iVibAmp, (p3-iVibAmpG), iVibAmpkVibFreq linseg 5, iVibFreqG, iVibFreq, (p3-iVibFreqG), iVibFreqkVibAmpR randi 0.1, 12, 0.657kVibFreqR randi 0.8, 12, 0.342kVib oscili 2^((kVibAmp+kVibAmpR)/6), kVibFreq+kVibFreqR, 2

; Fréquence instantanéegkFreqFond = kPitch + kVib

Page 82: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

ANNEXE C. CONDUIT VOCAL 1 (MODULES CSOUND ET MAX/MSP) 73

; Glissement de l’intensitéiGainOld = i(gkGain)kGain linseg iGainOld, 0.1, iGain, (p3-0.1), iGaingkGain = iGain

; Intensité instantanéekGainR randomi 0.98, 1.02, gkFreqFondgkInten = kGain*kGainR

endin

Instrument 2

; ---- MODÈLE DE GLOTTE + CONDUIT VOCAL ----

instr 2

; InitialisationsgkInten init 0gkFreqFond init 120kturb invalue "turbulences"kturb init 0

; Turbulences glottiquesarand rand 2000atube butterbp arand, 500, 700atubelf butterlp atube, 1000atubemf butterbp atube, 2000, 2000atubehf butterhp atube, 3000

; Signal glottiqueaphas phasor gkFreqFondaphasvp tablei aphas*8191, 3aphasvt tablei aphas*8191, 4aglotvp tablei aphasvp*8191, 1aglotvt tablei aphasvt*8191, 1

if (gkPitch>0)&&(gkPitch<=270) thenkselvp = 1kselvt = 0elseif (gkPitch>210) thenkselvp = 0kselvt = 1endif

kselvp port kselvp, 0.04

Page 83: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

ANNEXE C. CONDUIT VOCAL 1 (MODULES CSOUND ET MAX/MSP) 74

kselvt port kselvt, 0.04

aglot = 30000*(gkInten/100)*(1.2*kselvp*aglotvp + 1.5*kselvt*aglotvt)aglotmod = (gkInten/100)*(1.2*kselvp*aglotvp + 1.5*kselvt*aglotvt)

; Modulation des turbulencesaturblf = (0.98*aglotmod + 0.02)*atubelfaturbmf = (0.99*aglotmod + 0.01)*atubemfaturbhf = aglotmod*atubehfaturbf = aturblf + aturbmf + aturbhf

; Conduit vocalacvin = sqrt(kturb)*aturb + sqrt(1-kturb)*aglot

ares1 reson acvin/100, 680, 80ares2 reson acvin/100, 1150, 90ares3 reson acvin/100, 2600, 120ares4 reson acvin/100, 3000, 150ares5 reson acvin/100, 4000, 200

kamp1 = 1kamp2 = 0.95kamp3 = 0.45kamp4 = 0.35kamp5 = 0.25

ares1 balance ares1, acvin/5ares2 balance ares2, acvin/5ares3 balance ares3, acvin/5ares4 balance ares4, acvin/5ares5 balance ares5, acvin/5

ares = 80*(kamp1*ares1 + kamp2*ares2+ kamp3*ares3 + kamp4*ares4 + kamp5*ares5)

; Lèvresaresd delay aresasig = 0.5*ares - 0.5*aresdasig dcblock asig

; Post-traitementasigv reverb asig/10, 3asig = 0.6*asig + 0.4*asigv

outs asig, asig

Page 84: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

ANNEXE C. CONDUIT VOCAL 1 (MODULES CSOUND ET MAX/MSP) 75

endin

Instrument 10

; ---- VARIABLES GLOBALES (D’UNE NOTE À L’AUTRE) ----

instr 10

gkPitch init 120gkGain init 0

endin

Tables d’ondes et de partition de départ

f1 0 8192 20 2 ; Fenêtre de Hanningf2 0 512 7 0 128 1 256 -1 128 0 ; Onde triangulaire pour le vibratof3 0 8192 7 0 3000 0.5 2000 1 3192 1 ; Phaseur voix pleinef4 0 8192 7 0 4500 0.5 3000 1 692 1 ; Phaseur voix de tête

i10 0 600 ; Lancement de l’env. globali2 0 600 ; Lancement de l’instrument de phonation

e

C.1.2 Remarques

Nous avons choisi 12 Hz pour la fréquence de variation aléatoire de la déviation ded’amplitude et de fréquence du vibrato (Instrument 1, Vibrato) car celle-ci corres-pond plus ou moins à une borne maximum de fréquence de vibrato en chant. Eneffet, il est logique de penser que les déviations du vibrato vont à la même vitesseque celui-ci, un peu comme si les valeurs de ces déviations se mettaient à jour d’unepériode sur la suivante.

Le même raisonnement qu’au paragraphe précédent peut être à la déviation de l’am-plitude du signal glottique. On considère que cette déviation évolue à la même fré-quence que la fréquence fondamentale pour obtenir des amplitudes d’ondes glottiquesdifférentes à chaque période.

Comme expliqué dans la section 3.2, on modélise le passage des turbulences autravers des cordes vocales en modulant en amplitude un bruit coloré par l’onde glot-tique. On peut augmenter le réalisme en considérant que les basses fréquences sontmoins atténuées. On va donc filtrer le bruit coloré en trois bandes de fréquences, lesmoduler séparément (en diminuant l’effet de la modulation pour les bandes bassesfréquences) et ensuite refaire la somme des bruits modulés (Instrument 2, Turbu-lences glottiques et Modulation des turbulences).

Page 85: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

ANNEXE C. CONDUIT VOCAL 1 (MODULES CSOUND ET MAX/MSP) 76

On remarque que le taux de turbulence est directement contrôlé dans l’Instrument2 (Instrument 2, Initialisations).

C.2 Module de contrôle dans Max/MSPNous allons à présent expliquer comment utiliser, dans Max/MSP, le synthétiseurconçu en langage Csound. Il faut utiliser l’objet csound disponible gratuitementsur Internet. Une fois installé dans l’environnement graphique de Max/MSP, il fautenvoyer à l’objet un message "csound mon_module.csd" puis une alerte (objet bang).Un message "stop" arrête l’objet. Une manière simple de réaliser le démarrage estillustrée à la figure C.1. Avec ce cablâge, vu de l’exterieur, il y a un bouton démarrage,un bouton arrêt et une entrée pour les messages.

Fig. C.1 – Programme de démarrage de Csound dans Max/MSP

Ensuite, pour faire jouer des notes au synthétiseur, il faut lui envoyer des messages"event i1 p2 p3 p4 ...". Les paramètres sont ceux décrits dans la section C.1. Pourrendre l’interface utilisable en temps-réel, nous allons utiliser des générateurs denombres décimaux (objet flonum) ou des potentiomètres linéaires (objet uslider)pour contrôler chacun des paramètres de la note à l’exception de la fréquence fon-damentale. La fréquence fondamentale sera contrôlée par un clavier virtuel (objetkslider) ou un clavier MIDI externe (objet notein). Comme le clavier délivre le nu-méro de la touche jouée, il faut le convertir en fréquence (objet mtof ). Enfin, il fautconstruire le message (objet pack) et l’envoyer. Pour ce faire, il faut inverser l’ordred’arrivée des entrées du clavier (objet swap). En effet, on va se servir de la vélocité(entrée de droite du clavier) pour envoyer le message (lorsque celle-ci est positive).Il faut donc veiller à ce que la vélocité arrive en dernier pour que le message soitenvoyé avec la bonne valeur de fréquence fondamentale (et non pas celle de la noteprécédente). Toute cette démarche est résumée à la figure C.2.

Page 86: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

ANNEXE C. CONDUIT VOCAL 1 (MODULES CSOUND ET MAX/MSP) 77

Fig. C.2 – Programmation graphique du module de contrôle du synthétiseur Csound

Page 87: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

Annexe D

Réalisation d’un conduit vocal(impulsions et filtre en treillis) dansCsound et Max/MSP

Dans cette annexe, nous allons expliquer l’application réalisant la synthèse d’unetexture vocale à partir d’une source polyvalente (mélange de trains d’impulsions,modèle physique de cordes, bruits et sources extérieures) et d’un filtre LPC en treillis(cf. 3.3 pour explications théoriques). Comme pour l’annexe C, nous allons réaliserle synthétiseur avec Csound et en contrôler les paramètres dans Max/MSP à l’aidede l’objet csound.

D.1 Module de synthèse dans CsoundLe système de synthèse comporte un seul instrument. Toutefois, nous allons logique-ment diviser celui-ci en deux parties : la source et le filtre. Nous renvoyons le lecteurà l’ouvrage "The Csound Book", édité par Richard Boulanger, pour les détails de laprogrammation Csound [11].

D.1.1 Réalisation de la source polyvalente

La source que nous nous proposons de réaliser peut produire une grande variétéde textures sonores. Il s’agit en fait de la somme de deux sources indépendantescontrôlables par un facteur de gain. Chacune des sources indépendantes donne lechoix entre 3 générateurs : le train d’impulsions (plus ou moins bruité), le modèlephysique de corde excité par une source extérieure ou la source extérieure seule.Comme ce routage sera réalisé dans Max/MSP (cf. supra), nous considérons icique la source est la somme pondérée de ces six générateurs. Chaque facteur depondération est le produit de deux variables : une variable continue (entre 0 et 1)pour ajuster le volume du générateur et une variable booléenne (0 ou 1) pour lasélection du générateur :

Source = Select1 × V olume1 ×Gen1 + ... + Select6 × V olume6 ×Gen6

78

Page 88: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

ANNEXE D. CONDUIT VOCAL 2 (MODULES CSOUND ET MAX/MSP) 79

Code Csound de la source

; ---- PARAMÈTRES EXTERNES ----

; Entrées sonsasnd1 inch 1asnd2 inch 2

; Pitchskepitch1 invalue "epitch1"kepitch2 invalue "epitch2"

; Amplitudes des vibratos pitchkpv1amp invalue "pv1amp"kpv2amp invalue "pv2amp"

; Fréquences des vibratos pitchkpv1freq invalue "pv1freq"kpv2freq invalue "pv2freq"

; Amplitudes des randoms pitchkpr1amp invalue "pr1amp"kpr2amp invalue "pr2amp"

; Frequences des randoms pitchkpr1freq invalue "pr1freq"kpr2freq invalue "pr2freq"

; Overlapping des trains d’impulsionskbol1 invalue "bol1"kbol2 invalue "bol2"

; Taux de bruit dans les trains d’impulsionsknr1 invalue "nr1"knr2 invalue "nr2"

; Amplitudes des randoms amplitudeskbran1amp invalue "bran1amp"kbran2amp invalue "bran2amp"

; Fréquences des randoms amplitudeskbran1freq invalue "bran1freq"kbran2freq invalue "bran2freq"

; Pondérations des trains d’impulsionskbuzz1 invalue "buzz1ctrl"

Page 89: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

ANNEXE D. CONDUIT VOCAL 2 (MODULES CSOUND ET MAX/MSP) 80

kbuzz2 invalue "buzz2ctrl"

; Paramètres des guides d’ondeskpratio1 invalue "pratio1"kpratio2 invalue "pratio2"

kstrco1 invalue "strco1"kstrco2 invalue "strco2"

kstrfb1 invalue "strfb1"kstrfb2 invalue "strfb2"

; Pondération des guides d’ondeskwg1 invalue "wg1ctrl"kwg2 invalue "wg2ctrl"

; Pondération des entrées audiosksnd1 invalue "snd1ctrl"ksnd2 invalue "snd2ctrl"

; Switchs des sourceskb1sw invalue "b1sw"kb2sw invalue "b2sw"

kwg1sw invalue "wg1sw"kwg2sw invalue "wg2sw"

ka1sw invalue "a1sw"ka2sw invalue "a2sw"

; ---- INITIALISATIONS ----

kepitch1 init 100kepitch2 init 100

kpv1amp init 0kpv2amp init 0

kpv1freq init 0kpv2freq init 0

kpr1amp init 0kpr2amp init 0

kpr1freq init 0kpr2freq init 0

Page 90: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

ANNEXE D. CONDUIT VOCAL 2 (MODULES CSOUND ET MAX/MSP) 81

kbol1 init 0.94kbol2 init 0.94

knr1 init 0knr2 init 0

kbran1amp init 0kbran2amp init 0

kbran1freq init 0kbran2freq init 0

kbuzz1 init 0kbuzz2 init 0

kpratio1 init 0kpratio2 init 0

kstrco1 init 2500kstrco2 init 2500

kstrfb1 init 0.9kstrfb2 init 0.9

kb1sw init 0kb2sw init 0

kwg1sw init 0kwg2sw init 0

ka1sw init 0ka2sw init 0

; ---- CONTROLE DU PITCH ----

; Vibratos de pitchkpitchvib1 oscili (kpv1amp/100)*kepitch1, kpv1freq, 3kpitchvib2 oscili (kpv2amp/100)*kepitch2, kpv2freq, 3

; Random sur le pitchkpitchran1 randi (kpr1amp/100)*kepitch1, kpr1freq, 0.746kpitchran2 randi (kpr2amp/100)*kepitch2, kpr2freq, 0.564

; Calcul du pitchkpitch1 = abs(kepitch1 + kpitchvib1 + kpitchran1)

Page 91: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

ANNEXE D. CONDUIT VOCAL 2 (MODULES CSOUND ET MAX/MSP) 82

kpitch2 = abs(kepitch2 + kpitchvib2 + kpitchran2)

; ---- CREATION DES TRAINS IMPULSIONNELS ----

; Randoms sur les amplitudeskbran1 randi (kbran1amp/100)*p4, kbran1freq, 0.746kbran2 randi (kbran2amp/100)*p4, kbran2freq, 0.342

; Calcul des trains d’impulsionsabuzz1 gbuzz abs(p4+kbran1), kpitch1, int(sr/(2*kpitch1)), 0, kbol1, 2abuzz2 gbuzz abs(p4+kbran2), kpitch2, int(sr/(2*kpitch2)), 0, kbol2, 2

; ---- DÉVOISAGE DES TRAINS IMPULSIONNELS ----

arand1 rand 1arand2 rand 1

arand1 balance arand1, abuzz1arand2 balance arand2, abuzz2

abuzz1 = knr1*arand1 + (1-knr1)*abuzz1abuzz2 = knr2*arand2 + (1-knr2)*abuzz2

; ---- CREATION DES GUIDES D’ONDES ----

; Calcul des parties entières et fractionnellesknsamp1 = sr/kpitch1kint1 = int(knsamp1)kfrac1 = frac(knsamp1)kfreq1 = sr/kint1

knsamp2 = sr/kpitch2kint2 = int(knsamp2)kfrac2 = frac(knsamp2)kfreq2 = sr/kint2

; Création des guides d’ondesawg1 wguide1 kpratio1*asnd1, kfreq1, kstrco1, kstrfb1awg2 wguide1 kpratio2*asnd2, kfreq2, kstrco2, kstrfb2

; Interpolations de Lagrangeawg1d1 delay1 awg1awg1d2 delay1 awg1d1awg1d3 delay1 awg1d2

awg2d1 delay1 awg2

Page 92: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

ANNEXE D. CONDUIT VOCAL 2 (MODULES CSOUND ET MAX/MSP) 83

awg2d2 delay1 awg2d1awg2d3 delay1 awg2d2

ka10 = -(kfrac1-1)*(kfrac1-2)*(kfrac1-3)/6ka11 = kfrac1*(kfrac1-2)*(kfrac1-3)/2ka12 = -kfrac1*(kfrac1-1)*(kfrac1-3)/2ka13 = kfrac1*(kfrac1-1)*(kfrac1-2)/6

ka20 = -(kfrac2-1)*(kfrac2-2)*(kfrac2-3)/6ka21 = kfrac2*(kfrac2-2)*(kfrac2-3)/2ka22 = -kfrac2*(kfrac2-1)*(kfrac2-3)/2ka23 = kfrac2*(kfrac2-1)*(kfrac2-2)/6

awg1 = ka10*awg1 + ka11*awg1d1 + ka12*awg1d2 + ka13*awg1d3awg2 = ka20*awg2 + ka21*awg2d1 + ka22*awg2d2 + ka23*awg2d3

; ---- LISSAGE DES VOLUMES ----

kbuzz1 port kbuzz1, 0.01kbuzz2 port kbuzz2, 0.01

kwg1 port kwg1, 0.01kwg2 port kwg2, 0.01

ksnd1 port ksnd1, 0.01ksnd2 port ksnd2, 0.01

; ---- MIXAGE DE L’EXCITATION ----

aexcit =kb1sw*kbuzz1*abuzz1 + kb2sw*kbuzz2*abuzz2+ kwg1sw*kwg1*awg1 + kwg2sw*kwg2*awg2+ ka1sw*ksnd1*asnd1 + ka2sw*ksnd2*asnd2

Remarques

Nous voyons, par le grande nombre de variables à contrôler de l’extérieur (com-mande invalue), qu’il aurait été impossible de commander la source en envoyant desnotes. En effet, la construction de messages "event i1 p1 p2 p3 ..." deviendrait trèscomplexe avec autant d’arguments. On peut donc en déduire que cet instrumentfonctionnera avec une seule note initiale.

Le train d’impulsion utilisé (partie de code Création des trains d’impulsions) corres-pond à la version modifiée qui a été étudiée dans la section 3.3 (commande gbuzz ).En effet, le paramètre kbol contrôle la relaxation du train d’impulsion (0=relaxationinfinie, 1=relaxation nulle).

Page 93: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

ANNEXE D. CONDUIT VOCAL 2 (MODULES CSOUND ET MAX/MSP) 84

Nous renvoyons le lecteur à la section Synthèse musicale (Chapitre IntroductionGénérale) pour les explications concernant l’interpolation de Lagrange.

D.1.2 Filtre LPC en treillis

Le filtre en treillis a une structure très répétitive (cf. section 3.3). Cette allure decellules en cascade rend l’implémentation dans Csound relativement simple. En effet,il suffit de déterminer les équations locales du motif qui se répète et ensuite deconnecter les cellules l’une à la suite de l’autre. On récupère le signal de source eton le connecte à la première cellule. On envoie enfin la sortie de la dernière celluledans l’étape suivante du traitement.

En isolant une cellule sur la figure 3.10, on s’aperçoit qu’il y a quatre variables auxaccès et une variable interne comme le montre la figure D.1.

Fig. D.1 – Variables d’une cellule de filtre en treillis

Cette cellule peut être complètement définie par trois équations simples de traite-ment de signal :

A2(n) = A1(n) - k2 x C(n)B1(n) = C(n) + k2 x A2(n)C(n) = B2(n-1)

Code Csound du filtre

; ---- PARAMÈTRES EXTERNES ----

; Paramètres du filtre LARkelar1 invalue "LAR1"kelar2 invalue "LAR2"kelar3 invalue "LAR3"kelar4 invalue "LAR4"kelar5 invalue "LAR5"kelar6 invalue "LAR6"kelar7 invalue "LAR7"

Page 94: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

ANNEXE D. CONDUIT VOCAL 2 (MODULES CSOUND ET MAX/MSP) 85

kelar8 invalue "LAR8"kelar9 invalue "LAR9"kelar10 invalue "LAR10"kelar11 invalue "LAR11"kelar12 invalue "LAR12"kelar13 invalue "LAR13"kelar14 invalue "LAR14"

; ---- INITIALISATIONS ----

kelar1 init 0kelar2 init 0kelar3 init 0kelar4 init 0kelar5 init 0kelar6 init 0kelar7 init 0kelar8 init 0kelar9 init 0kelar10 init 0kelar11 init 0kelar12 init 0kelar13 init 0kelar14 init 0

; FILTRAGE LPC (TREILLIS)

; Randoms sur les LARiklarrand1 randi 0.002, 6, 0.454klarrand2 randi 0.002, 6, 0.234klarrand3 randi 0.002, 6, 0.345klarrand4 randi 0.002, 6, 0.344klarrand5 randi 0.002, 6, 0.566klarrand6 randi 0.002, 6, 0.564klarrand7 randi 0.002, 6, 0.343klarrand8 randi 0.002, 6, 0.676klarrand9 randi 0.002, 6, 0.342klarrand10 randi 0.002, 6, 0.577klarrand11 randi 0.002, 6, 0.345klarrand12 randi 0.002, 6, 0.765klarrand13 randi 0.002, 6, 0.234klarrand14 randi 0.002, 6, 0.759

; Valeurs des LARiklar1 = kelar1klar2 = kelar2

Page 95: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

ANNEXE D. CONDUIT VOCAL 2 (MODULES CSOUND ET MAX/MSP) 86

klar3 = kelar3klar4 = kelar4klar5 = kelar5klar6 = kelar6klar7 = kelar7klar8 = kelar8klar9 = kelar9klar10 = kelar10klar11 = kelar11klar12 = kelar12klar13 = kelar13klar14 = kelar14

; Calcul des ki sur base des LARikcoeff1 = -((1-(10^klar1))/(1+(10^klar1)))kcoeff2 = -((1-(10^klar2))/(1+(10^klar2)))kcoeff3 = -((1-(10^klar3))/(1+(10^klar3)))kcoeff4 = -((1-(10^klar4))/(1+(10^klar4)))kcoeff5 = -((1-(10^klar5))/(1+(10^klar5)))kcoeff6 = -((1-(10^klar6))/(1+(10^klar6)))kcoeff7 = -((1-(10^klar7))/(1+(10^klar7)))kcoeff8 = -((1-(10^klar8))/(1+(10^klar8)))kcoeff9 = -((1-(10^klar9))/(1+(10^klar9)))kcoeff10 = -((1-(10^klar10))/(1+(10^klar10)))kcoeff11 = -((1-(10^klar11))/(1+(10^klar11)))kcoeff12 = -((1-(10^klar12))/(1+(10^klar12)))kcoeff13 = -((1-(10^klar13))/(1+(10^klar13)))kcoeff14 = -((1-(10^klar14))/(1+(10^klar14)))

kcoeff1 port kcoeff1, 0.01kcoeff2 port kcoeff2, 0.01kcoeff3 port kcoeff3, 0.01kcoeff4 port kcoeff4, 0.01kcoeff5 port kcoeff5, 0.01kcoeff6 port kcoeff6, 0.01kcoeff7 port kcoeff7, 0.01kcoeff8 port kcoeff8, 0.01kcoeff9 port kcoeff9, 0.01kcoeff10 port kcoeff10, 0.01kcoeff11 port kcoeff11, 0.01kcoeff12 port kcoeff12, 0.01kcoeff13 port kcoeff13, 0.01kcoeff14 port kcoeff14, 0.01

; Initialisation de toutes les variables audio internes; (obligatoire pour un cablâge croisé)

Page 96: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

ANNEXE D. CONDUIT VOCAL 2 (MODULES CSOUND ET MAX/MSP) 87

al1 init 0al2 init 0al3 init 0al4 init 0al5 init 0al6 init 0al7 init 0al8 init 0al9 init 0al10 init 0al11 init 0al12 init 0al13 init 0al14 init 0

aig1 init 0aig2 init 0aig3 init 0aig4 init 0aig5 init 0aig6 init 0aig7 init 0aig8 init 0aig9 init 0aig10 init 0aig11 init 0aig12 init 0aig13 init 0aig14 init 0

aog1 init 0aog2 init 0aog3 init 0aog4 init 0aog5 init 0aog6 init 0aog7 init 0aog8 init 0aog9 init 0aog10 init 0aog11 init 0aog12 init 0aog13 init 0

asig init 0

Page 97: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

ANNEXE D. CONDUIT VOCAL 2 (MODULES CSOUND ET MAX/MSP) 88

; Topologie du réseau en treillisal14 delay1 aog13aig13 = aexcit - kcoeff14*al14

al13 delay1 aog12aig12 = aig13 - kcoeff13*al13aog13 = al13 + kcoeff13*aig12

al12 delay1 aog11aig11 = aig12 - kcoeff12*al12aog12 = al12 + kcoeff12*aig11

al11 delay1 aog10aig10 = aig11 - kcoeff11*al11aog11 = al11 + kcoeff11*aig10

al10 delay1 aog9aig9 = aig10 - kcoeff10*al10aog10 = al10 + kcoeff10*aig9

al9 delay1 aog8aig8 = aig9 - kcoeff9*al9aog9 = al9 + kcoeff9*aig8

al8 delay1 aog7aig7 = aig8 - kcoeff8*al8aog8 = al8 + kcoeff8*aig7

al7 delay1 aog6aig6 = aig7 - kcoeff7*al7aog7 = al7 + kcoeff7*aig6

al6 delay1 aog5aig5 = aig6 - kcoeff6*al6aog6 = al6 + kcoeff6*aig5

al5 delay1 aog4aig4 = aig5 - kcoeff5*al5aog5 = al5 + kcoeff5*aig4

al4 delay1 aog3aig3 = aig4 - kcoeff4*al4aog4 = al4 + kcoeff4*aig3

al3 delay1 aog2aig2 = aig3 - kcoeff3*al3

Page 98: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

ANNEXE D. CONDUIT VOCAL 2 (MODULES CSOUND ET MAX/MSP) 89

aog3 = al3 + kcoeff3*aig2

al2 delay1 aog1aig1 = aig2 - kcoeff2*al2aog2 = al2 + kcoeff2*aig1

al1 delay1 asigasig = aig1 - kcoeff1*al1aog1 = al1 + kcoeff1*asig

; Post-traitementaout balance asig, aexcitaverb reverb aout/20, 10aout = (aout + averb)/2outs aout, aout

Remarques

L’initialisation préalable à 0 de toutes les variables audionumériques internes du filtreest nécessaire sinon le compilateur Csound signale une erreur de non-déclaration devariable. En effet, comme le filtre comporte des boucles récursives, il est impossibled’éviter l’utilisation de certaines variables avant leur déclarations.

D.2 Module de contrôle dans Max/MSPNous allons voir comment rendre l’utilisation du synthétiseur que nous venons dedécrire plus intuitive dans Max/MSP. La manière d’amener du code Csound dansMax/MSP est déjà décrite dans l’annexe C, notamment à la figure C.1. Dans cetteprécédente annexe, nous avons vu comment contrôler les variables du synthétiseuravec les arguments des notes. Ici, nous allons directement agir sur certaines variables(celles qui ont été rendues accessibles à l’extérieur par la commande variable invalue"étiquette") par des messages du type "control étiquette valeur". Par exemple, si lecode Csound comprend une ligne kpitch invalue "pitch", le message "control pitch440" va amener la variable kpitch à la valeur 440. Tous les potentiomètres de l’inter-face contrôlent les variables du synthétiseur de cette manière. Il suffit de construirele message de la façon suivante : "control pitch $1" puis raccorder le potentiomètreau message comme cela est illustré à la figure D.2.

Au début de la section D.1, nous avons expliqué que le but de l’interface dansMax/MSP était que l’interprète puisse configurer deux sources indépendantes etles mixer ensemble avant leur entrée dans le filtre. Il y aura donc trois tableauxde commandes à réaliser : le contrôle d’une source indépendante (qui apparaîtradeux fois à l’identique), le contrôle du mixage des deux sources indépendantes et lecontrôle du filtre (au travers des LARi).

Page 99: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

ANNEXE D. CONDUIT VOCAL 2 (MODULES CSOUND ET MAX/MSP) 90

Fig. D.2 – Contrôle d’une variable Csound par un potentiomètre Max/MSP

D.2.1 Contrôle d’une source indépendante

Cette source permet de choisir entre 3 types de générateurs : le train d’impulsions,la corde et la source externe. L’activation d’un de ces générateurs se fait par lecontrôle des variables booléennes de ces trois générateurs dans la sommation finaledu synthétiseur (cf. formule de la sous-section Réalisation de la source polyvalente).Bien évidemment, chacune des sources n’a le contrôle que sur ses trois générateurs.Il a, dans cet interface, tous les paramètres de contrôle des instruments (fréquencefondamentale, vibrato, déviations, ...).

D.2.2 Le contrôle du mixage des deux sources indépendantes

Cette partie de l’interface permet le mixage des deux sources indépendantes et offreun accès rapide, par l’intermédiaire d’un sous-module, aux interfaces relatives à cesdeux sources. Chaque potentiomètre de gain contrôle simultanément les trois va-riables de volume des trois générateurs auquel il se rapporte dans la sommationfinale du synthétiseur (cf. formule de la sous-section Réalisation de la source poly-valente). La balance et le gain général sont obtenu en multipliant les valeurs despotentiomètres (ceux ) par deux valeurs entre 0 et 1 (boutons entre 0 et 100 divisépar 100). Le gain général envoie la même valeur pour les deux potentiomètres, labalance envoie le complémentaire à 1 d’un coté. De plus, comme l’objet * ne met àjour la sortie que sur modification de l’entrée de gauche, une alerte est renvoyée surces valeurs de gauche lorsque la balance ou le gain général sont modifiés. Ce câblageest illustré à la figure D.5.

D.2.3 Le contrôle du filtre

Les coefficients LARi se contrôlent naturellement par des potentiomètres linéaires.L’automatisation est obtenue avec une collection (objet coll). On y stocke des mes-sages contenant la liste des coefficients LARi. Ces coefficients peuvent être obtenupar une analyse LPC (par exemple : dans Matlab ou Csound). Ensuite ces messagessont lus par le même dispositif "metro+counter" que celui expliqué à la figure B.2(section B.1). Les valeurs sont interpolées (objet line) et présentées en entrées despotentiomètres linéaires. De plus, il est possible de désactiver l’action de l’automa-tisation sur les potentiomètres linéaires (globalement ou localement). Cela se fait

Page 100: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

ANNEXE D. CONDUIT VOCAL 2 (MODULES CSOUND ET MAX/MSP) 91

Fig. D.3 – Interface de la source indépendante

avec l’objet gate qui agit comme un pont (entrée de gauche à 1=le signal passe del’entrée de droite vers la sortie ; entrée de gauche à 0=le signal ne passe pas et lasortie ne communique plus rien).

Page 101: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

ANNEXE D. CONDUIT VOCAL 2 (MODULES CSOUND ET MAX/MSP) 92

Fig. D.4 – Mixage des deux sources indépendantes

Fig. D.5 – Câblage de la balance générale

Fig. D.6 – Contrôle du filtre en treillis

Page 102: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

Annexe E

Réalisation d’un générateur de fluxd’obstructions utilisant MBROLAdans Max/MSP

Nous avons parlé, dans la section 3.4, de rendre le générateur de messages MBROLAautonome. C’est l’unique but du programme Max/MSP qui va être décrit danscette section. Partant d’une alerte de note entrante (Note In), le système va lireun syllabe (message constitué de la succession de phonèmes assignés à une mêmenote), l’orienter en fonction du nombre de phonèmes et de la position de la voyelle,construire le message et l’envoyer à MBROLA.

E.1 Lecture de la pile de syllabesLes syllabes sont sauvegardées dans une collection avec la syntaxe suivante (exemple :phrase "la petite est comme l’eau").

1, - l a;2, - p @;3, - t i;4, - t E;5, - k o;6, - m @;7, - l o;

Le tiret est nécessaire dans une étape ultérieure. Le système est capable de gérer dessyllabes à un (consonne ou voyelle), deux (consonne-voyelle ou voyelle-consonne) outrois phonèmes (consonne-consonne-voyelle ou consonne-voyelle-consonne). Mêmesi elle n’est pas exhausive, cette formulation permet déjà de produire des phrasescomplexes. Pour lire cette pile au rythme des notes entrantes, nous allons connecterl’alerte Note On (provenant du clavier) à un compteur (objet counter). La valeurmaximum du compteur est égale au nombre de syllabes dans la pile. Le compteur estensuite raccordé à la collection contenant les syllabes. De cette manière, à chaquenote entrante, un message du type "- p @" est envoyé en sortie de la collection.

93

Page 103: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

ANNEXE E. GÉNÉRATEUR MBROLA (MODULE MAX/MSP) 94

Ensuite, on mesure la taille du message (objet zl len). Cet objet ne fonctionne pasavec des messages d’un seul symbole. C’est la raison pour laquelle nous ajoutonsdes tirets aux syllabes. Avec cette syntaxe, une syllabe d’un phonème comporteradeux symboles. La taille ainsi mesurée est rajoutée à l’avant du message (objet "zljoin" : entrèe de gauche=sortie de "zl len", entrée de droite=sortie de la collection).Le message du paragraphe précédent devient donc "3 - p @". Le câblage de cettepartie est illustré à la figure E.1.

Fig. E.1 – Lecture de la pile de syllabes

E.2 Routage des messages et séparation des sym-boles

La manipulation qui vient d’être faite a préparé le message à être routé. En effet,l’objet route lit le premier symbole du message et oriente la suite du message versune de ces sorties en fonction du premier symbole. Par exemple, l’objet déclaré parla syntaxe "route 2 3 4" recevant le message "3 - p @" envoie le message "- p @" sursa deuxième sortie. Ensuite, les phonèmes sont extraits des messages (objet unpack).A ce stade, les sorties correspondant aux tirets, situées à l’extrême gauche des objetsunpack, sont définitivement abandonnées. Le câblage de cette partie est illustré à lafigure E.2.

Fig. E.2 – Routage des messages et séparation des symboles

E.3 Détection de la position de la voyelleAfin de détecter la position de la voyelle, nous allons utiliser l’objet sel. Cet objetenvoie une alerte lorsqu’il reçoit en entrée l’argument avec lequel il a été initialisé.Par exemple, déclarer l’objet avec la syntaxe "sel a 3" signifie qu’il enverra :

– une alerte sur sa première sortie s’il reçoit un symbole "a",

Page 104: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

ANNEXE E. GÉNÉRATEUR MBROLA (MODULE MAX/MSP) 95

– une alerte sur sa deuxième sortie s’il reçoit un chiffre 3,– une alerte sur sa troisième sortie s’il reçoit n’importe quoi d’autre.

Dans notre cas, l’objet sera déclaré avec la syntaxe "sel a @ e E i o o u a y e ".Toutes les sorties, sauf la dernière, seront rassemblées en une seule et même alertecorrespondant à la présence d’une voyelle. La dernière sortie correspond à la présenced’une consonne.

Dans le cas de la syllabe à un seul phonème (objet unpack de gauche sur la figureE.2), nous allons évidemment tester la sortie de droite (nous rappelons que la sortie laplus à gauche des unpack correspond au tiret). Afin que le phonème atteigne l’étapesuivante avant le résultat du test, ce qui est essentiel pour éviter les décalages (cf.supra), la deuxième sortie de l’objet unpack est connectée à un objet t (avec lasyntaxe "t s s"). Celui-ci va d’abord envoyer le symbole dans sa sortie de droite(reliée à l’étape suivante) puis dans sa sortie de gauche (reliée au test de voyelle).Nous pouvons donc faire la distinction entre une voyelle seule et une consonne seule.Ce câblage est illustré à la figure E.3.

Fig. E.3 – Priorités dans la gestion de la syllabe à un phonème

Dans le cas de la syllabe à deux phonèmes (objet unpack du milieu sur la figure E.2),nous choisissons de tester la seconde entrée. Ce choix n’est pas fait par hasard. Eneffet, les sorties arrivent de droite à gauche. A nouveau pour éviter les décalages (cf.supra), il est primordial que le phonème de droite ait atteint l’étape suivante avantl’alerte. A nouveau, un objet t (syntaxe "t s s") doit être inséré sur le chemin dela voyelle à tester. Etant donné ce câblage, une alerte de voyelle nous indique qu’ils’agit d’une syllabe voyelle-consonne et une alerte de consonne nous indique qu’ils’agit d’une syllabe consonne-voyelle. Ce câblage est illustré à la figure E.4.

Fig. E.4 – Priorités dans la gestion de la syllabe à deux phonèmes

Dans le cas de la syllabe à trois phonèmes (objet unpack de droite sur la figureE.2), le problème de priorité de droite à gauche est plus complexe qu’au paragraphe

Page 105: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

ANNEXE E. GÉNÉRATEUR MBROLA (MODULE MAX/MSP) 96

précédent. En effet, pour pouvoir faire la distinction entre la syllabe "consonne-consonne-voyelle" et la syllabe "consonne-voyelle-consonne", il faut obligatoirementfaire la détection sur la troisième ou la quatrième sortie de l’objet unpack. Il restedonc toujours un symbole arrivant après le test. Pour y remédier, nous allons inverserleur ordre d’arrivée en amont de l’objet sel. Cela est illustré à la figure E.5.

Fig. E.5 – Priorités dans la gestion de la syllabe à trois phonèmes

Nous remarquons à la figure E.5 l’utilisation d’un sous-module appelé sym. Celui-ciest une mémoire à bascule. L’entrée de droite est stockée dans un message (objetprepend set) et n’est envoyée en sortie que lorsqu’une alerte est envoyée dans l’entréede gauche. Ce câblage est illustré à la figure E.6.

Fig. E.6 – Mémoire à bascule pouvant stocker des symboles

Ces mémoires reçoivent directement les troisième et quatrième sorties de l’objetunpack sur leur entrée de droite (mémorisation). La deuxième sortie de l’objet unpackpasse d’abord par un objet t. Avec la syntaxe "t b s", il va d’abord envoyer le symboledans sa sortie de droite (connectée à une troisième mémoire à bascule) et ensuiteune alerte dans sa sortie de gauche. Cette alerte va activer un autre objet t (syntaxe"t b b b"). Cet objet va simplement envoyer une alerte dans chacune de ses sorties,mais avec une priorité de droite à gauche. Comme nous avons choisi d’utiliser ledernier phonème de la syllabe pour le test de la voyelle, il faut connecter la sortie laplus à gauche (la dernière à envoyer l’alerte) de cet objet t à l’entrée de gauche dela mémoire à bascule (envoi) contenant le phonème en question. L’ordre des autresconnexions n’a pas d’importance. A nouveau, un objet t (syntaxe "t s s") doit êtreinséré sur le chemin de la voyelle à tester.

Page 106: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

ANNEXE E. GÉNÉRATEUR MBROLA (MODULE MAX/MSP) 97

E.4 Stockage des phonèmes et séquence d’alertesNous avons dit qu’il était important que les phonèmes aient atteint l’étape suivanteavant que l’alerte résultant du test de voyelle n’arrive. Nous allons à présent enexpliquer la raison. Les phonèmes sont en fait stockés dans des mémoires à bascules(sous-module sym). A l’arrivée d’une note, une seule des six alertes est activée (cellecorrespondant au type de syllabe à jouer). Cette alerte déclenche une séquence dequatre nouvelles alertes (objet t, syntaxe "t b b b") qui orchestre, entre autres, l’envoides phonèmes à l’étape de construction du message MBROLA. Si cette séquenceest activée avant l’arrivée de la totalité des phonèmes, les syllabes jouées serontun hasardeux mélange entre les phonèmes courants et précédents. Pour faciliter lacompréhension, nous nommons les alertes de 1 à 4 (l’alerte 1 arrive en premier dansle temps, etc).

Alerte 1

L’alerte 1 active l’envoie d’un message "stop" au synthétiseur MBROLA (objetmaxbrola). Ceci a pour fonction de vider sa mémoire de tous les phonèmes en cours.Le but est d’éviter la congestion si les notes se succèdent rapidement.

Alerte 2

L’alerte 2 envoie les phonèmes correspondant à la syllabe à jouer à l’étape deconstruction du message MBROLA. Il s’agit d’un objet pack. Etant donné quele message est envoyé à MBROLA au travers de l’objet maxbrola, la syntaxe estlégèrement différente de celle expliquée dans la section 3.4. En effet, le messagecommencera toujours par "phonemes". Le retour chariot séparant habituellementles différents phonèmes est remplacé par le caractère "*". Le message se terminetoujours par le caractère "#" ajoutant ainsi une séquence de phonèmes de silence("_") à la fin du flux phonétique. Pour éviter que cette séquence (fréquence fonda-mentale fixée dans le code de maxbrola) n’influence la prosodie des fins de syllabes,nous allons insérer, avant ce caractère "#", la séquence suivante :

_ 100 2 pitch 98 pitch

où pitch est remplacé par la fréquence fondamentale de la note courante (provenantdu clavier).

Une voyelle sera toujours insérée avec la syntaxe suivante :

pho 200 2 pitch 98 pitch

où pitch est remplacé par la fréquence fondamentale de la note courante (provenantdu clavier) et pho par le symbole de la voyelle à jouer.

Une consonne sera toujours insérée avec la syntaxe suivante :

Page 107: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

ANNEXE E. GÉNÉRATEUR MBROLA (MODULE MAX/MSP) 98

pho photime 50 pitch

où pitch est remplacé par la fréquence fondamentale de la note précédente, phopar le symbole de la consonne à jouer, photime par la durée de la consonne. Cettedurée peut être générée automatiquement sur base de la consonne en utilisant unecollection (objet coll) associant chaque consonne à sa durée par défaut.

Rappelons que dans la syntaxe de l’objet pack, les variables sont représentées pari (nombre entier), f (nombre décimal) ou s (symbole). Ainsi pour l’exemple d’unesyllabe consonne-consonne-voyelle, la syntaxe sera la suivante :

pack phonemes s i 50 * s i 50 * s 200 2 f 98 f * _ 100 2 f 98 f #

Alerte 3

L’alerte 3 envoie les messages construits dans l’objet pack (alerte dans son entrée laplus à gauche). C’est à cet instant que l’objet maxbrola va commencer à générer leflux audionumérique. L’alerte 3 libère également une autre mémoire à bascule, cettefois contenant des nombres entiers ou des nombres décimaux (objet int ou float).Cette mémoire contient le résultat du calcul de la durée totale de l’enveloppe tempo-relle à appliquer au flux audionumérique sortant de l’objet maxbrola. Par exemple,pour la syllabe consonne-consonne-voyelle, il s’agit de la somme des durées des deuxconsonnes utilisées plus les 100 millisecondes d’estompement arrière (cf. théorie dela section 3.4). Cette valeur est nécessaire pour la partie Csound. Enfin l’alerte 3envoie l’indice de la voyelle à la partie Csound. Cet indice est défini arbitrairementdans une collection (objet coll) en associant chaque voyelle utilisée à un nombre.

Alerte 4

L’alerte 4 envoie le signal commandant le début du calcul dans Csound. Ce calculecommence à l’arrivée de la note Csound ("event i1 p2 p3 p4 ..."). Le fonctionnementdu synthétiseur Csound est identique à celui expliqué dans l’annexe C. Il comportejuste quelques améliorations :

– Il faut déclarer une entrée audionumérique pour recevoir le flux sortant de l’objetmaxbrola. Cela se fait avec un ligne asig inch 1.

– Il faut multiplier cette entrée par une enveloppe temporelle de durée exacte. C’estpourquoi cette durée a été calculée avant l’envoie de la note Csound. Pour mettreà jour la variable de durée d’enveloppe dans le synthétiseur, il faut envoyer unmessage "control enveloppe $i" où $i est remplacé par la valeur calculée dansMax/MSP et "enveloppe" est l’étiquette de la variable de durée d’enveloppe dansCsound. Cet étiquetage se fait par une ligne kenv invalue "enveloppe".

– L’indice de la voyelle (également envoyé avant l’activation de la note Csound)permet de sélectionner la table contenant les caractéristiques de formants de lavoyelle jouée.

Page 108: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

Bibliographie

[1] C. Traube, Thèse de doctorat. Thèse de doctorat, Université McGill, Facultéde Musique, 2004.

[2] C. Traube, Digital Signal Processing Techniques for Estimating the PluckingPoint on Stringed Instruments. Engineer degree thesis, Center for ComputerResearch in Music and Acoustics, Stanford University, 1996.

[3] C. Traube and J. Smith, “Estimating the plucking point on a guitar string,”Proc. Conf. On Digital Audio Effects (DAFX’00), pp. 153–158, 2000.

[4] C. Traube and P. Depalle, “Phonetic gestures underlying guitar timbre des-cription,” Proc. International Conference on Music Perception and Cognition(ICMPC8), 2004.

[5] C. Traube and P. Depalle, “Timbral analogies between vowels and plucked stringtones,” Proc. IEEE International Conference on Acoustics, Speech, and SignalProcessing, 2004.

[6] W. Slawson, Sound Color. University of California Press, 1985.[7] N. Henrich, Etude de la source glottique en voix parlée et chantée : modélisation

et estimation, mesures acoustiques et électroglottographiques, perception. Thèsede doctorat, Université de Paris, 2001.

[8] G. Fant, Acoustic theory of speech production. Mouton : Gravenhage, 1960.[9] C. Hamon, E. Moulines, and F. Charpentier, “A diphone system based on time-

domain prosodic modifications of speech,” Proc. ICASSP 89, pp. 238–241, 1989.[10] R. Boite, H. Bourlard, T. Dutoit, J. Hancq, and H. Leich, Traitement de la

parole (Seconde Édition). Presses Polytechniques et Universitaires Romandes,2000.

[11] R. Boulanger, B. Vercoe, and M. Mathews, The Csound Book : Perspectives inSoftware Synthesis, Sound Design, Signal Processing and Programming. TheMIT Press, 2000.

[12] C. Cadoz, Synthèse sonore par simulation de mécanismes vibratoires, applica-tion aux sons musicaux. Thèse de doctorat, Institut National Polytechnique deGrenoble, 1979.

[13] K. Karplus and A. Strong, “Digital synthesis of plucked-string and drumtimbres,” Computer Music J., p. 43–55, 1983.

[14] J. O. Smith, “Waveguide filter tutorial,” Proc. Int. Computer Music Conf.(ICMC’87), p. 9–16, 1987.

i

Page 109: Applications musicales et pédagogiques utilisant des ... · traite de "L’encouragement", Fernando Sor (Doigté 1) ... Fernando Sor (Doigté 4). . . . . . . . . 28 2.20 Représentation

BIBLIOGRAPHIE ii

[15] V. Välimäki, “Discrete-time modeling of acoustic tubes using fractional delayfilters,” 1995.

[16] D. Zicarelli, Writing External Objects for Max 4.0 and MSP 2.0. Cycling ’74,2001.

[17] A. Couture and A. Savard, “La différentiation vocalique dans le chant,” Univer-sité de Montréal, Théorie Électroacoustique 3, 2004.