Son sortant

Jusqu’à maintenant dans cette section nous avons regardé comment avoir plusieurs flux d’audio dans Sonic Pi - soit par l’utilisation du synthé :sound_in ou par le système puissant live_audio. En plus de pouvoir travailler avec de multiples flux d’entrée audio, Sonic Pi peut également faire sortir plusieurs flux d’audio. Cela est possible via le FX :sound_out.

Contextes de sortie

Récapitulons rapidement comment les synthés et les FX de Sonic Pi sortent leur audio à leur contexte FX courant. Par exemple, considérant ceci :

with_fx :reverb do    # C
  with_fx :echo do    # B
    sample :bd_haus   # A
  end
end

La façon la plus simple de comprendre ce qui se passe avec le flux audio est de commencer au niveau le plus interne du contexte audio et de remonter. Dans ce cas, le contexte le plus interne est étiqueté A et il s’agit de l’échantillon :bd_haus qui est déclenché. L’audio pour cela va directement dans son contexte qui est B - l’effet :echo. Cela ajoute de l’écho à l’audio entrant et l’émet en sortie à son contexte qui est C - l’effet :reverb. Cela ajoute ensuite de la réverbération à l’audio entrant et l’émet en sortie à son contexte qui est le niveau le plus haut - les haut-parleurs de gauche et droite (sortie 1 et 2 de votre carte audio). L’audio sort avec un signal stéréo via ces derniers.

Effet de son sortant

Le comportement ci-dessus est vrai pour tous les synthés (incluant live_audio) et la majorité des FX, à l’exception de :sound_out. L’effet :sound_out accomplit deux choses. Premièrement, il émet en sortie son audio au contexte externe comme décrit ci-dessus. Deuxièmement, il émet aussi en sortie son audio directement à une sortie sur votre carte son. Jetons un coup d’œil :

with_fx :reverb do      # C
  with_fx :sound_out, output: 3 do # B
    sample :bd_haus     # A
  end
end

Dans cet exemple, notre échantillon :bd_haus sort son audio à son contexte externe qui est l’effet :sound_out. À son tour, il sort son audio à son contexte externe qui est l’effet :reverb (comme attendu). Cependant, il sort aussi un mélange mono à la troisième sortie de la carte de son système. L’audio généré dans :sound_out a donc deux destinations - l’effet :reverb et la sortie 3 de la carte audio.

Sortie mono et stéréo

Comme nous l’avons vu, par défaut, l’effet :sound_out ressort un mix mono d’une entrée stéréo vers un canal spécifique en addition de passer le flux stéréo vers le contexte de sortie (comme prévu). Si le fait de sortir un mix mono n’est pas précisément ce que vous voulez faire, il y a plusieurs options alternatives. Premièrement, en utilisant l’option mode:, vous pouvez choisir de ressortir uniquement le signal d’entrée de gauche ou celui de droite vers la carte-son. Ou vous pouvez utiliser l’effet :sound_out_stereo pour ressortir vers les sorties de deux cartes-son consécutives. Consultez la documentation de la fonction pour davantage d’informations et des exemples.

Sortie directe

Comme nous l’avons également vu, le comportement par défaut pour :sound_out et :sound_out_stereo pour les deux est d’envoyer leur audio à leur contexte externe (ce qui est typique de tous les FX) et à la sortie spécifiée de la carte de son. Cependant, vous pourriez occasionnellement vouloir seulement envoyer à la sortie de la carte de son et pas le contexte externe ( et donc ne pas avoir la possibilité que le son soit mélangé et envoyé aux canaux de sorties standards 1 et 2). Cela est possible en utilisation l’option standard FX amp: qui s’applique sur l’audio après que le FX ait manipulé l’audio :

with_fx :sound_out, output: 3, amp: 0 do # B
  sample :loop_amen                      # A
end

Dans l’exemple ci-dessus, l’échantillon :loop_amen est envoyé à son contexte extérieur, le FX :sound_out. Ensuite, cela envoie un mélange mono à la sortie 3 de la carte audio et multiplie l’audio par 0 ce qui le rend silencieux essentiellement. C’est le signal silencieux qui est par la suite envoyé au contexte extérieur de :sound_out qui est la sortie standard. Par conséquent, les canaux de sorties par défaut ne recevront aucun audio et le canal 3 recevra un mélange mono de tambours d’Amen Break.