Ein einfacher (wahrscheinlich bekannter) Weg um Sound Eingänge zu erreichen ist unser Freund synth
beim Festlegen des :sound_in
Synth:
synth :sound_in
Dies wird genause Funktionieren wie jeder andere Synth, wie zum Beispiel synth:dsaw
mit der Außnahme, dass der gespielte Ton direkt vom ersten Eintrag deiner Systemsoundkarte gelesen wird. Auf Laptops ist dies normalerweise das eingebaute Mikrofon, falls du aber eine externe Soundcarte hast, kannst du jeden Audioeingang an den ersten Eintrag anschließen.
Eine Sache die du vielleicht schon bemerkt hast ist, dass genauso wie synth:dsaw
der :sound_in
Synth nur für einen Beat hälft weil er standartmäßig Verpackt ist. Falls du ihn für etwas länger offen halten möchtest, kannst du die ADSR-Verpackungseinstellungen ändern:
synth :sound_in, sustain: 8
Natürlich ist es wie jeder andere Synth, wir können einfach mit dem FX-Block Effekte auftragen:
with_fx :reverb do
with_fx :distortion do
synth :sound_in, sustain: 8
end
end
Falls du eine Gitarre an den ersten Eingang angeschlossen hast, solltest du es jetzt mit einer Vernzerrung und Hall, bis zum ende des Synth, wie erwartet, hören können.
Benutze :sound_in
Synth so oft du möchtest (genauso wie du es mit jedem anderen Synth machen würdest). Zum Beispiel werden im Folgenden zwei :sound_in
Synths gleichzeitig gespielt - einer mit Verzerrung der andere mit Hall:
with_fx :distortion do
synth :sound_in, sustain: 8
end
with_fx :reverb do
synth :sound_in, sustain: 8
end
You can select which audio input you want to play with the input:
opt. You can also specify a stereo input (two consecutive inputs) using the :sound_in_stereo
synth. For example, if you have a sound card with at least three inputs, you can treat the first two as a stereo stream and add distortion and the third as a mono stream and add reverb with the following code:
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
However, although this is a useful technique, there are a couple of limitations to this approach. Firstly, it only works for a specific duration (due to it having an ADSR envelope) and secondly, there’s no way to switch the FX around once the synth has been triggered. Both of these things are typical requests when working with external audio feeds such as microphones, guitars and external synthesisers. We’ll therefore take a look at Sonic Pi’s solution to the problem of manipulating a (potentially) infinite stream of live audio input: live_audio
.