Projet de recherche dans le cadre du M2 ATIAM
La synthèse sonore par modèles physiques permet de produire une grande variété de sons riches, très différents de ceux obtenus avec d’autres méthodes de synthèse (additive, par modulation…). Les progrès de l’électronique et de l’informatique ont permis d’utiliser cette méthode en temps réel. Les instruments auto-oscillants -instruments à vents et cordes frottées - sont particulièrement intéressants car ils présentent plusieurs régimes de fonctionnement. L’approche par modèles physiques possède également l’avantage de produire une connaissance physique des instruments considérés et de permettre le contrôle de paramètres ayant une signification physique. Le contrôle des instruments auto-oscillants - et par conséquent des modèles associés - pour produire des sons musicaux est un exercice délicat. Il est donc nécessaire d’identifier les bons paramètres qui permettent d’obtenir le son désiré. Nous proposons ici une implémentation de quelques modèles physiques d'instruments auto-oscillants pour réaliser des simulations et construire des cartographies des régimes d'oscillations explorés par les instruments en fonction des paramètres physiques régissant leurs comportements. Ces modèles permettent d'obtenir une meilleure intuition musicale du comportement des instruments et de réaliser une implémentation temps réel de leur synthèse avec une interface utilisateur adaptée utilisant les cartographies permettant d'assister le contrôle.
- Modélisation physique des instruments de musique auto-oscillants (clarinette, cordes frottées, saxophone et cuivres) par méthode de guide d'onde et décomposition modale.
- Cartographie des régimes de fonctionnement de ces instruments par apprentissage automatique (SVM).
- Implémentation temps réel du modèle modal pour la clarinette sous MaxMSP / Gen, implémentation du solveur Runge-Kutta d'ordre 4.
Site web : https://ClementineBerger.github.io/Auto-oscillations/
Ré-implémentation de la méthode de résolution Runge-Kutta d'ordre 4 en vue de l'implémentation temps-réel dans MAX MSP :
modelisation_physique : bifurcations.py : Trace un diagramme de bifurcation. Ligne 17 : Entrer les paramètres relatifs au calcul. Ligne 32 : Entrer un modèle (modal par défaut) et les paramètres supplémentaires si besoin. Modele_modal_fct_rampe.py : Donne un son simulé de clarinette, violon ou saxophone. A la fin du code il faut commenter/décommenter l'instrument que l'on souhaite modéliser (par défaut c'est la clarinette qui est décommentée). Ligne 434 : tmax correspond à la durée de simulation. gamma_velo correspond tantôt à gamma pour la clarinette et le sax, tantôt à la vitesse dans le cas du violon. zeta_force : même logique pour zeta et la force. durete_rampe : correspond à la vitesse de l'attaque entre 20 et 2000. l_resonateur : longueur du résonateur. resonateur.py : Calcule la fonction de transfert de la caisse d'un violon sur la base d'un vecteur p correspondant à la vitesse au chevalet.
Ou résolution avec l'implémentation scipy : modal_solveur_python.py
.
guide_onde.py
: modèles de clarinette et de violon (voir la notice dans le code).McIntyre_anche.py
: modélisation de la clarinette avec ajout de la dynamique d'anche.ìmpedances.ipynb
: tracés d'impédances pour la clarinette.
Des figures sont tracés dans le dossier modelisation_physique
pour observer divers exmeples de résultats et comparaisons entre les différents modèles. Des exemples audios sont aussi disponibles dans le dossier audio
avec les formes d'ondes associées, ainsi que sur la page github.