Stwórz co najmniej jeden program generujący dźwięk z wykorzystaniem języka Pure Data, spełniające następujące wymagania:
~ przyjmują i/lub produkują wejście/wyjście sygnałowe (gruby przewód)[f] ∘ [g] oznacza obiekt [g] z podłączonym pod nim obiektem [f] (od pierwszego wyjścia do pierwszego wejścia)
[osc~][expr~ abs($v1)] ∘ [osc~][expr~ 2*$v1-1] ∘ [phasor~][expr~ 2*abs($v1)-1] ∘ [expr~ 2*$v1-1] ∘ [phasor~]Tworzenie skomplikowanego sygnału przez sumowanie prostszych sygnałów.
W przykładzie zaprezentowano tworzenie dźwięku metodą syntezy addytywnej.
Obiekt [mtof] konwertuje wartość MIDI na wartość w Hz.
Następnie dana wartość jest mnożona przez wybrany współczynnik - mnożenie częstotliwości przez wartość X jest równoznaczne z przesunięciem o X oktaw.
Stworzony dźwięk jest dla sygnałów składowych dzielony w celu redukcji jego głośności - a tym samym udziału w końcowo sumowanym dźwięku przez obiekt [+~].
Końcowo głośność ostatecznego dźwięku regulowana jest przez typowy układ kontrolujący głośność - należy zauważyć, że pomimo ograniczenia głośności dźwięków składowych suma nadal może być większa od 1!
Filtrowanie bogatego sygnału w celu osiągnięcia pożądanego efektu dźwiękowego.
W przykładzie zaprezentowano tworzenie dźwięku perkusyjnego z wykorzystaniem syntezy subtraktywnej.
Przy pomocy filtru Górnoprzepustowego [hip~] usuwane są niskie częstotliwości
Filtr jest zastosowany podwójnie by wzmocnić filtrację.
Następnie przy pomocy [vline~] tworzy prostą obwiednię dźwięku - natychmiastowy atak i 200 milisekundowy release.
Zmiana częstotliwości na tyle szybka, że przestajemy zauważać przejścia pomiędzy dźwiękami, a zaczynamy słyszeć bogaty dźwięk.
Zmiany głośności sygnału na tyle szybkie, że przestajemy zauważać jego zmiany, a zaczynamy słyszeć bogaty dźwięk.
[lop~][hip~][bp~][clip~][rev1~]