Cheat sheet: SynthDef
SynthDefs kan indrettes på mange forskellige måder og til mange forskellige formål. Til mono- eller stereofone lyde med tonalt indhold, kan skabelonerne herunder være et godt udgangspunkt. Begge skabeloner er i sig selv ret kedelige med en simpel sinustone, men det kan du nemt udbygge med et mere interessant lyddesign. Du bruger skabelonen på følgende måde:
\navn
skal ændres til et mere deskriptivt navn for din SynthDef.- Du kan tilføje argumenter efter behov ved at følge den syntaks, der er anvendt på linje 2 og 3.
- Du kan tilføje lokale variabler ligesom på linje 5 til at definere signalflowet i SynthDef'en.
- Du kan oplagt tilføje en envelope for at styre lydens volumen over tid. Husk
doneAction
for at rydde op automatisk. - Du kan ændre
SinOsc.ar(freq)
til noget andet, alt efter hvilken lydkilde, du ønsker at arbejde med. - Du kan tilføje yderligere indhold og lydlig transformation til SynthDef'en mellem linje 4 og 9 (tilføj gerne flere linjer).
- Linje 9 med
Out.ar
er oftest den sidste linje i en SynthDef, som sørger for, at signalet panoreres og volumenjusteres som ønsket, inden det sendes til de ønskede output-kanaler.
Monofone lydkilder
Her er lydkilden en enkelt oscillator.
SynthDef-skabelon til monofone lydkilder
SynthDef(\navn, {
arg freq = 440, pan = 0,
amp = 0.1, out = 0;
var sig = SinOsc.ar(freq);
// sig er et monofont signal
Out.ar(out, Pan2.ar(sig, pan, amp));
}).add;
Stereofone lydkilder
Her er lydkilden blot en duplikeret sinustone-oscillator, som klinger i to kanaler. Med Balance2.ar
balanceres der mellem dissee to kanaler.
SynthDef-skabelon til stereofone lydkilder
SynthDef(\navn, {
arg freq = 440, pan = 0,
amp = 0.1, out = 0;
var sig = SinOsc.ar(freq).dup;
// sig er et stereofont signal
Out.ar(out, Balance2.ar(sig[0], sig[1], pan, amp));
}).add;
Du kan læse nærmere om stereofoni og forskellen på Pan2
og Balance2
senere i bogen.