Objectifs

Ce guide a pour ambition de vous offrir une introduction rapide et complète à Sonic-Pi. Il ne s’agit pas d’un duplicata de la documentation[0] officielle, bien que naturellement, certaines sections puissent se recouper (description du langage). Je l’écris dans l’idée de vous offrir le plus rapidement possible une épreuve par le feu des possibilités de Sonic-Pi. Nous utiliserons quelques structures ou algorithmes simples, nous jouerons un peu de musique avec et nous les examinerons pour comprendre leur fonctionnement.

Je vous encourage vivement à prendre un peu de temps pour découvrir chaque aspect du langage avant de progresser vers la section suivante. Le mieux vous aurez les mécanismes en main, le mieux vous exploiterez les nouvelles fonctionalités que vous apprendrez par la suite.

Ce type de fonctionnement pédagogique peut sembler contre-intuitif. Je ne pense pas qu’il le soit : vous apprendrez premièrement à jouer de Sonic-Pi comme d’un instrument, puis ultérieurement à le comprendre. Je pense qu’il est possible de dresser, à ce propos, une analogie avec l’apprentissage d’un instrument. Bien que Sonic-Pi utilise pour support d’expression du code, je ne vois aucune raison de ne pas chercher à comprendre l’acte d’en écrire comme l’acte de jouer et de garder trace du jeu musical.

J’expliciterai la syntaxe de Sonic-Pi lorsque cela me semblera nécessaire. Dans tout les autres cas, ou si vous cherchez des précisions supplémentaires sur un mot-clef ou sur un aspect du langage, n’oubliez jamais que vous pouvez toujours presser Ctrl + I ou F1 au survol d’un mot avec le curseur pour obtenir les renseignements fournis par la documentation officielle. La traduction française est incomplète et souffre de défauts de traduction manifestes. Mes raisons pour ne pas expliciter dans le détail chaque élément de langage sont les suivantes :

  • la documentation officielle est excellente et presque exhaustive. En produire un doublon est inutile.
  • montrer des exemples fonctionnels est plus utile que de tourner autour de menus détails.

Ma logique et mes raisons ont leurs propres revers. Je serai dans l’incapacité d’esquiver certains détails techniques dès lors qu’on entrera dans une possibilité créative résultant de l’utilisation d’un élément de langage plus avancé. J’espère que ce que vous en retirerez vaudra la peine de s’y être attardé.

Voici à présent ce que j’imagine être le futur et le plan de ce guide :

  • 15 articles consacrés à la maîtrise progressive de chacun des aspects du langage et de l’interface. Au terme de cette lecture, vous serez suffisamment indépendants pour que je vous sois dispensable.
  • Un nombre indéterminé d’articles consacrés à des utilisations ingénieuses du langage, et à des résultats musicaux intéressants.
  • Un nombre indéterminé d’articles consacrés à l’exploration de notions musicales théoriques en me servant du langage comme d’un outil formel.
  • Un nmobre indéterminé d’articles consacrés à l’utilisation de Sonic-Pi comme séquenceur pour d’autres outils de création : Ableton, Max/Msp, Pure-Data, Python, programmation visuelle.

 

[0] Documentation : rappel vers le lien. Consultez également le tutorial rédigé par Meckahit ou la chaîne YouTube de Davids Fiddle.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

[1] Logiciels : Ableton, le plus célèbre des DAW. Max/Msp, langage de programmation visuel consacré à la synthèse audio et aux arts visuels génératifs. Un nouveau monde s’ouvre. Pure-Data, son cousin open-source, du même créateur. Python, Ruby, des langages de programmation populaires.