MSM_Podstawy dźwięku interaktywnego-1

Transkrypt

MSM_Podstawy dźwięku interaktywnego-1
Podstawy dźwięku interaktywnego
Materiały pomocnicze do ćwiczeń
Dorota Błaszczak
Zagadnienia dotyczące dźwięku interaktywnego przedstawione są w oparciu o
środowisko programowania MAX/MSP, które umoŜliwia sterowanie i przetwarzanie sygnału
dźwiękowego w czasie rzeczywistym. Omawiane tematy związane są z podstawowymi
pojęciami dotyczącymi programowania, parametrami dźwięku, pojęciami z teorii muzyki i
projektami interaktywnymi:
• Podstawowe pojęcia i zasady programowania, rozwiązywanie problemów
programistycznych oraz zastosowanie tych umiejętności w pracach artystycznych
• Podstawowe cechy dźwięku i metody jego przetwarzania
• Podstawowe pojęcia z teorii muzyki
• Podstawy dźwięku cyfrowego
• Wybrane metody generacyjne dźwięku
• Elementy projektu interaktywnego
• Przykładowe klasyfikacje obiektów i warstw dźwięku interaktywnego
• Projektowanie zachowań obiektów i przestrzeni interaktywnej
• Przebieg pracy nad projektem interaktywnym
• Analizy przykładowych projektów interaktywnych i symulacje ich elementów
Przedstawione tematy zawierają podstawowe pojęcia związane z omawianym
zagadnieniem oraz ilustrujące je zadania budowania modułów w środowisku MAX/MSP.
Poszczególne tematy mogą być realizowane w róŜnej kolejności i w czasie dostosowanym
do danej grupy studentów.
1.
Utrwalenie zasad pracy w środowisku MAX/MSP
Równolegle z zagadnieniami dźwiękowymi powinny być utrwalane zasady pracy w
środowisku MAX/MSP, aby ułatwić realizowanie samodzielnych ćwiczeń.
• Przydatne jest uŜywanie skrótów klawiaturowych dla podstawowych elementów (Help /
Patcher Key commands):
n – nowy obiekt, m – komunikat, c – komentarz, i – pole numeryczne całkowite, f – pole
numeryczne zmiennoprzecinkowe, t – obiekt toggle, b – obiekt bang.
• W MAX/MSP uŜywane są naprzemiennie trzy tryby pracy: tryb uruchamiania programu,
tryb edycji oraz tryb prezentacji.
• MoŜliwości korzystania z pomocy (Help) są bardzo rozbudowane i obejmują:
przygotowane przykłady dla kaŜdego obiektu, kompletną dokumentację dla wszystkich
obiektów (Reference), pakiet kursów tematycznych (Tutorials), opisy tekstowe wejść i
wyjść obiektów (Inspector - assistance text), menu kontekstowe dla wejść obiektu ze
wszystkimi argumentami i stronami pomocy dla danego obiektu, okno z dodatkowymi
informacjami o wybranym obiekcie (Clue Window).
• Parametry wszystkich instancji obiektów oraz samych programów (patcher) moŜna
sprawdzać i modyfikować za pomocą okna Inspector.
2.
Utrwalenie ogólnych zasad pisania programów MAX/MSP
MAX/MSP jest językiem programowania interpretowanym, czyli daje moŜliwości zmian w
programie w czasie rzeczywistym, podczas działania programu. Ta cecha ułatwia pracę nad
projektami artystycznymi, w których waŜna jest współpraca i próba z wykonawcą czy
uŜytkownikiem projektu, w czasie której moŜna dostrajać parametry bez zatrzymywania
programu.
Zadanie: Dla przykładowego programu MAX/MSP z pakietu Tutorials stworzyć
interfejs, w trybie prezentacji, pomocny w dostrajaniu programu w przypadku instalacji
w przestrzeni publicznej.
W kaŜdym programie powinien znaleźć się moduł inicjalizujący parametry programu po
jego załadowaniu i umoŜliwiający taką inicjalizację w dowolnym momencie działania
programu, aby przywrócić wartości początkowe.
Przydatne obiekty: loadbang, loadmess, send, receive, forward.
WaŜną zasadą działania w środowisku MAX/MSP jest zapewnianie odpowiedniej
kolejności wykonywania operacji, poprzez wykorzystywanie odpowiednich obiektów oraz
korzystanie z dwóch rodzajów wejść obiektów, aktywnego i nieaktywnego.
Przydatne obiekty: trigger, bangbang.
Zadanie: Obliczenie i zagranie kolejnych dźwięków skali chromatycznej w oparciu o
obiekt int i jego aktywne i nieaktywne wejście.
W MAX/MSP występują podstawowe typy danych:
b - impuls bang, i - liczba całkowita, f - liczba zmiennoprzecinkowa, s - symbol, l - lista
róŜnych danych.
NaleŜy zwracać uwagę na typ danych przy tworzeniu obiektów, gdyŜ domyślnym typem
danych MAX/MSP jest liczba całkowita. Aby to zmienić trzeba odpowiednio wpisać argument
nowego obiektu jako liczbę zmiennoprzecinkową.
Przydatne obiekty (do konwersji typu danych): trigger, pack, unpack.
Zadanie: Zastosuj liczbę całkowitą, a potem liczbę zmiennoprzecinkową do
sterowania głośnością sygnału oscylatora.
Aby programy były czytelne, powinny posiadać odpowiednią strukturę – programy
powinny być zbudowane na zasadzie modularnej, a moduły powinny dotyczyć określonej
funkcjonalności, aby były łatwe do sprawdzenia i dokonywania zmian. W środowisku
MAX/MSP, w tym celu moŜna wykorzystać podprogramy w postaci zagnieŜdŜenia jednego
patcher-a w drugim lub zapisać podprogram (abstrakcję) jako oddzielny plik do
wielokrotnego wywoływania.
Abstrakcje mogą posiadać argumenty (zapisane wewnątrz abstrakcji w postaci #1, #2…).
Opisanie wszystkich wejść i wyjść abstrakcji ułatwia wykorzystanie jej w kolejnych
programach.
Przydatne obiekty: thispatcher, bpatcher.
Zadanie: Modyfikacja programu pomocy dla obiektu cycle~ oraz programu Tutorial 2
„Adjustable Oscillator”: wprowadzenie zmian w sterowaniu częstotliwością
generatora, modyfikacje wyglądu programu i przygotowanie wersji prezentacji.
Wspólne granie w grupie, z róŜnymi parametrami częstotliwości oscylatorów.
Zadanie: Ustalenie sposobu nazywania swoich podprogramów i katalogu z
podprogramami (do skonfigurowania w MAX/MSP).
3.
Protokół MIDI i obiekty MIDI w MAX/MSP
Aby umoŜliwić komunikację między komputerami a elektronicznymi instrumentami
muzycznymi, został stworzony protokół MIDI (Musical Instrument Digital Interface) czyli
cyfrowy interfejs dla instrumentów muzycznych. Standard ten obejmuje zarówno interfejs
sprzętowy jak i format przesyłania danych dotyczących wykonania przebiegu muzycznego
na klawiaturze.
Podstawowe dane dotyczą wysokości nuty (naciśniętego klawisza), głośności (dynamiki
naciśnięcia klawisza) oraz kanału na którym gra dany instrument (w podstawowym
standardzie jest 16 kanałów). Dane te są przesyłane w postaci komunikatu NoteOn.
Dodatkowo moŜe być przesłana informacja o zmianie programu brzmień na danym
instrumencie – jako komunikat Program Change - oraz sygnały sterujące, na przykład
głośnością całego instrumentu lub panoramą stereo – jako komunikat Control Change.
Aby umoŜliwić wymianę plików z danymi MIDI dla zapisanych utworów, został stworzony
dodatkowy protokół General MIDI, w którym zdefiniowane są numery konkretnych
instrumentów oraz działanie wybranych kontrolerów MIDI: kontroler 7 – steruje głośnością,
10 – steruje ustawieniem dźwięku w panoramie. Dodatkowo dla instrumentów perkusyjnych
został zdefiniowany kanał 10 jako kanał perkusyjny, dla którego kaŜdy instrument perkusyjny
jest grany poprzez wyzwolenie określonego klawisza MIDI. JeŜeli syntezator jest zgodny ze
standardem General MIDI, to podstawowe rozmieszczenie instrumentów zgodne jest z listą
instrumentów General MIDI.
W MAX/MSP istnieje wiele obiektów dotyczących wykorzystania protokołu MIDI. Aby
zagrać na syntezatorze wewnętrznym trzeba skonfigurować wyjście MIDI, a aby wprowadzić
sygnał MIDI z klawiatury zewnętrznej do komputera, trzeba skonfigurować wejście MIDI.
Podstawowe obiekty MIDI: makenote, notein, noteout, ctlin, ctlout, pgmin, pgmout.
Zadanie: Sprawdzenie połączeń MIDI przy pomocy programu MIDI Tester (menu
Extras / MIDItester).
Zadanie: Napisanie programu grającego 2 róŜne dźwięki c na wewnętrznym
syntezatorze na dwóch róŜnych instrumentach, wykorzystując obiekt makenote i
noteout i dwa kanały MIDI. Program powinien umoŜliwiać wybór instrumentu, kontrolę
głośności i rozłoŜenia dwóch instrumentów w panoramie.
4.
Elementy programu - dane
Podstawowymi pojęciami związanymi z danymi są
- bit (najmniejsza jednostka informacji: 0 lub 1),
- bajt (najmniejsza jednostka pamięci komputerowej, zwykle 8 bitów),
- słowo maszynowe (2 bajty lub więcej),
- pozycyjne systemy liczbowe (dziesiętny – występują cyfry od 0 do 9, binarny – cyfry 0 i 1).
Przydatne obiekty: &, I (operacje na bitach), radiobuttons, key, scale.
Zadanie: Napisanie programu grającego na syntezatorze wewnętrznym MIDI,
umoŜliwiającego usłyszenie rytmu zakodowanego w 8-bitowych liczbach binarnych,
będącej ciągami 0 i 1. KaŜda cyfra ma stanowić kolejny krok perkusyjnego
sekwencera ”binarnego”, 0 jest pauzą, a 1 jest dźwiękiem wybranego instrumentu
perkusyjnego.
W programie mogą występować dane jako stałe, czyli raz zdefiniowane dla całego
programu, oraz zmienne, czyli kontenery danych, które zmieniają wartości w czasie działania
programu. Podstawowe typy zmiennych to: całkowite, zmiennoprzecinkowe, znakowe,
tekstowe, logiczne.
Zmienne posiadają deklarację, czyli określenia typu, oraz inicjalizację, czyli nadanie wartości.
Zmienne mogą mieć róŜny zasięg działania, są zmienne globalne, dla całego programu, oraz
zmienne lokalne, dla danego modułu.
Proste struktury danych (MAX/MSP): int, float, value, preset, loadbang.
ZłoŜone struktury danych (MAX/MSP): umenu, histo, coll, funbuff, table.
Zadanie: Prezentacja róŜnicy słuchowej dla sterowania częstotliwością oscylatora
poprzez zmienne całkowite i zmiennoprzecinkowe (poprzez obiekt mtof).
Zadanie: Napisanie etiudy na jeden „globalny” przycisk i dane lokalne: dwa moduły
niezaleŜnie generujące ciąg dźwięków MIDI, po przyciśnięciu „globalnego” przycisku
zaczynają grać jeden, ten sam dźwięk.
5.
Elementy programu - instrukcje
Program opisujący określony algorytm działania, zapisany jest w postaci instrukcji
prostych (podstawienie, wywołanie) oraz instrukcji złoŜonych (warunkowych, iteracyjnych).
Obiekty: gate, switch, router.
Zadanie: Zastosowanie instrukcji warunkowej do wyboru rodzaju transpozycji
(obiekty if, select) oraz zastosowanie instrukcji prostej - dodawania - do transpozycji
melodii oraz instrukcji pętli (obiekt counter) do repetycji dźwięków melodii.
Aby uprościć pracę nad programem, i jego testowaniem, stosuje się modularyzację
programu, czyli podział na funkcjonalne części. Opis zewnętrzny modułu programu zawiera
nazwę i wykaz funkcji, a opis wewnętrzny obejmuje implementację określonych algorytmów.
Zadanie: Etiuda na dwie grupy programistów: praca w dwóch grupach nad jednym
projektem sonifikacji i wizualizacji pisania na klawiaturze, po uzgodnieniu opisu
zewnętrznego modułu sonifikacji i modułu wizualizacji.
Aby program był czytelny powinien być pisany według określonych reguł: z
zachowaniem czytelnej formy graficznej, z czytelnym nazewnictwem zmiennych i
podprogramów oraz z częstymi komentarzami opisującymi działanie poszczególnych
fragmentów kodu źródłowego.
Zadanie: Dla wybranego projektu wpisz odpowiednie komentarze ułatwiające
czytanie samego kodu programu oraz komentarze dla interfejsu uŜytkownika,
ułatwiające zrozumienie działania tego interfejsu.
6.
Dźwięk i jego podstawowe cechy
Dźwięk, wywołany przez drgające źródło dźwięku, jest falą rozchodzącą się w ośrodku
spręŜystym, która moŜe wywołać wraŜenie słuchowe. Amplituda – największe wychylenia
cząstek, częstotliwość - czyli liczba drgań na sekundę oraz prędkość rozchodzenia się są
głównymi parametrami fali akustycznej.
Dźwięk moŜe być słyszalny, gdy spełnione są określone warunki – drgania zawierają się w
zakresie w przybliŜeniu 20 Hz – 20 kHz oraz mają odpowiednio duŜą amplitudę w funkcji
częstotliwości.
Parametry psychoakustyczne dźwięku (określające sposób percepcji dźwięku) to
- wysokość – głównie zaleŜna od częstotliwości,
- głośność – głównie zaleŜna od amplitudy drgań fali akustycznej,
- barwa dźwięku – głównie zaleŜna od widma dźwięku (złoŜoności dźwięku).
Cechami dźwięku jest równieŜ długość jego trwania i przestrzenność.
Percepcja dźwięku opiera się na zaleŜnościach logarytmicznych. Ucho ludzkie reaguje
na róŜnicę logarytmów (czyli na logarytm ilorazu) częstotliwości, a nie na róŜnicę
częstotliwości. Czyli róŜnicę dźwięków o częstotliwościach 220 Hz i 440 Hz odbieramy tak
samo jak róŜnicę dźwięków 1000 Hz i 2000Hz, gdyŜ stosunek częstotliwości wynosi 2, co
odpowiada odległości oktawy.
Zmiana wysokości o pół tonu odpowiada stosunkowi częstotliwości około 1.06 (czyli
zmianie częstotliwości o 6%).
RównieŜ liniowa zmiana głośności odpowiada logarytmicznej zmianie bodźca.
Dwukrotna zmiana ciśnienia dźwięku to zmiana o około 6 dB SPL (decybel [dB] jest
logarytmiczną skalą porównawczą do poziomu odniesienia).
Zadanie: Zbudowanie przestrzeni dźwięków MIDI, odwzorowanej na płaszczyźnie
ekranu, kontrolowanej poprzez połoŜenie myszy. Ruch pionowy powinien zmieniać
wysokość dźwięku, ruch poziomy - głośność dźwięku, kaŜde kliknięcie powinno
zmieniać barwę dźwięku (wybierać inny instrument według określonego algorytmu).
Długość fali dźwiękowej dla zakresu słyszalności wynosi w przybliŜeniu od 17 m do 1.7 cm.
Zadanie: Stworzenie narzędzia do zagrania narysowanego kształtu jednego okresu
fali dźwiękowej, dla osi poziomej ekranu wyskalowanej od 0 do 10 m i osi pionowej
pokrywającej zakres dwukrotności maksymalnej amplitudy dźwięku.
Wysokość dźwięku, zaleŜna od częstotliwości, zmienia się przy zmianie prędkości
rozchodzenia się fali w róŜnych ośrodkach materialnych (w powietrzu około 340 m/s, a w
wodzie 1480 m/s) i przy zmianie temperatury (przyrost temperatury zwiększa prędkość).
Częstotliwość jest wprost proporcjonalna do prędkości dźwięku i odwrotnie proporcjonalna
do długości fali dźwiękowej. Przykładowo, przy wzroście temperatury o 25°C, wysoko ść
dźwięku piszczałki organów moŜe podnieść się o pół tonu.
Dla poruszającego się źródła dźwięku pojawia się pozorna zmiana wysokości dźwięku
źródła, ze względu na zmianę długości fali dochodzącej do ucha słuchacza (zjawisko
Dopplera) – zbliŜanie się źródła dźwięku podwyŜsza wysokość, a oddalanie obniŜa.
Zadanie: Zbudowanie przestrzeni dźwiękowej, odwzorowanej na płaszczyźnie
ekranu, w której źródło dźwięku o stałej częstotliwości znajduje się na środku ekranu.
Zmiana odległości myszy od źródła dźwięku powoduje jego zmianę: zgodnie ze
zjawiskiem Dopplera lub według własnego algorytmu przekształcenia odległości na
zmianę parametru dźwięku.
Zadanie: Symulacja zjawiska zmiany wysokości dźwięku w róŜnych ośrodkach i
temperaturach.
7.
Dźwięk cyfrowy – podstawowe pojęcia
Dźwięk moŜemy zapisać w postaci cyfrowej po odpowiednim jego przetworzeniu z
postaci analogowej. Jest to przetwarzanie analogowo-cyfrowe, które obejmuje proces
próbkowania, czyli odczyt wartości sygnału analogowego z określoną częstotliwością
próbkowania [Hz], oraz proces kwantyzacji i kodowania, czyli zapisanie kaŜdej wartości
próbki w postaci liczby o określonej rozdzielczości [bity].
Wybór parametrów sygnału cyfrowego wpływa na jakość przetwarzanego dźwięku oraz
pojemność pamięci potrzebną do zapisania tego sygnału. Przykładowo parametry dźwięku
cyfrowego zapisanego na płycie CD to częstotliwość próbkowania 44,1 kHz i rozdzielczość
16-bitowa (1 minuta dźwięku to około 10 MB pamięci).
Maksymalny poziom natęŜenia dźwięku w postaci cyfrowej oznacza się jako 0 dBFS
(Full Scale), jest to maksymalny poziom wysterowania dźwięku (-6 dBFS oznacza sygnał
połowy natęŜenia dźwięku).
Zadanie: Przygotowanie programu umoŜliwiającego sprawdzenie kanału lewego i
prawego przetwornika komputera dla sygnału szumowego z regulacją głośności [dB]
i automatycznymi ustawieniami DSP dla MAX/MSP.
Obiekty: ezadc~, adstatus, noise~.
Zadanie: Sprawdzenie przybliŜonego zakresu słyszenia poprzez przestrajanie
oscylatora w zakresie od kilkudziesięciu Hz do kilkunastu tysięcy Hz.
Wykorzystanie ruchu myszy do zmian częstotliwości generatora.
Obiekty: mousestate, scale, line~.
8.
Teoria muzyki – podstawowe pojęcia
Materiał muzyczny, czyli zbiór dźwięków wykorzystywany w muzyce, moŜemy podzielić
na zakresy o tej samej jakości brzmieniowej – oktawy. Odległość oktawy jest podwojeniem
częstotliwości fali dźwiękowej.
KaŜdą oktawę moŜna podzielić na 12 równych części, co daje 12 półtonów w oktawie
(co odpowiada zmianie częstotliwości dźwięku o około 6 %). A w praktyce muzycznej
wyodrębniono skalę 7 dźwięków dla kaŜdej oktawy (białe klawisze fortepianowe) o nazwach
c, d, e, f, g, a, h lub do, re, mi, fa, sol, la, si.
Zadanie: Stworzenie instrumentu „oktawowego” i „półtonowego”, sterowanego
klawiaturą MIDI, w którym nuta MIDI brzmi jako harmoniczny interwał oktawy lub
półtonu. Instrument powinien mieć moŜliwość wyboru barwy: tonu prostego
(realizacja interwałów poprzez obliczenia częstotliwości dźwięku) lub jednego z
instrumentów MIDI (realizacja interwałów poprzez obliczenia nut MIDI).
Zadanie: Wykorzystanie metody Guido do tworzenia melodii dla fragmentu gotowego
tekstu lub dla tekstu pisanego na klawiaturze. Metoda Guido opiera się na
przyporządkowaniu sylab z samogłoskami do określonej skali dźwięków, oryginalnie
były to:
Samogłoski: a e i o u a e i o u a e i o u a
Dźwięki:
g a h c1 d1 e1 f1 g1 a1 h1 c2 d2 e2 f2 g2 a2
Wybór jednej z samogłosek z powyŜszego zestawu nie jest dokładnie określony i
powinien zaleŜeć od kontekstu powstałej juŜ melodii.
Odległości między wysokościami dźwięków – interwały – moŜemy wyrazić poprzez ilość
półtonów. Interwały moŜemy podzielić na melodyczne (dźwięki następujące jeden po drugim)
i harmoniczne (współbrzmiące), na konsonanse (zgodnie brzmiące) i dysonanse (niezgodnie
brzmiące).
Przebieg muzyczny opierać się moŜe na określonym, podstawowym zbiorze dźwięków –
skali, o zdefiniowanym układzie interwałowym. Transpozycja, czyli rozpoczynanie danej skali
od róŜnych dźwięków, daje moŜliwość utworzenia tych skal w róŜnych zakresach wysokości
dźwięku. Podstawowymi skalami wykorzystywanymi w muzyce europejskiej są skala
majorowa i minorowa, które transponowane tworzą róŜne tonacje.
Zadanie: Stworzenie generatora przypadkowych wysokości dźwięków określonej skali
(pentatonika, skala majorowa).
Obiekty: random, drunk, coll.
Do zapisu dźwięków muzycznych wykorzystuje się pięciolinię i znaki graficzne nut:
przebieg czasowy zapisywany jest na pięciolinii jako osi poziomej (od lewej do prawej), a
wysokość dźwięku wyznacza jego połoŜenie na pięciolinii w pionie (wyŜszy dźwięk jest
zapisywany wyŜej). Rodzaj klucza umieszczony na początku pięciolinii definiuje zakres
dźwięków, który moŜna na danej pięciolinii zapisać. Sam znak graficzny nuty zawiera
informację o czasie trwania danego dźwięku i pozwala na zapisanie rytmu przebiegu
muzycznego (zawierającego równieŜ pauzy, czyli znaki graficzne ciszy o określonej
długości).
Zadanie: Zaproponowanie zapisu graficzny przebiegu muzycznego (z klawiatury
MIDI), wzorowany na przestrzeni pięciolinii w układzie współrzędnych z poziomą osią
czasu i pionową osią wysokości dźwięku, oraz długością poszczególnych nut i pauz
reprezentowaną poprzez zmianę parametrów prostych kształtów, w czasie
rzeczywistym wykonania (np. określona zmiana koloru, powiększanie kształtu w
czasie trwania danej nuty).
Rytmiczny przebieg muzyczny podzielony jest na takty w określonym metrum, które
porządkuje rytm poprzez regularnie powtarzające się akcenty. Na czas trwania nuty składają
się jej wartość rytmiczna oraz tempo (agogika). Tempo moŜe być wyraŜone poprzez
określenie słowne lub poprzez liczbę danych wartości na minutę.
Zadanie: Napisanie moduł odtwarzania przebiegu rytmicznego, zapisanego w tablicy
graficznej, w róŜnych tempach ustawianych poprzez parametr uderzeń na minutę.
Obiekty: transport, metro, table.
Głośność dźwięków muzycznych – dynamika, jest zapisywana poprzez określenia
słowne, np. piano, forte, crescendo, diminuendo.
Zadanie: Stworzenie instrumentu „crescendo” sterowanego klawiaturą MIDI, w którym
kaŜdej nucie MIDI odpowiada repetycja dźwięku o zwiększanej głośności (od
głośności uderzenia do maksymalnej).
9.
Rodzaje dźwięków
Dźwięk prosty - ton - jest drganiem sinusoidalnym o dwóch parametrach, amplitudzie i
częstotliwości.
Dźwiękami złoŜonymi są wielotony harmoniczne, składające się z tonów prostych o
częstotliwościach będących wielokrotnością składowej podstawowej, wielotony
nieharmoniczne o dowolnych składowych oraz szum.
Widmo, czyli rozkład częstotliwości dla danego dźwięku, jest prąŜkowe dla tonu i
wielotonów, a ciągłe dla sygnałów szumowych. Barwa dźwięku zaleŜy od przebiegu
składowych widma w czasie.
Barwa instrumentów muzycznych zaleŜna jest od źródła dźwięku – elementu drgającego,
sposobu jego pobudzenia i rezonatora.
Zadanie: Stworzenie obiektu dźwiękowego, sterowanego jednym parametrem
„złoŜoności”, zmieniającego się od tonu, poprzez wieloton harmoniczny, wieloton
nieharmoniczny do szumu.
Obiekty: cycle~, noise~.
10.
Słyszenie
Zakres słyszalności dla słuchu ludzkiego wynosi w przybliŜeniu 20Hz-20kHz i opisany
jest przez tak zwane krzywe słuchowe, które pokazują zaleŜność słyszalności od poziomu
natęŜenia dźwięku dla róŜnych częstotliwości. Próg słyszalności przybiera wyŜsze wartości
poziomu natęŜenia dźwięku dla niskich i wysokich częstotliwości (dlatego występuje zjawisko
braku niskich i wysokich częstotliwości przy cichym słuchaniu muzyki).
PoniŜej obszaru słyszalności, dla niskich natęŜeń dźwięku, znajduje się obszar ciszy, a
powyŜej obszar bólu.
Poza zakresem słyszalnych częstotliwości znajdują się dźwięki niŜsze – infradźwięki
(odbierane przez niektóre zwierzęta) i dźwięki wyŜsze – ultradźwięki (nietoperze słyszą do
100kHz).
Dla współbrzmiących razem dwóch dźwięków moŜe występować zjawisko zdudniania
się (dla zbliŜonych częstotliwości) oraz zjawisko powstawania tonów kombinacyjnych (które
obiektywnie nie istnieją w fali dźwiękowej) o częstotliwości będącej róŜnicą tonów
pierwotnych.
Zadanie: Stworzenie dźwięku reagującego na szybkość ruchu myszy: od tonu
prostego przy wolnym ruchu do dźwięku o dwóch, zmiennych zdudniających się
składowych.
Zadanie: Stworzenie prezentacji tonów kombinacyjnych dla składowych o stosunku
częstotliwości: 6/5, 5/4, 4/3, 7/5, 10/7, 3/2.
MoŜemy wyróŜnić dwa rodzaje słuchu wysokości dźwięku: słuch relatywny (rozróŜnianie
relacji, interwałów) i słuch absolutny (rozpoznawanie absolutnej wysokości dźwięku).
Zadanie: Propozycja wizualizacji słyszenia dla słuchu absolutnego poprzez
przypisanie jednego koloru dla jednego dźwięku i przedstawienie róŜnej kolorystyki
krótkiej melodii dla róŜnych jej transpozycji.
Specjalnym rodzajem wraŜeń słuchowych jest hałas, czyli dźwięki niepoŜądane w
danych warunkach.
Zadanie: Etiuda na hałas ciągły i dyskretny: hałas ciągły (przydźwięk, wentylacja,
silnik) jest zamieniany w pojedyncze hałasy naturalne przy zbliŜaniu się do obiektu w
przestrzeni (symulacja lub realizacja z czujnikiem odległości).
Ćwiczenie ma przedstawić zjawisko historycznych przemian charakteru hałasu, od
naturalnego do technologicznego, opisane przez M. Schafera: dźwięki naturalne
hałasu, posiadające początek i wygaszenie, zostały zastąpione stałymi hałasami
ciągłymi w procesie przemian technologicznych, zwiększających szybkość działania
urządzeń. Tak jak pojedyncze impulsy powielone z coraz większą prędkością,
powyŜej 20 na sekundę, stają się zjawiskiem ciągłym.
Zadanie: Wizualizacja horyzontu dźwiękowego czyli obszaru słyszalności zdarzeń
dźwiękowych, który zmienia się w zaleŜności od pojawiania się niepoŜądanych
dźwięków czy od zmian w przestrzeni akustycznej.
Słyszenie w ujęciu kognitywistycznym (analiza systemu poznawczego) to proces
uzyskiwania informacji o cechach obiektów otoczenia. MoŜna wyróŜnić słyszenie
elementarne - indentyfikujące podstawowe cechy dźwięków, słyszenie scen słuchowych porządkujące dźwięki w struktury, słyszenie przestrzeni - z lokalizacją dźwięków i słyszenie
przedmiotu i jego charakterystyki ruchowej.
11.
Dźwięk w przestrzeni
Fale dźwiękowe rozchodzą się w przestrzeni otwartej lub zamkniętej. Dla pomieszczeń
zamkniętych, na dźwięk bezpośredni ze źródła dźwięku nakłada się dźwięk odbity tworząc
razem pole akustyczne pomieszczenia. Odbicia dźwięku zaleŜne są od wielkości i kształtu
pomieszczenia oraz od właściwości pochłaniających ścian pomieszczenia. W bliskiej
odległości od źródła dźwięku tworzy się pole dźwięku bezpośredniego, a w dalszej odległości
pole dźwięku rozproszonego. Głównym parametrem charakteryzującym pomieszczenie jest
czas pogłosu - czas zaniku dźwięku od chwili wyłączenia źródła dźwięku.
Zadanie: Stworzenie instrumentu „odbić” i „pochłaniania”, czyli przedstawienie zjawisk
odbić i pochłaniania w skali makro - w przestrzeni dźwięków MIDI. Zagrane dźwięki
MIDI są odpowiednio modyfikowane: poprzez repetycję („odbicia”) tej samej
wysokości dźwięku wraz z ich wyciszaniem oraz poprzez zróŜnicowanie liczby
repetycji („odbić”) dźwięków wysokich (szybkie wygaszanie) i niskich (wolniejsze
wygaszanie).
W pomieszczeniach moŜe wystąpić szczególne zjawisko fali stojącej, gdy w wyniku
interferencji fali bezpośredniej i odbitej, powstają w przestrzeni strzałki (wzmocnienie
dźwięku) i węzły (wygaszenie dźwięku). W pomieszczeniu powstają rezonanse, czyli
wzmacnianie określonych częstotliwości, co powoduje nierównomierności przenoszenia
widma dźwięku.
Zadanie: Kompozycja przestrzeni dźwiękowej z obszarami wygaszania się dźwięku –
ciszy.
Zadanie: Napisanie programu realizującego projekt dźwiękowy Alvina Lucier „I am
sitting in a room”, w którym przestrzeń pokoju przekształca nagranie tekstu autora.
Program powinien umoŜliwiać pierwotnego nagranie tekstu do pliku oraz wielokrotne
odtwarzanie nagrania (w przestrzeni pokoju) z jednoczesnym nagrywaniem sygnału
zbieranego przez mikrofon do kolejnych plików.
W duŜych pomieszczeniach lub dla oddalonych przeszkód moŜe wystąpić zjawisko
echa, gdy odstęp czasowy między dźwiękiem bezpośrednim a odbitym jest większy niŜ 100
ms (dla róŜnicy dróg ponad 34 m).
Zadanie: Zbadanie wpływu długości opóźnienia dźwięku odbitego na sumę dźwięku
bezpośredniego i odbitego.
Obiekty: delay, pipe
W przypadku dźwięku odtwarzanego na głośnikach, moŜemy wyróŜnić systemy
dźwiękowe mono, stereo i wielokanałowe.
Zadanie: Przyporządkowanie zmiany połoŜenia dźwięku w panoramie stereo do
poziomego ruchu myszy (połoŜenie myszy w pionie moŜe przełączać róŜne
charakterystyki panoramy – róŜnego oddalenia pozornego źródła dźwięku dla punktu
środkowego między głośnikami).
12.
Projekt interaktywny – część dźwiękowa
Na projekt interaktywny składają się róŜne elementy:
• interfejs,
• moduł analizy danych wykonawczych lub danych związanych z zachowaniem
uŜytkownika,
• moduł interpretacji zebranych danych oraz generowania parametrów wpływających na
kompozycję (mapowanie sygnałów sterujących),
• moduł sterowania i opisu zachowań dźwiękowej przestrzeni interaktywnej (z definicjami i
zachowaniami poszczególnych obiektów i warstw dźwiękowych, w funkcji parametrów
przestrzeni i sygnałów sterujących),
• moduł kompozycji dźwiękowej (z muzycznymi i dźwiękowymi algorytmami generacyjnymi
uwzględniającymi sygnały sterujące),
• moduł generowania dźwięku w samym komputerze lub poprzez kontrolę urządzeń
zewnętrznych.
W zaleŜności od rodzaju projektu poszczególne moduły mają róŜną wagę i mogą częściowo
pokrywać się.
Dla interaktywnych systemów muzycznych moŜna wyróŜnić trzy moduły: zbierania
danych, przetwarzania („słuchacz”) i generacji („wykonawca”), a wykonanie utworu
interaktywnego moŜe opierać się na improwizacji lub partyturze.
Zadanie: Stworzenie koncepcji projektu interaktywnego ukazującego elementy
procesu percepcji dzieła, którego odbiór uzaleŜniony jest od zachowania i gestu
odbiorcy.
13.
Projekt interaktywny – Interfejs
Interfejs w projektach interaktywnych jest częścią systemu pozwalającą na
komunikowanie się uŜytkownika z projektem. Wybór interfejsu, w szerokim znaczeniu jako
interfejsu wraz z kontrolerem, ma zasadnicze znaczenie dla danej pracy, sposób
posługiwania się interfejsem i moŜliwe gesty muszą być podporządkowane głównej idei
projektu.
Dane o zachowaniu uŜytkownika przekazywane są poprzez interfejs do modułu
przetwarzania i mapowania danych programu projektu.
Zadanie: Zastosowanie zmiennego charakteru zasad kontroli uŜytkownika nad
projektem w czasie: od pełnej kontroli i jednoznacznego mapowania gestów odbiorcy
na zachowanie się dźwięku, do znaczącej zmiany zasad sterowania, odbieranej jako
utrata kontroli nad projektem.
W środowisku MAX/MSP moŜna zaprogramować odczyt danych z róŜnych interfejsów i
kontrolerów:
1. Klawiatura
Dane z klawiatury o naciśniętych klawiszach są przekazywane w kodzie ASCII,
oznaczającym numer znaku. Kody te moŜna przekonwertować na znaki danego klawisza
lub na liczbę (dla ciągu cyfr zakończonym klawiszem Enter). Przy pomocy okna
tekstowego uŜytkownik moŜe wprowadzać teksty z klawiatury w czasie działania
programu.
Obiekty: key, keyup, modifiers, numkey, itoa, textedit.
2. Mysz
Dane o zachowaniu myszy obejmują dane (x, y) o połoŜeniu myszy na ekranie, dane o
zmianie wartości x i y od ostatniego stanu oraz dane o stanie przycisków. PołoŜenie
myszy określane jest w układzie współrzędnych ekranu (a nie okna aplikacji), o początku
(0, 0) w lewym górnym rogu, przy zwrocie osi x w prawo, osi y w dół. Wartości
współrzędnych zaleŜą od ustawień i wielkości ekranu komputerowego.
Poza kartezjańskim układem współrzędnych (x, y) moŜna zastosować układ
współrzędnych biegunowych, w którym punkt zdefiniowany jest jako dwie dane:
odległość od środka układu współrzędnych oraz kąt.
Obiekty: mousestate, mousefilter, cartpol, scale
Zadanie: Stworzenie projektu, który umoŜliwia narysowanie zmian częstotliwości
oscylatora, zapisanie tych danych i odtworzenie ich, z ustawianą prędkości.
Zadanie: Stworzenie modułu analizy i przetwarzania sygnału sterującego, który
wygładza sygnał, odfiltrowuje skrajne wartości i skaluje wartości odpowiednio do
potrzeb dalszego wykorzystania sygnału.
3. Obiekty interfejsu graficznego
W środowisku MAX/MSP istnieje bardzo duŜo obiektów interfejsu uŜytkownika, takich jak
tłumiki, pokrętła, klawiatura MIDI. Dla wszystkich elementów moŜna zapisać ich
zmodyfikowane wersje jako podręczne wzorce.
Obiekty: slider, dial, rslider, pictslider,pictctrl, radiogroup, matrixctrl, jsui
Zadanie: Wykorzystanie róŜnych obiektów graficznych do wizualizacji bieŜących
danych programu i sygnałów sterujących w module próby projektu.
4. Zewnętrzne kontrolery MIDI
Połączenie kontrolerów i instrumentów MIDI do komputera (poprzez interfejs MIDI),
pozwala na sterowanie zaprogramowanymi procesami poprzez protokół MIDI oraz
sterowanie urządzeniami z interfejsem MIDI.
Obiekty: midiin, midiout, midiflush, notein, noteout, ctlin, ctlout.
5. Mikrofon, wejście liniowe lub plik dźwiękowy
Sygnał z mikrofonu lub wejścia liniowego moŜe być traktowany jako sygnał dźwiękowy
bezpośrednio do przetworzenia lub nagrania, lub jako sygnał kontrolny analizowany pod
kątem róŜnych parametrów: częstotliwości, amplitudy, głośności dźwięku, widma,
wartości próbek sygnału, a uzyskane wartości mogą sterować procesami w programie.
Obiekty: ezadc~, edge~, capture~, maximum~, minmax~, record~, sfrecord~.
6. Kamera lub obraz wideo
Obraz z kamery moŜe być traktowany jako sygnał kontrolny analizowany pod kątem
wyszukiwania punktów zmienności ruchu (detekcja ruchu) lub zmian w zdefiniowanych
obszarach obrazu. Analiza moŜe teŜ dotyczyć wybranych parametrów obrazu.
Obiekty: Jitter: jit.dx.grab, jit.op, jit.findbounds.
7. Czujniki i płytka mikrokontrolera
RóŜne czujniki - światła, temperatury, odległości - mogą być podłączone do komputera i
MAX/MSP poprzez mikrokontroler, który umoŜliwia odczyty danych z czujników i
przekazuje je do oprogramowania. Do tego celu, mikrokontroler musi być odpowiednio
oprogramowany, aby przesyłać dane poprzez port szeregowy zgodnie z wybranym
protokołem (np. OSC - Open Sound Control), a w MAX/MSP musi być uŜyty odpowiedni
obiekt dekodujący te informacje.
Obiekty: serial, maxuino
Zadanie: Rejestrowanie danych z obserwacji środowiska – temperatury i światła - ich
skalowanie, oraz kalibracja wyświetlania do zakresu danych.
Obiekty przepływu danych: iter, trough, peak, scale.
8. Połączenie między róŜnymi programami
Protokół OSC pozwala na przekazywanie informacji pomiędzy róŜnymi programami, na
tym samym lub róŜnych komputerach, za pomocą łącza internetowego. Połączenie moŜe
być zrealizowane po wskazaniu adresu internetowego nadawcy i odbiorcy. W ten sposób
moŜna zrealizować połączenie między dwoma modułami dźwiękowymi napisanymi przez
róŜne osoby i w róŜnych programach (np. MAX/MSP i PD), oraz moŜna przekazać dane
z programu graficznego (np. Processing) do programu dźwiękowego (np. MAX/MSP).
Obiekty: serial, udpsend, udpreceive.
14.
Projekt interaktywny – Generowanie dźwięku
Dźwięk moŜe być generowany na poziomie próbek sygnału według jednej z metod
syntezy dźwięku oraz na poziomie struktur muzycznych według metod algorytmicznych.
Synteza dźwięku jest procesem wytwarzania sygnału fonicznego oraz kształtowania jego
widma i obwiedni amplitudowej. Przykładami metod syntezy dźwięku są synteza tablicowa
„wavetable”, metoda addytywna, subtraktywna, granularna, metody modelowania fizycznego.
W syntezie tablicowej „wavetable” zapisany jest kształt jednego okresu fali, która jest
odtwarzana z odpowiednią częstotliwością i nałoŜoną obwiednią amplitudową dźwięku.
Obiekty: cycle~, buffer~, line~.
Zadanie: Stworzenie przykładu syntezy tablicowej z moŜliwością rysowania kształtu
fali.
Synteza addytywna polega na dodawaniu składowych sinusoidalnych o róŜnych
częstotliwościach, amplitudach i obwiedniach dźwięku.
Obiekt: poly~.
Zadanie: Badanie zjawiska słyszalności składowej podstawowej dla sumy tonów
harmonicznych bez składowej podstawowej.
Modulacja amplitudowa (modulacja kołowa) polega na wpływaniu amplitudy jednego sygnału
na amplitudę drugiego (sygnały wejściowe są mnoŜone przez siebie).
Zadanie: Uzyskanie efektu tremolo.
Modulacja częstotliwościowa jest to modulacja częstotliwości sygnału nośnego przez sygnał
modulujący.
Zadanie: Uzyskanie efektu wibrato.
Modelowanie fizyczne polega na matematycznym opisaniu fizycznego zjawiska powstawania
dźwięku i wykorzystania takiego modelu do generowania dźwięku.
Zadanie: Analiza przykładowych algorytmów generowania efektów dźwiękowych (z
ksiąŜki Andy Farnell „Designing Sound”, http://mitpress.mit.edu/designingsound).
15.
Projekt interaktywny – Pliki dźwiękowe
Dźwięk moŜe być nagrywany do bieŜącego bufora lub zapisywany jako plik dźwiękowy,
w zaleŜności od długości nagrywanego materiału. Nagrany materiał moŜe być odtwarzany z
róŜną prędkością, z zastosowaniem pętli (z moŜliwością ustawienia punktów skrajnych i
interpolacji między nimi).
Obiekty: record~, buffer~, groove~, sfplay~, sfrecord~
Zadanie: Wykorzystanie nagrywanych krótkich dźwięków jako materiału
dźwiękowego dla prostego samplera.
16.
Projekt interaktywny – Przetwarzanie dźwięku
Dźwięk powstający w wyniku syntezy lub dźwięk z pliku dźwiękowego moŜe być
przekształcany przy pomocy róŜnych modułów przetwarzających: filtrów, linii opóźniających,
pogłosów, chorus, flanger.
Obiekty: reson~, biquad~, filtergraph~, tapin~, tapout~.
Zadanie: Symulacja zjawiska echa.
Zadanie: Symulacja formantów związanych z pojawianiem się samogłoskowego
charakteru dźwięku (u, a, i).
17.
Projekt interaktywny – Kompozycja algorytmiczna
Struktury dźwiękowe mogą być tworzone przy pomocy procedur generowania dźwięku,
gdy zamiast struktury dźwiękowej w postaci danych, występuje jej algorytmiczna definicja.
Taka metoda jest bardzo przydatna dla kompozycji interaktywnych, gdyŜ procedury
generowania dźwięku mogą być zaleŜne od zmiennych sterujących. Algorytmy generowania
mogą wykorzystywać liczby losowe i procesy losowe o róŜnym rozkładzie
prawdopodobieństwa, który moŜe być zapisany w tabeli lub generowany według opisu
matematycznego.
Obiekty: random, drunk, histo, minimum, expr, counter, line
Zadanie: Stworzenie przestrzeni kształtów geometrycznych sterowanych przez
algorytmy generowania dźwięku.
Zadanie: Wykorzystanie algorytmów chaosu do stworzenia generatywnej warstwy
dźwiękowej, zmieniającej charakter w czasie, od repetycji do złoŜonych linii
melodycznych.
18.
Praca nad projektem interaktywnym
Wybór koncepcji prezentacji projektu jako koncertu, instalacji czy projektu internetowego
wpływa na formę związaną z dostępnością projektu w czasie (forma otwarta lub
konieczność ograniczenia czasowego dla jednego uŜytkownika).
W procesie projektowania waŜne jest skoncentrowanie się na odbiorze estetycznym
uŜytkownika, poprzez ogniskowanie jego uwagi, wpływanie na jego działania oraz wybór
zakresu kontroli powierzonej uŜytkownikowi.
Zadanie: Omówienie wstępnych koncepcji projektów interaktywnych (opisy koncepcji,
opisy techniczne, wstępne rysunki).
Część projektów interaktywnych, ze względu na ich stopień skomplikowania, tworzona
jest w grupach. RównieŜ praca nad dźwiękiem moŜe być tworzona w zespole. Konieczne są
szczegółowe ustalenia dotyczące interfejsów przygotowywanych modułów
programistycznych oraz protokołów przesyłania danych. W przypadku projektów
audiowizualnych waŜna jest równoległa praca nad częścią dźwiękową i wizualną, ze względu
na wpływanie jednej części projektu na drugą.
Zadanie: Utworzenie obiektu dźwiękowego powiązanego z pojawianiem się obiektu
graficznego, sterowanego algorytmem graficznym. Pokazanie wpływu zmian w części
wizualnej programu na dźwięk.
Praca nad projektami interaktywnymi, kompozycjami, występami czy instalacjami,
wymaga napisania dodatkowego modułu do pracy nad utworem – modułu próby. Powinien
on umoŜliwiać pełną inicjalizację systemu, szybki dostęp do wybranych fragmentów czy scen
projektu, symulację sygnałów sterujących (tak by moŜna było pracować równieŜ bez całego
systemu i wykonawców lub uŜytkowników), oraz podgląd danych potrzebnych do
kontrolowania prawidłowości działania całego systemu.
Zadanie: Napisanie modułu próby dla jednego z poprzednich projektów.
W końcowym etapie pracy nad projektem powinno zadbać się o jego szczegółową
dokumentację i archiwizację. Wystawianie projektów interaktywnych dźwiękowych w
przestrzeniach galerii, często wymaga adaptacji akustycznej i odpowiedniej aranŜacji
przestrzeni dla sprzętu i dla odbiorcy. NaleŜy równieŜ zadbać o przeszkolenie obsługi galerii
w włączaniu i wyłączaniu projektu oraz w działaniu na wypadek awarii systemu.
Zadanie: Omówienie zespołowego wystawianie projektów na wspólnej wystawie:
projektowanie systemu interaktywnego i ustalanie wspólnej konfiguracji sprzętowej,
tak by róŜne projekty moŜna było zaprezentować dla tego samego ustawienia
sprzętu.
19.
Projekty interaktywne – klasyfikacje
Dla interaktywnej muzyki komputerowej moŜna wyróŜnić następujące sposoby
wykonania utworu (według ksiąŜki Curtis Roads „The Computer Music Tutorial”):
• Dźwiękowe lub wizualne sygnały (cues) „dyrygują” grą instrumentalistów,
• Dyrygent kieruje zespołem instrumentów syntetycznych (mapowanie gestów dyrygenta
na parametry syntezy dźwięku),
• System komputerowy „akompaniuje” wykonawcy improwizującemu lub grającemu według
ustalonej partytury,
• Zespół muzyków posługuje się komputerami połączonymi we wspólnej sieci (orkiestry
laptopowe),
• Wykonanie autonomiczne przez system komputerowy (instalacje).
Podana poniŜej klasyfikacja (według ksiąŜki Ryszarda W. Kluszczyńskiego „Sztuka
interaktywna. Od dzieła-instrumentu do interaktywnego spektaklu”), zaproponowana została
głównie dla prac wizualnych i audiowizualnych. Kategorie te nie są rozłączne – projekty
mogą naleŜeć do więcej niŜ jednej kategorii.
1. Strategia instrumentu – nadrzędność interfejsu,
2. Strategia gry – nadrzędność interakcji,
3. Strategia archiwum – nadrzędność danych,
4. Strategia labiryntu – nadrzędność organizacji danych (hipertekst),
5. Strategia kłącza – rozwój organizacji danych,
6. Strategia systemu – interaktywność wewnętrzna,
7. Strategia sieci – relacje sieciowe,
8. Strategia spektaklu – nadrzędność wydarzenia i odbiorcy.
20.
Przykłady instalacji wirtualnego środowiska: Char Davies - Osmose, Ephemere (1995-2001)
Wybór interfejsu był bardzo waŜną decyzją, wpływającą w istotny sposób na odbiór
instalacji wirtualnego środowiska. Projekty te przeznaczone są przede wszystkim dla jednej
osoby wyposaŜonej w zestaw czujników (a publiczność moŜe śledzić poruszanie się tej
osoby w przestrzeni wirtualnej na ekranie).
Na interfejs składają się tu następujące elementy: 3 czujniki połoŜenia i ruchu w przestrzeni,
czujnik oddychania umieszczony na specjalnej kamizelce. UŜytkownik/uczestnik (nazywany
przez Char Davies „immersant”, czyli „zanurzony”) ma na głowie hełm (HMD – Head
Mounted Display) z szerokokątną projekcją 3D oraz słuchawkami (dla dźwięku
przestrzennego).
Sygnały sterujące, przetwarzane w programie, według załoŜonych zasad, pochodzą z
interfejsu uŜytkownika oraz innych źródeł. Dla projektów „Osmose” i „Ephemere” były to
następujące grupy sygnałów sterujących:
1. Sygnały z czujników umieszczonych na ciele uŜytkownika, zawierające informacje o
połoŜeniu uŜytkownika w przestrzeni (x, y, z), o prędkości przemieszczania się oraz
informacje o nachyleniu głowy, wyraŜone poprzez kąt elewacji oraz informacje o obrocie
głowy, wyraŜone poprzez kąt azymutu.
2. Sygnały sterujące pochodzące z analizy ruchu uŜytkownika w przestrzeni, niosące
informacje o odległości uŜytkownika od obiektów graficznych, kierunku zbliŜania się do
nich oraz informacje o detekcji kolizji.
3. Sygnały sterujące pochodzące z samego programu graficznego, informujące o
określonych strefach w przestrzeni, o upływie czasu oraz o zmienności parametrów
przestrzeni graficznej, takich jak światło, mgła.
4. Sygnały sterujące wynikające z wybranych parametrów warstwy dźwiękowej (np. rytmu,
obwiedni dźwięku), stanowiące źródło sterowania programem graficznym.
Część programu komputerowego, odpowiadająca za mapowanie róŜnorodnych sygnałów
sterujących na zachowania dźwięku, moŜna nazwać pierwszą częścią „partytury”
interaktywnego dźwięku w przestrzeni projektu. Partytura ta obejmuje opis kompozycji
przestrzennej, opis struktury warstw dźwiękowych dla poszczególnych scen, opis sposobów
przenikania scen, opis poszczególnych obiektów dźwiękowych i ich zachowań w funkcji
sygnałów sterujących.
Moduł generowania dźwięku - kolejna część programu komputerowego - stanowi drugą
część „partytury” dźwięku interaktywnego. Moduł ten zawiera procedury generowania
dźwięku dla wszystkich warstw i obiektów dźwiękowych z uwzględnieniem zmienności
dźwięku w funkcji zachowania uŜytkownika i zachowania środowiska. Oprogramowane jest
równieŜ zachowanie się dźwięku przy braku zmienności sygnałów kontrolnych.
W projektach środowisk wirtualnych, dla warstw i obiektów dźwiękowych, moŜna
zaproponować róŜne klasyfikacje dźwięku.
1. Ze względu na funkcję dźwięku w środowisku wirtualnym moŜna wyróŜnić dźwięk
uŜytkownika, dźwięk obiektów graficznych, obiekt dźwiękowy niewidoczny oraz dźwięk
scen.
2. Charakter ruchu obiektów pozwala na wyodrębnienie grupy dźwięków statycznych w
przestrzeni wirtualnej, dźwięków statycznych względem uŜytkownika oraz dźwięków
poruszających się.
3. Własności przestrzenne są podstawą do rozróŜnienia dźwięku zlokalizowanego (3D),
dźwięku stereo lub mono.
4. Tworzenie grup obiektów dźwiękowych potrzebne jest ze względu na stosowanie tych
samych algorytmów generowania dźwięku lub synchronizacji rytmicznej grup obiektów
dźwiękowych oraz ze względu na wymagania wspólnego sterowania dynamicznie
zmieniającymi się grupami obiektów dźwiękowych.
5. Sposób zaprogramowania początku i końca dźwięku róŜnicuje dźwięki samowygaszające
się i dźwięki ciągłe.
6. Obiekty dźwiękowe mogą być uŜyte dla danego uŜytkownika/słuchacza tylko raz, mogą
pojawiać się zawsze przy spełnionych określonych warunkach lub występować według
określonego prawdopodobieństwa.
Sam obiekt dźwiękowy moŜe być zdefiniowany poprzez strukturę danych określającą
parametry i zachowania tego obiektu. Struktura ta moŜe zawierać dane dotyczące liczby
źródeł dźwięku składających się na ten obiekt, bieŜące połoŜenie w przestrzeni, opis ruchu
obiektu, warunki rozpoczęcia i zatrzymania dźwięku, listę wszystkich sygnałów sterujących
mających wpływ na dany obiekt, identyfikator struktury dźwiękowej przypisanej danemu
obiektowi, prawdopodobieństwo wystąpienia danego dźwięku, rodzaj dodatkowego
przetwarzania dźwięku dla danego obiektu.
Zadanie: Stworzenie sceny wstępnej lub wybranych obiektów dźwiękowych z
omawianych prac.
21.
Elementy wizualne w MAX/MSP
Sygnał dźwiękowy moŜe być wyświetlany przy pomocy mierników wartości szczytowej
(meter~), wartości chwilowej (number~) oraz przebiegu sygnału w czasie (scope~).
Rysowanie linii, kształtów, prostej grafiki wektorowej moŜe być wykorzystane jako
element wizualizacji parametrów dźwięku, sygnałów kontrolnych, ruchu myszy.
Obiekty: lcd, multislider
Zadanie: Rejestrowanie danych z obserwacji środowiska: temperatury, światła, ich
analiza, oraz kalibracja wyświetlania do zakresu danych.
Zadanie: Wizualizacja zjawiska synestezji poprzez zaproponowanie mapowania
dźwięków skali chromatycznej na wybrane kolory i zastosowanie tego mapowania do
róŜnych transpozycji krótkiej melodii.
Wyświetlanie filmów wideo moŜe być kontrolowane przez zmiany punktu startu i
prędkości odtwarzania, poprzez ustawianie pętli i ich zakresu.
Obiekty: jit.window, jit.qt.movie, imovie.
Zadanie: Reinterpretacja przebiegu wideo poprzez mapowanie zmian światła w
pomieszczeniu wyświetlania filmu na parametry dźwięku i obrazu.
Dodatek
MIDI (ang. Musical Instrument Digital Interface)
Cyfrowy Interfejs dla Instrumentów Muzycznych
Przykładowe instrukcje
Nazwa
Note On
Bajt 1
1001 cccc
Control Change
1011 cccc
Program Change
1100 cccc
Bajt 2
Numer
klawisza MIDI
[0-127]
Numer
sterownika
MIDI
[0 - 127]
Numer
programu MIDI
[0-127]
Byte 3
Dynamika przyciśnięcia
klawisza [0-127]
Wartość sterownika
MIDI
[0 - 127]
-
Standard General MIDI – przykładowe programy
Piano – fortepian (0 – 7),
Chromatic precussion – perkusja chromatyczna (8 – 15),
Organ – organy (16 – 23),
Guitar – gitary (24 – 31),
Bass – gitary basowe (32 – 39),
Strings – instrumenty smyczkowe (40 – 47),
Standard General MIDI – przykładowe programy perkusyjne
(MIDI kanał 10, numer klawisza MIDI)
35
Bass Drum 2
36
Bass Drum 1
37
Side Stick
38
Snare Drum 1
39
Hand Clap
Standard General MIDI – przykładowe sterowanie
7
10
Volume
Pan
ASCII – przykładowe wartości
Dec Hex Znak
Dec Hex
Znak
Dec Hex Znak
48
30
0
32
20
Spacja
64
40
@
49
31
1
65
41
A
97
61
a
50
32
2
66
42
B
98
62
b
51
33
3
67
43
C
99
63
c
52
34
4
68
44
D
100
64
d
53
35
5
69
45
E
101
65
e

Podobne dokumenty