Generator jednostek

Generatory jednostek (lub ugens ) to podstawowe jednostki formalne w wielu językach programowania muzyki komputerowej w stylu MUSIC-N . Czasami nazywane są kodami operacyjnymi (szczególnie w Csound ), chociaż to wyrażenie nie jest dokładne, ponieważ nie są to instrukcje na poziomie maszyny.

Generatory jednostek tworzą bloki konstrukcyjne do projektowania algorytmów syntezy i przetwarzania sygnałów w oprogramowaniu. Na przykład prosty generator jednostek o nazwie OSC mógłby generować przebieg sinusoidalny o określonej częstotliwości (podanej jako wejście lub argument funkcji lub klasy reprezentującej generator jednostek). ENV może być generatorem jednostek, który wyznacza funkcję punktu przerwania. W ten sposób ENV można wykorzystać do sterowania obwiednią amplitudy oscylatora OSC za pomocą równania OSC*ENV. Generatory jednostek często używają predefiniowanych tablic wartości dla swoich funkcji (które są wypełniane przebiegami lub innymi kształtami przez wywołanie określonej funkcji generatora).

Teoria generatora jednostek syntezy dźwięku została po raz pierwszy opracowana i wdrożona przez Maxa Mathewsa i jego współpracowników z Bell Labs w latach pięćdziesiątych XX wieku.

Przykład kodu

W języku SuperCollider metoda .ar w klasie SinOsc to UGen, która generuje falę sinusoidalną . Poniższy przykład tworzy falę sinusoidalną o częstotliwości 440, fazie 0 i amplitudzie 0,5.

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

Zobacz też