Son entrant

Une façon simple (et peut-être familière) d’accéder les sons entrants est en utilisant notre ami synth en spécifiant le synthé :sound_in :

synth :sound_in

Cela va fonctionner comme n’importe quel synthé comme par exemple synth :dsaw à l’exception que l’audio généré sera lu directement de la première entrée de votre carte de son système. Sur les portables, c’est typiquement le microphone intégré, mais si vous avez une carte de son externe, vous pouvez brancher n’importe quel audio entrant dans la première entrée.

Augmenter la durée

Une chose que vous pourriez remarquer est que tout comme synth :dsaw, le synthé :sound_in dure seulement pour 1 rythme puisqu’il a une enveloppe standard. Si vous voulez le garder ouvert pour un peu plus longtemps, changez les paramètres d’enveloppe ADSR. L’exemple suivant va conserver le synthé ouvert pour 8 rythmes avant de fermer la connexion :

synth :sound_in, sustain: 8

Ajout d’effets (FX)

Bien sûr, tout comme n’importe quel synthé normal, vous pouvez facilement ajouter des couches d’effets avec le bloc FX :

with_fx :reverb do
  with_fx :distortion do
    synth :sound_in, sustain: 8
  end
end

Si vous avez connecté une guitare dans votre première entrée, vous devriez être capable de l’entendre avec de la distorsion et de la réverbération jusqu’à ce que le synthé se termine comme prévu.

Vous êtes libre d’utiliser le synthé :sound_in aussi souvent que vous le voulez de façon concurrente (tout comme vous le faites avec n’importe lequel synthé normal). L’exemple suivant va jouer deux synthés :sound_in en même temps - l’un via la distorsion et l’autre via la réverbération :

with_fx :distortion do
  synth :sound_in, sustain: 8
end
with_fx :reverb do  
  synth :sound_in, sustain: 8
end

Entrées multiples

Vous pouvez sélectionner quelle entrée audio vous voulez jouer avec l’option input:. Vous pouvez également spécifier une entrée stéréo (deux entrées consécutives) en utilisant le synthé :sound_in_stereo. Par exemple, si vous avez une carte de son avec au moins trois entrées, vous pouvez traiter les deux premières en tant que flux stéréo et y ajouter de la distorsion et la troisième en tant que flux mono et y ajouter une réverbération avec le code suivant :

with_fx :distortion do
  synth :sound_in_stereo, sustain: 8, input: 1
end
with_fx :reverb do  
  synth :sound_in, sustain: 8, input: 3
end

Problèmes potentiels

Cependant, même s’il s’agit d’une technique utile, il y a quelques limitations à cette approche. Premièrement, cela fonctionne seulement pour une durée déterminée (étant donné qu’il a une enveloppe ASDR) et deuxièmement, il n’existe pas de façon de changer le FX une fois que le synthé a été déclenché. Ces deux choses sont des requêtes typiques lorsqu’on travaille avec des flux audio externes comme les microphones, les guitares et les synthétiseurs externes. Par conséquent, nous allons regarder la solution de Sonic Pi au problème de manipuler une (potentielle) infinité de flux d’entrée audio en direct : live_audio.