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~]