🎹 Les logiciels de programmation audio 🔊

Je suis tombé par hasard sur le logiciel SAPF (Sound As Pure Form), un système de programmation audio créé par James McCartney, le concepteur de SuperCollider. Il s'agit d'un logiciel qui s'inspire de la programmation fonctionnelle, ainsi que du langage Forth notamment, en utilisant notamment de la notation postfixe et une pile (stack).

(SAPF, version multi-plateforme)

J'ai un peu galéré à le faire fonctionner, car de base c'est un logiciel pour Mac OS, mais il existe une version adaptée pour Linux ainsi que Windows (lien plus haut). Ensuite, cela semble bloquer avec Jack, donc il faut le désactiver s'il est actif. Ensuite, il y a des fichiers et dossiers à prédéfinir pour les fichiers temporaires et autres, donc il vaut mieux les activer comme demandé.

Enfin, il faut démarrer sapf avec un fichier de "prélude", qui va définir un vocabulaire et ainsi des briques de base pour utiliser le langage.

Mon script de démarrage est ainsi :

export SAPF_HISTORY="$HOME/sapf-files/sapf-history.txt"
export SAPF_LOG="$HOME/sapf-files/sapf-log.txt"
export SAPF_PRELUDE="$HOME/sapf-files/sapf-prelude.txt"
export SAPF_EXAMPLES="$HOME/sapf-files/sapf-examples.txt"
export SAPF_README="$HOME/sapf-files/README.txt"
export SAPF_RECORDINGS="$HOME/sapf-files/recordings"
export SAPF_SPECTROGRAMS="$HOME/sapf-files/spectrograms"

./build/sapf -p sapf-prelude.txt

Cela semble assez puissant et les exemples sont impressionnants, malheureusement il n'est pas aisé de les adapter pour des projets plus simple.

Dans un premier temps je pense donc plutôt me rabattre vers SuperCollider, il existe une base de données d'exemples plus importante :

Link

Ou encore SonicPi, qui repose sur SuperCollider. J'ai testé un peu CSound, qui a l'avantage d'avoir une interface de test en ligne, mais le langage me semble moins parlant et plus compliqué.

Link

SonicPi a l'air plus abordable tout en restant puissant.

Il existe aussi un bon tutoriel et des exemples, on peut créer des musiques et mélodies et non pas seulement des sons :

Link

Link

L'index du vocabulaire :

Link

Enfin, on peut créer de nouveaux synthés pour SonicPi, mais à partir de SuperCollider :

Link

Link

Cela permettrait de créer des sons originaux et des textures pour mes musiques.

Un petit exemple de séquence avec SonicPi :

use_synth :saw
in_thread do
  loop do
    play_pattern_timed scale(:D4, :minor), 0.50
  end
end
in_thread do
  loop do
    play_pattern_timed scale(:F3, :major), 0.25
  end
end

D'autres exemples pour Sonic Pi

En conclusion, SonicPi c'est plus pour la composition avec des notes, des gammes, tandis que SuperCollider c'est plus pour la création brute de sons et d'effets...

#blog

#musique

↩️ Index Gemlog

🏠 Index Accueil


Source