Enhetsgenerator

Enhetsgeneratorer (eller ugens ) är de grundläggande formella enheterna i många programmeringsspråk för datormusik i MUSIC-N- stil . De kallas ibland opcodes (särskilt i Csound ), även om detta uttryck inte är korrekt eftersom det inte är instruktioner på maskinnivå.

Enhetsgeneratorer utgör byggstenarna för att designa syntes- och signalbehandlingsalgoritmer i mjukvara . Till exempel kan en enkel enhetsgenerator kallad OSC generera en sinusformad vågform av en specifik frekvens (given som en ingång eller argument till funktionen eller klassen som representerar enhetsgeneratorn). ENV kan vara en enhetsgenerator som avgränsar en brytpunktsfunktion. Sålunda skulle ENV kunna användas för att driva amplitudenveloppen för oscillatorns OSC genom ekvationen OSC*ENV . Enhetsgeneratorer använder ofta fördefinierade arrayer av värden för sina funktioner (som fylls med vågformer eller andra former genom att anropa en specifik generatorfunktion).

Enhetsgeneratorteorin för ljudsyntes utvecklades och implementerades först av Max Mathews och hans kollegor på Bell Labs på 1950-talet.

Kodexempel

I SuperCollider -språket är .ar- metoden i SinOsc-klassen en UGen som genererar en sinusvåg . Exemplet nedan gör en sinusvåg vid frekvens 440, fas 0 och amplitud 0,5.

SinOsc.ar(440, 0, 0,5);

Se även