Mac Music  |  Pc Music  |  440Software  |  440Forums  |  440tv  |  Zicos

Partager cette page
Bienvenue visiteur
Nos Partenaires

Cécilia

27 oct. 1998 - par bubu from bubuland
A la découverte de Cecilia, une interface graphique pour Csound...

L'objet de cette petite rédaction est de vous faire découvrir Cecilia, un petit joyau développé par Jean Piche de l'université de Montréal. Cecilia est un programme gratuit, mais extrêmement puissant pour traiter des sons ou synthétiser une partition.

Si certaines parties peuvent paraître quelque peu absconses, l'exercice est à la portée de tout le monde, à condition d'y consacrer un petit peu de temps et d'obstination.

Pour le musicien dans le sou, c'est le moyen d'approcher l'un des outils de traitement et de synthèse les plus puissants du moment. Pour les passionnés, ce sera, je l'espère le début d'une aventure au pays des sons inouïs.

Au programme :

Après l'installation et la configuration de Cecilia, nous explorerons quelques traitements audio proposés clé en main dans Cecilia, puis nous fabriquerons ensemble un effet doppler simpliste mais réglable.

Enfin, nous expérimenterons les divers paramètres de la synthèse par formant, basée sur l'algorithme de "Chant" développé par l'Ircam, et dérivée de la synthèse granulaire (j'en vois un qui ricane au fond).
Synthèse de papa contre synthèse informatique
    Si les premiers synthétiseurs étaient électronique voire mécaniques, cela fait un petit moment que les chercheurs se sont tournés vers l'ordinateur pour faire des sons bizarres.

    L'avantage, c'est de pouvoir s'affranchir de toute contrainte physique. Un synthétiseur est limité à un nombre d'oscillateurs, à un nombre de filtres, à un nombre de points d'enveloppe etc... L'ordinateur n'est limité à rien du tout, et rien n'empêche d'imaginer un son engendré par 72000 oscillateurs, filtré par 3000 filtres, etc...

    Seules la puissance de calcul et la patience du compositeur donnent une limite à l'exploration.
    Or les bêtes de courses dont nous disposons aujourd'hui repoussent assez loin cette limite. Csound est capable désormais de torturer un son ou de générer une séquence en temps réel (sur PowerPC).

    L'inconvénient, c'est que c'est un peu plus compliqué que d'appuyer sur des touches noires et blanches en tournant les boutons au pif dans tous les sens. C'est moins une approche de musicien que de chercheur en blouse blanche.

    Cela dit, entre faire de la synthèse dans le cadre rigide d'une architecture matérielle et la liberté apportée par la programmation, il n'y a pas photo. D'un côté on fait des "réglages", de l'autre on fabrique directement le synthétiseur. Forcément, ca demande plus d'effort, mais le jeu en vaut vraiment la chandelle. Donc.
    Qu'est ce que Cecilia ?
      Cecilia fonctionne à partir d'un moteur : Csound.

      Csound est un langage de programmation orienté création sonore, faisant appel à une bibliothèque de commandes compilées en assembleur, gage d'efficacité.

      Csound semble être un outil de prédilection des universités. Sa syntaxe se rapproche un peu du C. C'est assez barbare à éplucher, mais plutôt économe (peu de ligne de codes pour beaucoup d'opérations) et régulièrement, de nouveaux algorithmes enrichissent le vocabulaire de la chose.

      Csound tourne à priori sur les gros systèmes (sous Unix), mais de généreux informaticiens ont porté Csound sur différentes plates-formes : PC, BeOs, Amiga et bien sûr Macintosh.

      Csound compile 2 fichiers :
      - L'orchestre : la définition des instruments, fichier ".ORC"
      - La partition (ou score) : liste des paramètres qui vont faire jouer les instruments, fichier ".SCO"

      Après compilation, on obtient un fichier audio mono, stéréo ou quadriphonique (si, si). Csound permet de calculer des morceaux entiers.

      Cecilia est une interface graphique qui s'interface sur Csound pour le piloter. L'avantage apporté par Cecilia est de pouvoir dessiner l'évolution dans le temps des paramètres envoyés à Csound, et de calculer le résultat sans avoir à rentrer la moindre ligne de programme.

      En outre, Cecilia facilite considérablement le développement de scripts Csound et la fabrication de nouveaux process audio ou de nouveaux instruments virtuels, puisque l'on peut fabriquer très simplement une interface graphique pour chacun des paramètres et en expérimenter très simplement le résultat.
      Cecilia : l'installation
        Cecilia est en téléchargement à l'adresse suivante :

         http://www.musique.umontreal.ca/electro/CEC/

        Après l'avoir décompacté, inutile de redémarrer, Cecilia n'installe aucune extension.

        Le dossier " Cecilia 2.02 " contient :
        - l'application Cecilia elle même
        - l'application Perf, qui est en fait un moteur Csound. C'est elle qui va produire le son, à partir des commandes envoyées par Cecilia.
        - Un dossier Files comprenant les différents modules de Cecilia, ainsi que la documentation.

        Pensez juste à allouer un peu de mémoire à "Perf", le moteur Csound de Cecilia, surtout si vous souhaitez manipuler des fichiers sons importants.

        Il vous faudra également Nescape pour accéder à la documentation en ligne de Csound.
        Cecilia : le paramétrage
          Avant toute chose, il faut paramétrer les préférences de Cecilia.



          En cliquant sur les boutons "set" vous pourrez paramétrer les applications que vous désirez lancer pour :
          - lire un son
          - éditer un son
          - convertir un son
          - éditer un texte
          - visionner du HTML (l'aide en ligne de Csound est en HTML)
          - éditer un fichier midifile

          D'autre part, il faut créer ou définir 5 dossiers auquel Cecilia fera appel :
          - un dossier contenant les sons que vous souhaitez traiter
          - un dossier pour les sons générés par Cecilia
          - un dossier pour accueillir les fichiers d'analyse de sons
          - un dossier dans lequel vous rangerez vos modules
          - un dossier pour les éléments temporaire


          Après avoir créé ou repéré ces dossiers, il fait indiquer à Cecilia le chemin d'accès, sous la forme :

          Nom_du_Disque : Nom_du_dossier : Nom_du_sous_dossier : etc...

          C'est un peu brutal comme paramétrage (ambiance Unix ou Dos) mais on ne le fait qu'une fois pour toute.


          Remarques :
          En cas de crash de Cecilia, les éléments temporaires ne sont pas effacés automatiquement, pensez à jeter un oeil de temps en temps, avant de remplir votre disque dur.

          D'autre part, si vous utilisez l'option " écriture sur disque " des sons, chaque process ajoutera un fichier dans le dossier Soundout. Pensez à le purger régulièrement pour ne conserver et archiver que les sorties intéressantes.


          Ensuite, dans Cecilia :

          Le menu Csound comporte différents réglages :
          Pour le moment, nous ne nous intéresserons qu'aux réglages suivants :

          - DAC Buffer Soft , et Hard : Taille des buffers audio pour la sortie temps réel de Csound. J'ai remarqué que la sortie audio temps réel fonctionnait mieux avec des valeurs élevées. Les valeurs faibles produisent un son haché. Mes réglages sont de 16384 pour le buffer Soft et Hard. A ne pas confondre avec Disk buffer, qui concerne la sortie audio sur disque, que je n'ai pas modifié.
          - Default Header /Sampling Rates: fréquence d'échantillonnage des sons générés : 44100
          - Default Header / Channels : nombre de canaux, à priori 2 donc Stéréo
          - Autorename : active ou désactive la fonction de renommer les fichiers audio en sortie. Si la fonction est activée, chaque fichier calculé est incrémenté d'un chiffre, et n'écrase pas la sortie précédente. Sinon, l'ancienne sortie est écrasée par la nouvelle. J'ai choisi de désactiver cette fonction pour éviter de remplir le disque de mes tâtonnements, mais si vous souhaitez conserver tous les fichiers générés par Csound, vous pouvez activer cette fonction, et faire le ménage plus tard.
          - Autoplay : activé permet d'écouter le son dès la fin du calcul.
          - Remember input file : permet de mémoriser le nom du ou des fichiers à traiter lorsque l'on change de module. Personnellement assez paresseux de la souris, j'ai activé cette fonction.
          Mon premier traitement audio avec Cecilia
            Il est temps d'enfiler la blouse blanche et d'ouvrir la bête...

            Nous allons explorer le fonctionnement de Cecilia à partir d'un exemple. Pour cela, il vous faut un son au format AIFF, 16 bits (tant qu'à faire) mono, ou stéréo.

            Après avoir lancé Cecilia, dans le menu "File", choisissez " New -> Pitch ->Transposer ".

            Sur l'écran, apparaît une très jolie fenêtre :



            C'est ici que nous allons paramétrer l'effet.

            Les paramètres graphiques :
            Par défaut, c'est " Transposition Factor " qui est activé.
            En haut à gauche, la case " Transposition Factor " est sur fond Vert. Sa courbe (activée, on le voit car ses points d'ancrage sont visibles) sera donc verte. La petite case à côté est cochée. En la décochant, la courbe disparaît.

            Décochez les autres courbes pour ne faire apparaître que la courbe transposition.



            En cliquant n'importe où à côté de la courbe verte, vous allez ajouter des points à la courbe.

            En cliquant sur un point avec la touche "Pomme" enfoncée (en Command-cliquant), vous effacez le point.

            Lorsque le souris survole la courbe (sans cliquer) celle-ci passe en Blanc. Vous pouvez alors cliquer dessus et en laissant le clic enfoncé, la déplacer de haut en bas.

            Notez les ascenseurs Display et zoom qui permettent de modifier l'affichage.

            En cochant les cases Amp Modulation, Freq Modulation, Anti-Alias et Loop sound, vous activez et désactivez les fonctions.

            En bas à droite, l'ascenseur Total Duration vous modifiez la longueur du son qui sera généré. Notez que l'échelle des X (en haut du graphique) est modifiée en fonction.

            Remarquez enfin que l'échelle des Y change selon le paramètre choisi. Si vous activez Frequency, l'échelle verticale est exprimée en Hz.

            Dernière subtilité, qui demande un peu de doigté : en cliquant sur une courbe (elle devient blanche) en laissant appuyé une seconde puis en re-cliquant dessus rapidement, les segments se transforment en courbe lisse, dont les points sont des points d'inflexion.


            Explorez l'interface et faites-vous un petit réglage perso.

            Vous pouvez enregistrer ces réglages via le traditionnel Pomme-S, qui mémoriseront le module utilisé et le réglage de tous les paramètres.
            Et pour écouter ?
              Tout cela est bien joli, mais il serait opportun de calculer et d'entendre le résultat...

              Pour cela, il faut faire apparaître la fenêtre "Main" (menu Windows).



              Ici, le bouton DAC (Digital Audio Converter) indique que je souhaite calculer le son en temps réel . En Cliquant que le bouton,"Disk->", je lancerai le calcul et n'entendrai le résultat qu'après. Si votre machine n'est pas un foudre de guerre, choisissez plutôt la seconde option.

              Le nom du fichier de sortie (ici Transposer.aiff) est éditable.

              On peut choisir la fréquence d'échantillonage, ici 44100 pour 44.1 kHz.
              La valeur de kr correspond à la finesse de mise à jour de vos réglages dans le temps. Plus elle sera élevée, plus l'évolution des paramètres sera lissée.
              J'ignore ce à quoi correspond ksmps.
              Gensize enfin détermine le nombre de point des fonctions générées par Csound. Dans le cas présent, cela signifie que la modulation de la fréquence de tranposition se fera à partir d'une sinusoïde de 8192 points.
              Vous pouvez conserver les valeurs par défaut de ces 2 derniers paramètres.

              Le bouton "Stéréo" indique que nous voulons une sortie stéréo du son traité.

              Ce module ne comprend qu'une entrée audio. En cliquant sur le bouton "toload", vous choisirez le fichier à traiter.

              Rappel : Cecilia ne connaît pas les fichiers SD2. Il faut la nourrir à l'AIFF exclusivement.



              Après avoir choisi un son (ici testtone.aiff), 2 boutons sont apparus à droite.
              Le petit haut-parleur vous permettra d'entendre le son via le programme que vous avez choisi dans les préférences, par exemple soundApp.
              Les ciseaux lanceront l'éditeur audio que vous avez paramétré.

              Enfin, le réglage Offset permet de tronquer le début du fichier audio.


              Il ne reste plus qu'à lancer la bête, en cliquant sur le gros bouton " Send to Csound " ou en faisant Pomme-Espace.


              Le programme Perf se lance immédiatement, une fenêtre se remplit de texte, alors qu'un petit tableau de bord s'affiche :



              Cela signifie que Csound calcule le son demandé.
              Si vous avez choisi l'option "DAC" dans la fenêtre main, vous devriez entendre le son calculé.
              Si vous avez choisi l'option "Disk->", il est possible d'interrompre le process et d'écouter ce qui a été déjà calculé en cliquant sur le bouton Pause (celui du milieu). Le tableau de bord devient alors :



              En cliquant sur le bouton de gauche, vous pourrez écouter le son traité. En cliquant sur "Cont" (continuer), le calcul se poursuivra. Enfin, le bouton "kill" annule tout et quitte le programme pour vous faire revenir à Cecilia.

              Si vous ne touchez à rien, le son sera joué en fin de process et vous obtiendrez le tableau de bord suivant :



              Cliquez sur "play" pour réécouter ou "close" pour quitter.

              Vous reviendrez alors à Cecilia, dans lequel vous pourrez modifier les paramètres et relancer un calcul...


              C'est tout pour cette première partie.

              N'hésitez pas à explorer les différents modules de Cecilia, et notamment ceux du dossier Time (File->New->Time) qui sont étonnants.


              Très bientôt, nous ouvrirons le capot, et nous fabriquerons ensemble un effet doppler à la mode de Caen.
            A propos de l'auteur: bubu from bubuland
            Ingé son pour la télé à la ville, bricobidouilleur à la maison bubu vit dans le pays magique de bubuland où tout le monde ne parle que de reaktor, de pro tools ou de director, et a des grandes oreilles (comme les ânes et les lapins...)
            L'avis des membres

Acheter Cecilia

Pas encore membre?
Devenez membre! C'est rapide, gratuit et cela vous permet de poster vos annonces, vos news, des questions dans les forums, de changer vos réglages d'affichage...
Contribuez
MacMusic est VOTRE site.Participez à son évolution...
Cette section de MacMusic est entretenue par Nantho et l'équipe des traducteurs. N'hésitez pas à lui proposer vos articles.
17:35 CEST - © MacMusic 1997-2024