Module : synthèse à table d’onde

Titre du module : Synthèse à table d’onde
proposé par :

  • Geoffroy Peeters (geoffroy.peeters_at_telecom-paristech.fr)
  • Slim Essid (slim.essid_at_telecom-paristech.fr)
  • Roland Badeau (roland.badeau_at_telecom-paristech.fr)

 

Descriptif
La synthèse sonore regroupe un ensemble de procédés numériques et d’algorithmes destinés à produire des sons. Ces sons peuvent être environnementaux, comme par exemple dans le cas des jeux vidéo (vent, bruits lors de contacts ou d’interaction avec des objets, bruits d’ambiance tels que les chants d’oiseaux…) ou musicaux. La synthèse à table d’onde consiste à enregistrer simplement les sons en mémoire morte pour les rejouer ensuite. En général on n’enregistre pas tous les sons possibles : il est nécessaire de reconstituer les sons par rééchantillonnage et interpolation à partir des notes dont on dispose. Souvent, le son est enregistré en plusieurs morceaux (attaque-sustain-release) par exemple et il est nécessaire de boucler dans la partie de maintien tant que la note est jouée.

 

Ressources dont le module dépend
  • Cours SI340, synthèse sonore, Curtis Roads « Audionumérique », M. Kahrs « Application of digital signal processing to audio and acoustics »
  • en anglais : wavetable synthesis.
  • bibliothèques JAVA à mettre en oeuvre : math common api

 

Exemples d’utilisation du module
  • dans des composants pact :
    • synthèse sonore
  • dans des systèmes existants :
    • la plupart des ordinateurs
    • synthétiseurs dit « à échantillonnage »

 

Résultats attendus
  • connaissances : synthèse sonore, sous/sur échantillonnage, filtrage, interpolation fractionnaire
  • compétence : savoir expliquer les problèmes liés au rééchantillonnage d’un signal, savoir expliquer les problèmes liés au bouclage d’une forme d’onde, savoir mettre en oeuvre plusieurs types d’interpolation et comparer leur effets sur le spectre des sons produits.
  • PAN2 : notice descriptive précise (principe général et systèmes mis en oeuvre, choix et réglages des paramètres) contenant le pseudo-code à mettre en oeuvre, év. une implémentation de démo sous matlab ou octave. Définition de la base de sons préenregistrée.
  • PAN3 : code java commenté et structuré de manière à être lisible mettant en oeuvre une interpolation d’ordre 1 et év. bouclage (selon les sons choisis).
  • PAN4 : eventuel : code java et démonstration avec interpolation d’ordre supérieur (B-splines). comparaisons et tests d’écoute. Mise en oeuvres de traitements complémentaires (filtrages, reverb, modifications de timbre)