Ce module utilise l'objet Max sdif.pagsemble~ pour réaliser une resynthèse PSOLA, pour Pitch Synchronous OverLap/Add... Ce moteur de synthèse, notamment utilisé par Phillippe Manoury dans son opéra "K", permet la synthèse de choeurs virtuels à partir d'enregistrements de voix solistes. L'algorithme permet aussi des transpositions réalistes car conservant les formants.
Avant de pouvoir lire un son avec ce module, il doit donc d'abord être analysé par le programme "psola_analyse" fourni par le forum Ircam. NMI contient un exemple d'analyse dans "My-NMI-Project". Dans le dossier "Psola", on trouve le son "SAHIB.aif" accompagné du fichier d'analyse SAHIB.1PSO.sdif". Nous détaillerons plus loin comment nous avons obtenu ce fichier.
L'analyse PSOLA consiste à identifier les zones inharmoniques et harmaonique dans un fichier son et dans ce deuxième cas, à poser des marqueurs sur les maximas du signal. Lors de la resynthèse, les marqueurs permettent un traitement différent des zones bruités et non bruités. Par exemple, dans le cas d'une transposition, les zones bruitées ne sont pas transposées.
Pour plus d'informations sur la synthèse PSOLA, lisez les articles et la thèse de G. Peeters et rendez-vous sur http://recherche.ircam.fr/equipes/analyse-synthese/peeters/PSOLA/exemples.html pour écouter des exemples sonores.
Ce module n'a pas d'entrée.
Signal de sortie
Contrôle la position de la tête de lecture dans le fichier son.
Contrôle l'intensité de la modulation de hauteur. Plus ce paramètre est élevé, plus des différences de hauteurs se feront entendre entre les différentes voix resynthétisées.
Définit l'intensité de la modulation temporelle. Plus cette valeur est élevé, plus les différentes voix de synthèse sont désynchronisées.
Ce paramètre crée un effet de vibrato s'ajoutant à la modulation de hauteur aléatoire.
Cette enveloppe permet d'imposer une fréquence fondamentale différente du son original au son synthétisé. Cela a pour effet l'annulation de la mélodie original.
Ce paramètre sert à appliquer une transposition globale à la séquence.
Ce menu affiche le contenu du dossier "Sound" de votre projet NMI. Sélectionnez le son que vous souhaitez jouer avec le module.
Ce bouton raffraichit le menu "Choose sound" au cas ou l'on a changé le contenu du dossier "Psola" du projet NMI.
Ce paramètre définit le nombre de voix à synthétiser. Réglez ce paramètre sur 1 si vous voulez retrouver une voix soliste.
Ces deux paramètres définissent la fréquence min et max du vibrato dont l'amplitude est fixé par l'enveloppe de paramètre "Vibrato".
Vitesse de modulation min max des variations temporels réglé par l'enveloppe de paramètre "TempMod".
Décallage temporel mix et max entre les voix pour les variations de pitch réglés par l'enveloppe de paramètre "PitchMod".
Installer le package "PSOLA-Additive_1.1.dmg" téléchargeable sur Forumnet.
Le programme psola_anayse se lance en ligne de commande à partir de l'application Terminal. Cette application se trouve dans le dossier /Applications/Utilitaires/.
Une fois lancée, l'application Terminal affiche une fenêtre avec un curseur.
Nous devons éditer un fichier servant à paramétrer Terminal au démarrage de manière à ce qu'il puisse trouver "psola_analyse" sur le disque dur. Nous devons aussi définir un chemin d'accès vers les fichiers sons dans le cas ou le path complet ne serait pas défini dans les lignes de commandes.
Pour cela, tapez : pico .bash_profile dans le Terminal puis <Return>.
Pico est un éditeur de texte rudimentaire. Oubliez l'usage de la souris quand vous utilisez pico ! Normalement, le fichier .bash_profile est vide. On peut donc taper ces deux lignes de commande :
export PATH=$PATH :/Applications/Psola-Analyse
export SFDIR=/chemin_d_acces_vers_mes_fichiers_sons_a_analyser/
Voici ce que cela donne sur ma machine :
Vous pouvez facilement obtenir les chemins d'accès par drag & drop du finder sur la fenêtre de pico.
Il nous reste à sauvegarder notre fichier texte. Pour cela, appuyez sur ctrl+x sur le clavier. pico vous demande si vous voulez sauvegarder. Tapez Y pour Yes. Un champs s'affiche avec le nom du fichier à saugarder : .bash_profile. Validez !
Après avoir quitté et relancé le Terminal vous êtes prêt à calculer votre première analyse. Cette opération n'est nécessaire que pour la première analyse.
Pour réussir l'analyse psola, nous devons d'abord calculer la fréquence fondamentale du son à analyser dans AudioSculpt. Cette opération peut être réalisée par psola_analyse mais les erreurs sont fréquentes dans ce cas. AudioSculpt nous permet de contrôler le résultat et de modifier d'éventuels défauts dans l'analyse. Ouvrez le fichier son à analyser dans AS. Calculez un sonagramme. A l'aide du diapason, déterminez la valeur la plus basse et la plus haute de la fréquence fondamentale. Ouvrez la fenêtre de dialogue de l'analyse de la fondamentale dans le menu "Analysis". Reportez les fréquence min et max dans les champs "Fondamental Frequency Range" puis lancez l'analyse.
Lorsque l'analyse est terminée, elle apparaît sur le sonagramme. Ouvrez la fenêtre "Sonogram Display" et poussez le slider "Fondamental Frequency" complètement sur la droite. D'éventuelles erreurs apparaissent dans les zones de silence. Editez la fondamentale (double-clic sur la courbe) et corrigez la courbe en utilisant le crayon.
Sauvegardez ensuite l'analyse sur le disque dur. Par défaut, le fichier est sauvegardé dans le dossier "Fondamental" de votre dossier Audiosculpt actuel.
Il nous reste seulement à rédiger la ligne de commande dans le terminal ; la voici :
psola_analyse -ichemin_vers_le_fichier_son -Ichemin_vers_la_frequence_fondamentale -TEUMS.
N'oubliez pas le drag & drop pour ajouter facilement les chemins d'accès. Voici ce que cela donne sur ma machine :
Validez avec <return>. Le calcul commence ; posla_ analyse crée un nouveau dossier commençant par PSO... au même niveau que le fichier son analysé. Soyez patient et dans quelques minutes un fichier .1PSO.sdif va apparaître à l'intérieur ! Copiez ce fichier avec le fichier son correspondant dans le dossier Psola de votre projet NMI. Le son est maintenant utilisable dans le module Psola !