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