0. OPIS OGÓLNY
Maszyna koncertowa to interaktywne środowisko umożliwiające tworzenie autorskich wydarzeń telematycznych. Jest to otwarte, uniwersalne narzędzie do projektowania interaktywności między twórcą a publicznością.
Za pomocą kreatora UTWORU możliwe jest zbudowanie prostego interaktywnego interfejsu. Interfejs taki można porównać do sieciowego kontrolera midi dostępnego dla wielu użytkowników poprzez internet. Decyzje użytkowników są uśrednione. Utwór/interfejs może zostać opublikowany i udostępniony dowolnej grupie odbiorców.
Obsługa stworzonego interfejsu jest możliwa z dwóch poziomów:
1) Twórcy – za pośrednictwem środowiska Max/MSP*(5). Wymiana danych pomiędzy utworem/interfejsem a patchem Max/MSP jest dynamiczna oraz obustronna. Aby w pełni korzystać z portalu jako Twórca należy założyć konto.
2) Publiczności – za pośrednictwem dowolnej przeglądarki internetowej . Ilość odbiorców wydarzenia nieograniczona**.
Maszyna koncertowa jest również czymś więcej niż wirtualny kontroler midi. Otóż za pomocą okien wideo możliwe jest odtwarzanie dowolnych treści audiowizualnych linkowanych z portalu youtube (wideo lub streaming).
Powstałe utwory można łączyć w koncerty czyli dynamiczne playlisty pozwalające na zmianę utworu w trakcie trwania wydarzenia.
* Maszyna Koncertowa oraz przygotowany help patch współpracuje wyłącznie z MAX/MSP 8
** Tak naprawdę nigdy tego nie przetestowaliśmy ale szczerze w to wierzymy
I. UTWÓR
Przez “UTWÓR” rozumiemy internetowy interfejs do interakcji publiczności z Twórcą (patchem Max/MSP twórcy, z muzykiem bądź zespołem grającym na żywo itp ).
Po zalogowaniu wejdź w zakładkę 01 utwory.
Po prawej stronie zobaczysz biały panel z listą Utworów, na której znajdziesz przykładowy utwór: “01_Your First Track” (jeśli jesteś tu po raz pierwszy) lub listę Twoich poprzednich utworów.
Z tego miejsca możesz:
– dodać nowy utwór [Dodaj] – patrz I.1
– wyświetlić podgląd już stworzonego utworów (klikając na nazwę z listy) (patrz I.1)
– wejść do edycji utworu [edytuj]
– usunąć utwór z listy [usuń]
I.1.TWORZENIE UTWORU
Z menu 01 utwory w panelu Utwory wybierz przycisk [Dodaj]
Zobaczysz siatkę na której możesz umieszczać OBIEKTY.
Dwuklik na siatce otwiera pływające menu, z którego wybierasz dostępne OBIEKTY
I.2. OPIS OBIEKTÓW
GUZIK: przycisk przesyłający dwie wartości. W stanie spoczynku 0 w momencie kliknięcia 1. Użytkownik ma możliwość kliknięcia w przycisk dowolną liczbę razy lecz nie może go przytrzymać. Do patcha Max/MSP Twórcy trafia informacja o każdym pojedynczym kliknięciu guzika od wszystkich użytkowników.
SUWAK: Składa się z dwóch elementów: interaktywnego suwak (poruszanego przez użytkownika) oraz wskaźnika danych zwrotnych z max/MSP. Suwak przesyła wartości od 0 do 1 z krokiem 0.01. Uśrednione wartości od wszystkich użytkowników są przekazywane do Max/MSP twórcy.
GAŁKA: Analogicznie jak w przypadku suwaka składa się również z dwóch elementów: interaktywnej gałki oraz wskaźnika danych zwrotnych. Zakres danych oraz zasada działania identyczna jak w przypadku suwaka.
TEKST: Dynamicznie przekazuje informacje tekstowe z Max/MSP do interfejsu Obiekt występuje w dwóch wersjach wizualnych (czarnej i białej).
WIDEO: Element multimedialny. Pozwala na odtwarzanie treści audio/wideo w utworze. Okno wideo wyświetla treści bezpośrednio z portalu youtube.
I.3. PANEL "PARAMETRY UTWORU"
Biały zwijalny panel [PARAMETRY UTWORU] po lewej stronie umożliwia:
– nadanie tytułu
– wpisanie autora
– opisu utworu
– inspektor obiektów – umożliwia edycję nazwy i wielkości podświetlonego na siatce obiektu
– w oknie: Udostępnione możesz udostępnić utwór osobie organizującej Koncert (patrz II.).
I.4. PODGLĄD GOTOWEGO UTWORU
Z menu 01 utwory w panelu Utwory kliknij na nazwę wybranego utworu. Tutaj możesz sprawdzić funkcjonalność i wygląd twojego utworu/interfejsu,
Możesz też:
– wygenerować i skopiować link do udostępniania utworu publiczności
– wygenerować i skopiować link komunikacji utworu z patchem Max/MSP
I.5. UDOSTĘPNIANIE UTWORU W podglądzie utworu kliknij w sekcji Udostępnianie [Nowy link] następnie skopiuj jego zawartość. Udostępnianie utworu odbywa się za pomocą rozpowszechniania tego linku.
II. Koncert
Przez “KONCERT” rozumiemy dynamiczną playlistę składającą się z wybranych UTWORÓW. Tworzy go zalogowany użytkownik, wybierając z listy udostępnionych utworów swoich i innych twórców. Funkcja ta pozwala na prezentację kilku utworów w ramach jednego linku dostępu (wirtualny koncert).
Koncert pozwala również na zamieszczenie jednego niezmiennego okna streamingu (np. zespołu grającego na żywo w kolejnych utworach…) z serwisu youtube/twitch. Okno to wyświetla się powyżej utworów. Zmiana utworów nie wpływa na streaming.
II.1.TWORZENIE KONCERTU
Z menu 02 koncerty w panelu Koncerty wybierz przycisk [Dodaj]
Zobaczysz panel PARAMETRY KONCERTU
II.2. PANEL "PARAMETRY KONCERTU"
Biały zwijalny panel [PARAMETRY KONCERTU] po lewej stronie umożliwia:
– nadanie tytułu
– opisu utworu
– wybór utworów z listy: utwory te mogą być naszymi prywatnymi bądź udostępnionymi nam przez innych twórców
– przycisk UTWÓRZ zatwierdza stworzenie KONCERTU
II.3. PODGLĄD GOTOWEGO KONCERTU (OBSŁUGA KONCERTU)
Z menu 02 koncerty w menu Koncerty kliknij w nazwę wybranego koncertu. Wyświetli ci się po prawej stronie panel w którym znajdziesz:
– tytuł koncertu
– opis koncertu
– [Nowy link], generuje link dostępu dla Publiczności
– [Kopiuj Link], kopiuje do schowka link dostępu dla Publiczności
– panel “Kontrola koncertu”, możesz w nim:
- włączyć/wyłączyć przepływ danych z Max/MSP [przycisk play]
- przełączać utwory z listy [<<] lub [>>]
- wkleić i załadować {ikona dyskietki] link do streamu
– lista utworów koncertu wraz z opisami
II.4. UDOSTĘPNIANIE KONCERTU
Koncert udostępniany jest w sposób analogiczny do utworu poprzez wygenerowany link dostępu.
III. machine client helpatch
Kontrolowanie oraz obsługa utworów odbywa się za pośrednictwem programu max/MSP poprzez dedykowaną paczkę pobierz tu.
III.1 opis maxa
Dedykowany patch składa się z trzech sekcji: Connection, Sending Data, Receiving Data. Każdy z wymienionych elementów odpowiada za możliwość zewnętrznej kontroli oraz obsługi danych w docelowym utworze. Podstawowym obiektem helpatcha jest music-machine-client za pomocą, którego możliwe jest połączenie z interfejsem, obsługa oraz wymiana danych pomiędzy narzędziami. Komunikacja oparta jest o obustronną translacje danych JSON co wymaga wykorzystania dodatkowego obiektu dict.pack zarówno przy wysyłaniu jak i odbieraniu informacji.
Przygotowany help patch dedykowany jest interface’owi, którego układ generuje się automatycznie podczas dodawania utworu. W panelu edycji wystarczy wygenerować MaxKey i zapisać utwór do listy swoich pilotów.
zdjęcie defaultowego interface
Connection:
Podstawowa sekcja zapewniająca prawidłowe łączenie oraz wymianę danych pomiędzy max/MSP a Maszyna koncertowa. Oparty o obiekt machine-client
Sending Data:
Sekcja dzięki, której przesyłane są dane z max/msp do Maszyny Koncertowej. Dane generowane w tej sekcji muszą zostać przetłumaczone za pomocą obiektu dict.pack
III.2 używanie patcha:
komunikacja:
W celu skomunikowania Konkretnego utworu z Max/MSP należy w pierwszej kolejności umieścić dedykowaną paczkę w folderze packages Max/msp. Po otwarciu helpatch machine-client w sekcji Connection należy w pierwszej kolejności zainstalować paczkę Node.JS. Krok 0. w helpatch. Czynność tą wykonuje się tylko podczas pierwszego użycia patcha. W kroku 1. należy włączyć skrypt Node.JS powinno spowodować to zaświecenie się leda zjadującego się po prawo od przełącznika. W korku 2. Należy wkleić dedykowany link interface’ owi wygenerowany na poziomie kreatora znajdującego się na stronie www. W kroku 3 po klikninięciu w przucisk na panelu kontrolnym znajdującym się poniżej powinna pokazać się trzy informacje: activePilot: “Nazwa połączonego utworu”, connected: 1 (w przypadku prawidłowego połączenia), clientCount: liczba aktualnych użytkowników naszego interface’u od strony publiczności. W kroku 4 należy włączyć przekazywanie danych z Max/MSP do docelowego interfacu. Za pomocą obiektu float znajdującego się po prawo możliwa jest zmiana prędkości odświeżania danych. Domyślna wartość to 100 ms w przypadku problemów z wydajnością patcha pomocne może być zwiększenie tej wartości.
music-machine-client jest subpatchem zawierającym w sobie skrypt js obsługujący komunikację z API strony www.maszynakoncertowa.pl. Zalecamy korzystanie z przygotowanego obiektu z zachowanie układu w helpatch aczkolwiek:
Inlety (od lewej)
- Instalacja paczki Node.JS. Obsługuje bang.
- Włączenie skryptu js. Obsługuje Toggle.
- Wejście linku maxKey
- przetłumaczone dane wejściowe
Outlety (od lewej)
- Status działania skryptu. Obsługuje Led
- Status połączenia. Obsługuje dict.viewer
- Dane przychodzocę z web interface’ u. Wymaga translacji za pomocą dict.pack
Odbieranie Danych:Stream danych przekazywany z maszyny koncertowej jest uśrednionymi wartościami aktywności wszystkich użytkowników dla poszczególnych obiektów. Dane z trzeciego wyjścia machine-client należy przetłumaczyć dla max/MSP za pomocą obiektu dict.unpack. Parsowanie danych polega na wpisaniu nazw adresacji poszczególnych obiektów ustalonych wcześniej w edytorze obiektu(2.3). Nazwy te należy wpisywać przy zachowaniu składni wymaganej dla obiektu dict.pack Zachowując składnie obiektu. Przykład:
W powyższym przypadku następuje rozseparowanie danych z trzech obiektów o nazwach: Slider, Knob, Bang. Aby pobierać dane na temat większej ilości obiektów bądź o tych z innymi nazwami. Obiekt ten należy edytować adekwatnie do indywidualnej sytuacji. Odebrane dane mogą być zbiorczo obserwowane poprzez obiekt dict.view.
Wysyłanie danych:
Przekazywanie danych z Max/MSP do docelowego pilota opiera się o podobny schemat jak w przypadku ich odbierania. W przypadku kontroli interfacu poza obiektami suwak, gałka, przycisk występują dwa dodatkowe: Obiekt kontroli wideo oraz obiekt kontroli dynamicznych komunikatów tekstowych.
Suwak, Gałka, Bang:
Trzy podstawowe obiekty. Slider i suwak przyjmują wartości od 0 do 1 z krokiem 0.01. przycisk w momencie kliknięcia przesyła wartość 1.
kontrola wideo:
Obiekt służący do kontroli wideo składa się z: pola pozwalającego umieścić link do youtube, przełącznika odpalającego wideo, przełącznika wyciszającego oraz kontrolera głośności. Aby obiekt funckcjonował prawidłowo połączony jest on na stałe z dedykowanym subpatchem.
kontrola wiadomości tekstowych:
Obiekt do obsługi pól tekstowych w inteface’ie utworu. Pozwala na dynaczmiczne wysylalnie komunikatów tekstowych. Aby przesłać taki komunikat we wskazanym polu w Max/MSP należy wpisać tekst oraz kliknąć w dowolne miejsce poza obiektem. Aby obiekt funckcjonował prawidłowo połączony jest on na stałe z dedykowanym subpatchem.
Dane z poszczególnych obiektów zanim zostaną przesłane do interface’ u maszyny wymagają translacji przy pomocy obiektu dict.pack. Podobnie jak w przypadku odbierania danych w ramach tego obiektu wymagana jest prawidłowa adresacja nazw sterowanych kontrolek w maszynie. Dodatkowo pierwszym elementem argumentów obiektu powinno metro: natomiast po wszystkich argumentach ‘@triggers 0’ Obiekty: suwak oraz gałka z racji tego iż w interface’ie składają się z dwóch animowanych elementów. wskaźnika danych zwrotnych oraz elementu interaktywnego w przypadku wysyłania danych wymagają tego aby po nazwie adresowanego obiektu występował dopisek ‘nazwa_FB’. Prawidłowy sposób adresaci obiektów w dick.pack występuje w przykładzie:
W powyższym przykładzie dane zostaną zaadresowane do 5 różnych obiektów: o nazwach Slider, Knob, Bang, Video.
Wszystkie wysyłane wartości są wyświetlane za pomocą obiektu dict.view Wartości danych z dict.pack mogą zostać przekazane bezpośredniego do 4. inletu obiektu: machine-client.