vendredi 19 novembre 2021

Le gros son ? mais pourquoi pas fait maison ?

Illustration
J'en suis certain, vous êtes, comme moi, à la recherche d'un son particulier. Forcément, vous n'arrivez pas à le trouver dans les banques de samples. Soit elles ne correspondent pas à votre budget, soit elles n'existent pas du tout. En plus, l'instrument que vous cherchez, vous l'avez sous la main. Mais comme chacun sait, fabriquer une banque de sons convaincante et réaliste est hors de portée ...

En fait, non, pas tant que ça.

Mais alors, que faut-il pour y arriver ?

En fait, pas grand chose. Voici une liste du strict minimum

  • Un ordinateur permettant de faire un peu de MAO pour travailler
  • Une interface audio et un micro décents ou un enregistreur portable. (autour de 150 € on commence à déjà quitter l'entrée de gamme)
  • Un instrument à enregistrer
  • Un logiciel d'édition audio (audacity peut très bien faire l'affaire pour ce genre de tâche. Une DAW plus complète peut être parfois plus confortable)
  • Un logiciel permettant de générer des banques de son (comme polyphone)

Avec ça, on est déjà capable d'enregistrer les samples, de les découper, de les nettoyer. 

Au boulot. 

On souffle. On frappe. On gratte. On frotte. On enregistre note après note, nuance par nuance. Si besoin, on enregistre avec plusieurs jeux différents (médiator vs doigts par exemple) en conservant le maximum de résonnance naturelle de l'instrument. On découpe ensuite fichier par fichier en essayant de nommer les fichiers de manière uniforme.

Par exemple : 

    MaGuitare.Fa#.Pick.ff.wav

    MaGuitare.Mi.Doigt.mf.wav

Le travail fastidieux est-il terminé ? NON ! il ne fait que commencer.

On lance maintenant polyphone et on importe les fichiers de samples. (ci-dessous, l'illustration avec une banque de tinwhistle sur laquelle je travaille actuellement)

éditeur de sample polyphone

Si les échantillons sont bien nommés, on va se simplifier le travail pour la suite.

  1. Déterminer la note jouée (l'outil vous aide à l'identifier)
  2. Corriger la hauteur de la note. (l'outil vous aide à identifier la correction nécessaire sur la base d'une analyse spectrale du sample)
    Aide à la correction de hauteur
  3. Déterminer les points de bouclage. En zoomant sur la forme d'ondes, l'outil vous aide à déterminer au sample près les points de bouclage. Il n'y a donc plus de raison d'entendre des clics lors des boucles.
    édition du point de bouclage
  4. Le sample est probablement prêt (on peut toujours modifier un peu l'equalisation pour harmoniser des samples qui seraient trop hétérogènes, mais j'évite en général de le faire ici, je gère ça plus tard dans ma DAW lorsque j'utilise les instruments)
  5. On passe alors au mapping vers un instrument qui se traduit par paramétrer les samples pour répondre aux injonctions du clavier maître.
    Mapping des notes aux samples
  6. L'instrument une fois entièrement configuré peut être mis dans un programme (appelé ensemble par Polyphone car on peut y regrouper plusieurs instruments).

Bon, pour un Tin Whistle, on en a pour quelques heures avec une seule nuance de jeu. Alors, pour un piano à queue, dont on voudrait capter la moindre des subtilités, le travail est Kolossal !!!

Bien que n'en étant pas arrivé là (faute de piano à queue à sampler), ce travail rébarbatif m'a surtout donné envie de me simplifier la tâche. Je suis tombé au cours de mes recherches sur un outil développé par Versilian Studios qui permettait de générer un fichier SFZ.

Le format SFZ c'est un fichier descriptif d'une banque de sons dans un format compatible avec polyphone. Il est reconnu par de nombreux samplers du marché tels que Kontakt ou sfizz.

 En l'utilisant, je suis assez rapidement arrivé aux limites de l'outil. Malgré la souplesse grâce aux dictionnaires de correspondance, il ne permet finalement que de dresser une liste assez basique de samples et nécessite de (trop) nombreux clics pour générer chaque banque (interface graphique en java, pas de CLI)

Il m'est donc venu l'idée de me lancer dans un outil équivalent que je pourrai faire évoluer à ma guise pour mon propre usage. Ainsi est né mon petit SFZBuilder que vous pouvez commencer à utiliser. Il devrait s'améliorer régulièrement au fil du temps pour automatiser de plus en plus de tâches. Il est écrit en python3 et peut s'exécuter directement en ligne de commande (ou pourquoi pas être invoqué depuis un gestionnaire de fichiers). Du coup, je peux re-générer toutes mes banques par une simple ligne comme ceci : 

find ~/mysamples/ -type d -maxdepth 1 -exec python3 SFZBuilder '{}' \;


Aucun commentaire:

Enregistrer un commentaire