Gå til indholdet

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.