Gestion de l’audio / enregistrement

Sonic-Pi et l’audio

Sonic-Pi ne possède malheureusement pas de paramètre audio avancé. Observons ensemble le panneau “audio” des options :

  • Mode sécurisé : influence certains paramètres du moteur audio. Empêche certaines valeurs trop extrêmes d’avoir une incidence trop grande sur l’audio (un effet poussé trop fort, etc..) Désactivez-le si vous vous sentez l’âme guerrière.
  • Faire respecter les garanties de chronométrage : permet d’avoir un timing plus ou moins strict, et impacte le moteur audio dans le rendu du son. Sonic-Pi essayera à tout prix d’honorer le tempo donné.
  • Activer les synthétiseurs et les effets externes : c’est oui. Nous en avons déjà parlé précédemment.
  • Inverser la stéréo : selon votre configuration actuelle.
  • Forcer la sortie en mono : idem.

Ne reste que cet immense slider de volume rose, que vous pouvez très bien contrôler à l’aide du code (set_volume!).

Il n’existe aucune option vous permettant de choisir le driver audio, ni l’entrée audio. Cela peut être gênant, et cette option devrait être possible dans les versions ultérieures de Sonic-Pi. Pour l’heure, l’entrée et la sortie audio par défaut du système sont employées. Si vous changez quoi que ce soit à votre configuration, il vous faudra impérativement relancer Sonic-Pi pour que ces changements soient effectifs. Si vous devez vous produire en public, vérifiez bien ces paramètres afin de ne pas avoir une mauvaise surprise au moment de votre solo de guitare.

Entrée audio et enregistrement

Dès lors qu’une entrée audio est sélectionnée, vous pouvez l’utiliser en déclarant l’instruction live_audio. Attention à ne pas utiliser simultanément les enceintes de votre ordinateur portable et votre microphone. Si celui-ci venait à capter les sons émis par votre ordinateur, vous êtes partis pour un tour de larsen. Voici un exemple simple :

live_audio :guitare, input: 1, stereo: true

Vous pouvez sélectionner une entrée particulière de votre entrée audio, ainsi que forcer l’utilisation de son stéréophonique. Le live_loop doit impérativement porter un nom, même s’il est une instance unique. Cette source est continue, et vous aurez à la stopper manuellement. Si vous souhaitez ce faire :

live_audio :guitare, :stop

Ce type d’entrée audio fait partie intégrante de votre code : vous pouvez très bien l’intégrer dans une chaîne d’effets si vous le souhaitez ! Il suffira dès lors d’utiliser with_fx.

Un autre type d’interaction avec l’audio entrant est possible grâce à l’utilisation d’une autre instruction, sound_in. Face à la source continue, il s’agit ici d’une source finie. Il est considéré comme Sonic-Pi comme l’un de ses synthétiseurs. Nous écrirons donc :

synth :sound_in

Pour poursuivre l’analogie avec notre synthétiseur, sound_in possède une enveloppe et il est d’une durée finie. Vous pouvez bien entendu modifier la durée, et donc la durée de l’enregistrement. Utilisé avec tact, vous pouvez vous confectionner une pédale de looping.

Vous êtes libres d’utiliser plusieurs :sound_in en même temps, ce qui vous permet d’utiliser différents traitements sonores au cours de différentes parties de votre code. Tout comme son cousin live_audio, :sound_in possède un paramètre pour sélectionner la source du son entrant.

Si vous souhaitez ruser un peu, il est possible de créer une source audio virtuelle, qui fera entrer dans Sonic-Pi le son en provenance d’une autre application. Cela vous permettra de le “rapatrier” et de le manipuler au sein de votre buffer de texte. Bien que le mouvement inverse soit plus fréquent (router l’audio vers une application), c’est une technique répandue et il est agréable de jouer avec (empiler des effets ad libitum).