UNIVERSITÉ DE PARIS - 8

U. F. R. 1 ESTHÉTIQUE, SCIENCES et TECHNOLOGIES DES ARTS

et

Z.K.M. | Zentrum für Kunst und Medientechnologie

Institut für Musik und Akustik
 

*

paulo ferreira lopes
 
 
 
 

rapport des activités de recherche
 

ZKM - IMA - 2eme année de thèse

*

avec le concours de
 

FCTFundação para a Ciência e Tecnologia

Ministério da Ciência e Tecnologia
 
 

sous la direction

de

M. Professeur Docteur

Horacio Vaggione














 
 
 
 
 

Sommaire
 
 

 
 

1. Introduction
 
 
 
 

2. Recherche, développement et production
 

2.1 Interfaces de filtrage le projet doN
2.1.1 Filtrage par convulsion (FFT analyse)

2.1.2 Filtrage par modulation spectrale


  2.2 Description des éléments de l’interface
 
2.3 Biliotheques de commandes de l’interface
2.3.1. Commandes par interfaces graphiques
2.3.2. Commandes par lignes de texte
 

3. Conclusion
 
 
 

4. Notes
 
 
 

5. Appendix
 


 
 
 
 
 



 
 

1. Introduction
 
 
 
 
 
 

En poursuivant les objectifs de recherche et le développement de notre plan de travail, au cours de la deuxième année de thèse nous avons centré notre travail dans le développement des recherches initiées pendant l’année scolaire antérieure.

Ainsi et tel que l’année précédente, notre travail s’est divisé dans deux axes, constitués par des différentes activités lesquelles nous avons désigné de la façon suivante :

• Le premier, l’axe de la recherche;

• Le deuxième, l’axe de la production.
 
 

Dans le premier cas, le développement de notre travail a visé les deux points suivants: 1 - recherches sur la diffusion du signal audio à plusieurs canaux :
  • développement d'applications et d’interfaces capables de simuler la localisation et le mouvement de plusieurs sources sonores simultanément ;

• développement d’outils pour le contrôle interactif (1)  de ces interfaces (localisation et mouvement de plusieurs sources sonores simultanément).
 

 
2 - recherches sur différentes méthodes de filtrage en temps réel;
  • Développement d’outils de filtrage en temps réel par méthode de convolution en employant différentes techniques : - filtres résonants;

- soustraction des partiels à l’aide d’analyse par FFT;

- modulation spectrale à l’aide d’analyse par FFT;
 
 

 
Dans le deuxième cas, notre travail a eu comme objectifs les points suivants :
 
  • La révision d’un système informatique pour l'analyse et pour le traitement du signal audio en temps réel pour la réalisation d’une pièce avec violoncelle. Dans le cas de ce projet, l'achèvement du système n’a pas encore eu lieu.

• La réalisation d’un système informatique interactif pour une pièce multimédia, ainsi que la composition de la pièce et la conception de la partie visuelle et scénique.
 
 

Finalement et comme activité de synthèse nous avons publié un article dans la revue DOCESNOTAS - preliminares nº 5 Madrid, 2000, dans lequel nous avons comme objectif de donner un aperçu sur notre activité au ZKM|Zentrum für Kunst et Medientechnologie pendant l’an dernier. Étant donné que la grande majorité des lecteurs de la revue ne sont pas des spécialistes dans le domaine de l’informatique musicale, nous avons adopté une stratégie de simplification dans la description et démonstration des aspects qui portent spécifiquement sur ce sujet.

En ce qui concerne la présentation et les contenus de ce rapport, nous irons nous restreindre à ce que nous considérons le noyau des activités de recherche en présentant la réalisation final de l’interface programmé pour la pièce dON..
 
 
 
 
 
 
 
 

2. Recherche, développement et production
 
 
 
 
 

2.1 Interfaces de filtrage: le projet doN
 
 


2.1.1 Filtrage par convulsion (FFT analyse)
 
 

Au cours de notre première année de thèse nous avons développé deux interfaces pour le filtrage en temps réel, dont une des interfaces était basé dans un algorithme développé par Cort Lippe (Forbidden Planet). Dans le cas de l’interface basé dans l’algorithme de Lippe, nous avons observé que cette interface nous permettait d’exécuter multiples opérations de filtrage par bande (jusqu’au maximum de 512 bandes) sous forme d’un filtre de premièr ordre.
 
 


fig. 1















Quoi que l’interface se révèle très efficace et les résultats du filtrage se montrent aussi très intéressants, en accouplant le filtre au programme de contrôle global, composé par d’autres modules (analyse spectral en temps réel; spatialsation à quatre canaux ; génération des commandes de décision pour le changement des fonctions du filtre et le pilotage du spatialisateur), les exigences de calcul demandés au processeur de l’ordinateur (un Macintosh G3 /350 Mhz), s'avèrent excessives.

Dans la majorité des situations, la surcharge du processeur résulte d’un travail de calcul très intense de l'algorithme (voir fig.1), vu que toutes les opérations de filtrage s'effectuent à travers deux fonctions de FFT (Fast Fourier Transform), une pour l'analyse (décomposition) du spectre à filtrer, et l’autre pour le filtrage proprement dit, ainsi que deux fonctions de iFFT (l’inverse de FFT) pour la resynthèse du spectre.

Dans le cas de la deuxième interface la situation est en tout semblable au premier cas mais proportionnellement aggravée d’un tiers en ce qui concerne la demande de calcul car l'algorithme que nous avons conçu (voir fig. 2) contient deux fonctions FFT en plus que l’algorithme de Lippe.

Vis-à-vis des résultats, et vu que le but principal d'implémentation de l’algorithme était une utilisation en temps réel, nous avons décidé de suivre un autre chemin ayant comme objectif l’optimisation de tous les deux algorithmes. Entre autres essais et tentatives, nous avons réalisé un autre algorithme dans lequel la différence essentielle par rapport aux essais précédents se basait dans la réduction du taux de définition de l’analyse du signal. Cette opération a été réalisé à travers le changement des tabelles qui contrôlent la taille de fenêtrage de la FFT.

Les résultats obtenues permettaient le fonctionnement stable de l’ordinateur, mais en ce qui concernait la qualité sonore, les résultats s'avéraient moins bien car une réduction de la taille de fenêtrage produisait inévitablement l'occurrence des clicks .
 
 

fig..2














 En face des résultats obtenus, nous avons initié une autre phase de travail, dans laquelle la stratégie adopté, a été la réalisation d’un nouveau algorithme basé dans un filtre du type Comb avec trois coefficients [a,b,c], dont a et b concernent les fonctions de paramétrisation du feedforward (retour ?) et c concerne la fonction de contrôle de feedback. Voici l'équation du filtre (fig.3) :
 
 


fig..3

















2.1.2 Filtrage par modulation spectrale
 
 
 

Au moment que nous avons décidé d'infléchir notre direction, en choisissant une autre méthodologie et abordage pour la réalisation d’une interface de filtrage basé dans un filtre de type Combi, nous étions conscients que les opérations de manipulation et de changement du signal audio à travers ce type de filtre résulteraient beaucoup moins fines et diversifiées que celles proportionnées par l’algorithme antérieur. En plus, étant donné que nous avions absolument besoin de réduire la surcharge de calcul du processeur de l’ordinateur nous étions, par conséquence, obligés d’enlever les fonctions FFT, ce qui veut dire qu’on ne devrait pas uniquement abdiquer la méthode de filtrage à travers les transformées de Fourier mais aussi la méthode d'analyse du signal, qui s'appuyait aussi dans deux transformées de Fourier.

De cette façon, et en ce qui concernait l'implémentation de ce nouveau filtre, notre but principal ce n’était pas de développer un nouveau algorithme, car son implémentation dans Max/Msp était déjà faite par David Zicarelli (voir fig. 4 et fig. 4.1). Dans ce sens nos intentions premières ont été l’engendrement et l'implémentation des modules de modulation du spectre à travers un nombre limité des fonctions, constituées par petits algorithmes, lesquels pussent permettre d’opérer certains types de modulation sur le signal, entre autres :

 
• modulation spectral;

• synthèse en temps réel.

 

 
 

fig. 4





Ce genre de procédure, la modulation du signal, avant et après le filtrage, dans des combinaisons variables, permet un accroissement considérable des paramètres de contrôle (on le verra plus précisément dans le chapitre 2.2) et conséquemment une diversification plus fine et plus ample des possibilités de traitement du signal.

Ce dernier point se révèle sans doute comme le plus important dans notre travail, car la réalisation de l’interface et son utilisation finale s’objective dans des contenus plutôt musicaux que dans la recherche acoustique.
 
 


 
 

fig. 4





2.2 Description des éléments de l’interface
 
 
 

Dans le cas de la synthèse par modélisation spectrale [SMS] (2), les donnés analysés sont dirigées vers deux modules de transformation du signal (Serra désigne ces modules comme partie déterministe partie déterministe) dans lesquels le spectre introduit est transformé séparément dans chacune des modules, à travers la méthode de resynthèse :
 

• partie déterministe :
  - le spectre est resynthétisé avec une sinusoïde   • partie stochastique :
  - le spectre est resynthetisé avec bruit filtré (3).
Dans le cas de notre algorithme, le principe est presque en tout équivalent à l’algorithme de SERRA, sauf que dans le module correspondant à la resynthèse du spectre avec le bruit (filtré) nous avons introduit un algorithme de modulation dans lequel nous faisons simultanément entrer le signal aussi bien qu’une fréquence de référence (voir la fig. 5).
 
 


 
 

fig. 5








 De la même façon que le signal peut varier, la fréquence de référence peut aussi varier, selon les coordonnés envoyées en temps réel par l’interface de pilotage. Ainsi, de cette façon il est possible d’effectuer ce qu’on désigne comme une procédure de modulation en temps réel d’un spectre par une fréquence ou par un signal complexe. Dans ce processus le signal analysé assume la fonction de porteuse tandis que la fréquence de référence ou un autre signal complexe assument la fonction de modulante. Un troisième paramètre a été ajouté à l’algorithme: le temps d'interpolation entre le signal (porteuse) et la fréquence de référence (modulante).

Le principe établi est tout analogue au processus de la modulation en anneau sauf que dans cet algorithme nous avons introduit il y a la possibilité de faire varier le temps d’interpolation entre les deux signaux.

Parallèlement au module représenté par la figure 5, nous avons un autre module destiné à la resynthèse du signal avec une sinusoïde. Le résultat obtenu à travers chacune des deux opérations, tel que dans la synthèse par modulation spectral, est additionné et ensuite envoyé dans un autre module destiné à une nouvelle opération de resynthese.
 
 


 
 

fig. 6





 Avant que le signal entre dans le filtre, il est multiplié par un autre signal provenant d’un module de synthèse par modulation de fréquence (voir la fig. 6). Cette opération consiste en fait dans une convolution simple entre le premier signal (provenant d’une source instrumentale) et le deuxième signal, préalablement synthétisé. L’insertion du signal synthétisé dans cette chaîne, a surtout comme but de créer une certaine coloration et un renforcement des attaques dans les sons où ce paramètre se vérifie plus affaibli. Dans ce sens, la convolution entre les deux sources, n’est ni toujours obligatoire ni présente. Concernant le module de synthèse par modulation de fréquence, il possède plusieurs paramètres réglables en temps réel.
 
 


 
 

fig. 7







 Dans la figure 7 nous avons le programme de synthèse par modulation de fréquence composé par une banque de quatre oscillateurs. La figure 8 [p ramp] représente l'enveloppe qui contrôle l'évolution temporelle de chaque son de synthèse. C’est à travers ce module que nous contrôlons l’index de convolution entre le signal provenant du module de synthèse et le signal provenant d’une source instrumentale.
 
 


 
 

fig.8







 Finalement, après les opérations préliminaires, antérieurement décrites , le signal est envoyé au filtre proprement dit, dans lequel il subira manipulations diverses. Un autre algorithme qui compose l'interface de filtrage, destiné à effectuer des opérations de déphasage sur une gamme de sons limité, c’est un algorithme basé dans le théorème d’Hilbert.
 
 


fig.9









2.3 Bibliothèque de commandes de l’interface
 
 
 
 

En ce qui concerne le mode de pilotage, le changement des fonctions, les actions et des opérations spécifiques :

• du filtre;

• des modules de synthèse;

• de la spatialisation (à quatre canaux);
 

 
nous avons programmé deux interfaces différentes, qui proposent la même solution sur l’aspect formel, mais distinctes par rapport au contenu de chacune.

Ainsi, et d‘une façon synthétique, le mode de fonctionnement de l’interface de pilotage, consiste dans une bibliothèque de commandes qui peuvent être réécrites en temps réel, selon le type d’articulation entre un instrumentiste (dans le cas échéant une trompette) et la partition informatique. L'extraction des paramètres pour la réécriture des commandes de la bibliothèque, se basent simultanément :

• dans l’analyse de la dynamique du signal (de la trompette);

• dans le contenu harmonique du spectre;

• dans le tempi de l'interprète.

 
De cette façon, pendant le déroulement de la pièce à jouer, l'interprète, écrit virtuellement les règles qui le permettent de contrôler son deuxième instrument musical : l’ordinateur. Les frontières de réécriture et du changement de chacun des paramètres, très souvent plus que une trentaine simultanément, sont délimitées selon le principe de proximité à une famille ou à un ensemble (voir la fig. 10). Ce principe, nous l’avions déjà employé dans une autre pièce réalisée en 1995 [SWAN OWE] pour clarinette solo et dispositif informatique de synthèse en temps réel, et la façon comment les paramètres s‘agençait, on l’a décrit dans notre mémoire de maîtrise de la manière suivante :
 
Les paramètres changent uniquement dans certaines régions et ils se trouvent restreints à l'ensemble/groupe ou famille auxquelles ils appartiennent. En regardant la figure 10, nous pouvons observer sept chiffres (de 1 à 7) correspondent à chaque lettre.

Dans le premier moment nous avons les événements suivants :

[a1, a2, a3, a4, a5, a6, a7]

Dans le dernier moment nous avons les événements:

[n1, n2, n3, n4, n5, n6, n7]

Dans l'ordre d'apparition les événements de l'ensemble/groupe ou famille "a" peuvent changer entre eux mais ils ne peuvent pas changer avec les événements de la famille "n". Les possibilités de changement sont restreintes à l'ensemble/groupe ou famille.

De cette façon "a1" peut changer avec "a5"ou avec un des événements restants du groupe (a2, a3, a4, a6, a7), mais jamais avec un événement appartenant à une autre lettre.


fig. 10

  2.3.1. Commandes par interfaces graphiques
 
 
 

Tel que nous l’avons mentionné antérieurement, nous avons programmé deux interfaces différentes, qui proposent en somme la même solution, pour l’écriture de la bibliothèque de commandes du module qui contrôle le pilotage et les actions de décision de l'enjeu interactif du programme. De cette façon, bien que le contenu soit appuyé sur la même source, la méthode de présentation elle se révèle tout à fait différente. Dans le premier cas, par une question d’accès facile aux commandes du programme (filtrage, synthèse et spatialisation), nous avons programmé une interface graphique, ayant comme objectif, proportionner une utilisation amicale. Cette interface, basée dans un codage sous forme de lignes de texte (voir les figures 12 et 12.a) permettait à l’utilisateur d’opérer un nombre vaste de commandes et le changement de paramètres (dans le cas présent le trompettiste, car il devrait faire des répétitions sans notre présence). De cette façon l’utilisateur n’était pas obligé d’entrer dans certains niveaux du programme (les plus bas) en tapant de lignes de texte pour opérer les changements désirés ou d’autres modifications qui s'avéraient nécessaires.
 
 

fig. 11


 

fig. 11.a








 Les petits carrés (bleus )représentés dans les figures 11 et 11.a, sous la touche de la souris activent un nombre fini d’ensembles de contraintes qui changent automatiquement pendant que l'interprète joue. Durant les répétitions, dans des situations d'arrêt, l'interprète peut toujours configurer ou rétablir les contraintes correspondantes à la section ou partie dans laquelle il désire reprendre. Aussi, il peut commuter (voire même isoler) certaines fonctions de l’interface pour mieux répéter des fragments de la partition instrumentale et aussi pour mieux percevoir le résultat musical assemblé par l'interface (l’ordinateur).
 
 
 
 
 


2.3.2. Commandes par lignes de texte
 
 
 
 

La deuxième méthode de travail suivi en vu de façonner l’interface de pilotage, c’était à travers le genre le plus classique de programmation à travers l’écriture des lignes de texte (voir les figures 12 et 12.a). En faite, la solution graphique, décrite antérieurement, qui se trouve structurée au moyen de fenêtres et buttons, fonctionne comme un bus, dans un niveau supérieur de programmation, qui fait le portage des messages et des instructions exécutées à travers des lignes de texte. C’est pourquoi, il est possible de stopper à tout moment le fonctionnement de cette interface sans que le programme s'arrête de suivre le déroulement de la partition instrumentale .

Malgré la complexité de lecture générée par cette méthode (voir les figures 12 et 12.a) due au spaghetti (4) formé par les lignes de jonction parmi les messages et par le code spécifique des messages, cette méthode s’est révélée beaucoup moins lourde en ce qui concerne les exigences de calcul. Ainsi, en situation de concert, par une question d'économie de calcul en ce qui concerne l'affichage graphique du moniteur aussi bien que par prudence et sécurité, nous avons utilisé l'écriture de lignes de texte comme méthode de lecture et de réécriture de la bibliothèque de commandes du programme.
 
 



 

fig. 12
 
 
 
 


 
 

fig. 12.a





3. Conclusion
 
 
 

Au cours de cette année de recherche, les taches les plus prioritaires de notre travail se sont concentrées sur la correction, l’optimisation et l'achèvement d’un interface interactive pour le traitement et diffusion du signal audio, lequel a été entamé pendent l’année précèdente. Dans ce sens, l’objectif principal qui nous a amené à cette réalisation a été la réalisation d’une production musicale laquelle a eu lieu, premièrement au mois de février de 2000 à Lisbonne, et postérieurement au mois d’avril en Allemagne.

Parmi toutes les activités de recherche effectuées, étant donné que c'était notre désir de synthétiser les contenus de ce rapport, nous avons uniquement décrit une des branches de recherche et de développement de nos réalisations. Ainsi, la description de l’interface de spatialisation aussi bien que les algorithmes et les contraintes qui se rapportent au module de contrôle homme-machine n’on pas été evoquées. D’autres sujets qui n’ont pas été traités dans ce rapport c'était la réalisation d’une pièce pour violoncelle solo et électronique, parce que nous estimons que des recherches complémentaires se révèlent enconre nécessaires.

De cette façon, en ce qui concerne la partie pratique nous désirons poursuivre notre plan de travail pendant l’année prochaine en poursuivant les recherches en cours, qui se rapportent à l'achèvement de l’interface pour la pièce de violoncelo solo, aussi bien qu’entamer la réalisation d’une nouvelle production multimédia.

D’autre part et, en ce qui concerne la partie théorique, nous espérons pouvoir effectuer la présentation de la bibliothèque des objets externes (Max/Msp) pour la réalisation des interfaces interactives.

Finalement nous voulons remercier la soutenance du ZKM Institut für Musik und Akustik dans la réalisation de nos activités, mais aussi l'aide inconditionnelle de Mr. Johannes Goebel, qui nous a proportionné jusqu’à présent des conditions de travail exceptionnelles.
 
 
 


4. Notes
 

 1  -  Récemment nous avons initié la compilation des différents algorithmes employés dans notre travail, lesquels seront   brièvement disponibles sous forme d’une bibliothèque d’objets externes pour le Kit de programmation Max/Msp.

  2 - SERRA, X. and SMITH, J. , "Spectral modeling synthesis " in Computer Music Journal nº14(4), The MIT Press . Cambridge . 1990 .

  3 - ROADS, C. , The computer Music Tutorial ,   pp 152-153 , The MIT Press . Cambridge . 1996 Voir la référence de Roads a la diversité d’algorithmes qui ont été développés pour générer différentes méthodes de filtrage aussi bien que de la production de bruit.

  4 - Terme utilisé dans le domaine de l’informatique dans ce type d'affichage graphique. Voir la référence dans l’ouvrage de TREMBLAY and BUNT , The Science of Computers Algorithms Approachs, New York : McGraw-Hill, 1983.
 
 



 
 

5.Appendix