Programmation interactive (Live Coding)

Un des aspects les plus passionnants de Sonic Pi est qu’il vous permet d’écrire et de modifier du code en “live” pour faire de la musique, comme on peut le faire avec une guitare par exemple. Cela veut dire qu’avec un peu de pratique, vous pourrez jouer avec Sonic Pi sur scène et vous amuser avec.

Libérez votre créativité

Avant que vous ne plongiez dans les détails réels du fonctionnement de Sonic Pi dans la suite de ce tutoriel, j’aimerais vous faire vivre l’expérience de à quoi ça ressemble de coder en “live”. Ne vous inquiétez pas si vous ne comprenez pas beaucoup ou rien de ceci. Essayez juste de rester assis sur votre siège et de profiter…

Une boucle live

Commençons, copiez le code suivant dans un “buffer” libre :

live_loop :flibble do
  sample :bd_haus, rate: 1
  sleep 0.5
end

Maintenant, appuyez sur le bouton Run et vous entendrez un joli battement de grosse caisse. Si vous souhaitez arrêter le son à un moment quelconque, pressez simplement le bouton Stop. Mais pas tout de suite… suivez ces instructions plutôt :

  1. Assurez-vous que le son de la grosse caisse est encore présent
  2. Changez la valeur de sleep de 0.5 à quelque chose de plus élevé comme 1.
  3. Pressez à nouveau le bouton Run
  4. Remarquez le changement de vitesse de la batterie.
  5. Finalement, rappelez-vous de cet instant, c’est la première fois que vous avez codé en “live” avec Sonic Pi et ce n’est certainement pas la dernière…

Ok, c’était assez simple. Ajoutons quelque chose au mixage. Au dessus de sample :bd_haus ajoutez la ligne sample :ambi_choir, rate: 0.3. Votre code devrait ressembler à ceci :

live_loop :flibble do
  sample :ambi_choir, rate: 0.3
  sample :bd_haus, rate: 1
  sleep 1
end

Maintenant, amusez-vous à modifier le code. Changez la valeur du rate - Que se passe-t-il lorsque vous utilisez des grandes valeurs , des petites ou même des négatives ? Regardez ce qui se passe quand vous changez légèrement la valeur de rate: pour l’échantillon :ambi_choir (disons 0.29). Que se passe-t-il lorsque vous choisissez une valeur vraiment petite de sleep ? Regardez si vous arrivez à le faire aller tellement vite que votre ordinateur s’arrêtera avec une erreur parce qu’il ne peut plus continuer comme cela (si cela arrive, choisissez juste une durée sleep plus grande et pressez Run à nouveau).

Essayez de commenter une des lignes sample en ajoutant un # au début :

live_loop :flibble do
  sample :ambi_choir, rate: 0.3
#  sample :bd_haus, rate: 1
  sleep 1
end

Remarquez comment cela indique à l’ordinateur de l’ignorer, ainsi nous ne l’entendons pas. On appelle ça un commentaire. Dans Sonic Pi, nous pouvons utilisez des commentaires pour enlever ou ajouter des choses au mixage.

Finalement, je vous laisse avec quelque chose de sympa à jouer. Prenez le code ci-dessous et copiez-le dans un autre “buffer”. Maintenant n’essayez pas trop de le comprendre, remarquez juste qu’il y a deux boucles - ainsi deux choses marchent en même temps. Maintenant, faites ce que vous faites le mieux : expérimentez et jouez. Voici quelques suggestions :

Rappelez-vous de presser Run et vous entendrez le changement la fois suivante où la boucle tournera. Si vous êtes dans le pétrin, ne vous inquiétez pas : pressez Stop, effacez le code dans le “buffer”, collez une copie originale et vous serez prêt à improviser à nouveau. C’est en faisant des fautes que vous apprendrez le plus vite…

live_loop :guit do
  with_fx :echo, mix: 0.3, phase: 0.25 do
    sample :guit_em9, rate: 0.5
  end
#  sample :guit_em9, rate: -0.5
  sleep 8
end
live_loop :boom do
  with_fx :reverb, room: 1 do
    sample :bd_boom, amp: 10, rate: 1
  end
  sleep 8
end

Maintenant, continuez à jouer et à expérimenter jusqu’à ce que votre curiosité s’avive réellement et vous commencerez à vous demander ce que vous pouvez faire d’autre. Vous êtes maintenant prêt à lire le reste du tutoriel.

Alors, qu’attendez-vous…