Wszystkie strony Jak działa pokaz świateł

Dokumentacja Zbuduj pokaz świateł

Jak działa pokaz świateł

Od pliku audio do światła dokładnie w rytm: analiza, partytura, zegar, dyrygent i środowisko.

Większość wizualizatorów muzyki reaguje: słucha dźwięku, który właśnie gra, i porusza się chwilę później. Pokaz świateł Rainy jest zamiast tego wyreżyserowany. Serwer raz słucha całego utworu, zapisuje, co się w nim dzieje i kiedy, a przeglądarka odtwarza to w rytm dźwięku. Pokaz wie o nadchodzącym dropie osiem taktów przed tym, jak on nastąpi.

Ta strona wyjaśnia każdy krok. Nie jest potrzebna, żeby korzystać z pokazu, ale przyda się, jeśli chcesz stworzyć środowisko.

Przebieg

serwer, raz na utwór
    plik audio  →  analiza  →  partytura (zapisana dla utworu)

przeglądarka, w każdej klatce
    zegar        czas utworu, zsynchronizowany z dźwiękiem
      ↓
    źródło       partytura w tej chwili → klatka muzyczna F
      ↓
    dyrygent     intensywność, paleta, ściemniacz, ogranicznik błysków → stan S
      ↓
    środowisko   rysuje S po swojemu

Wszystko aż do dyrygenta włącznie jest wspólne. Środowisko decyduje tylko o tym, jak wygląda stan pokazu, i dlatego każde środowisko trafia w to samo uderzenie.

Analiza

Gdy utwór trafia do biblioteki, proces działający w tle na serwerze dekoduje go i mierzy:

Co Do czego służy
Uderzenia i początki taktów Siatka, po której porusza się wszystko: uderzenia oraz pierwsze uderzenie każdego taktu.
Tempo oraz pewność, z jaką analizator je określił Szybkość ruchu.
Uderzenia perkusji: stopy, werble i hi-haty, każde z siłą Pulsy, stroboskopy, pierścienie.
Energia w pięciu pasmach (sub, bas, środek, góra, powietrze) oraz ogólna głośność i tonalność dźwięku Jasność, kolor, kształt krajobrazu. Zapisywana 50 razy na sekundę.
Sekcje, oznaczone jako intro, zwrotka, narastanie, refren, drop, wyciszenie lub outro, z tonacją, trybem, energią i gęstością Nowy wygląd dla każdej sekcji i jej kolory.
Zdarzenia: dropy, akcenty, narastania i zatrzymania (nagłe cisze) Najważniejsze momenty.
Profil: rodzina gatunkowa (EDM, pop, rock, hip-hop, latino, chill, orkiestrowy) i intensywność Jak mocno gra pokaz i w jakim stylu.

Wszystko mierzy się względem samego utworu. Spokojny utwór akustyczny nadal wykorzystuje pełny zakres świateł, a „drop” w balladzie to jej najmocniejsze wzniesienie. To, jak głośny i perkusyjny jest utwór w wartościach bezwzględnych, trafia do intensywności profilu.

Wynikiem jest partytura: mały dokument JSON zapisywany raz dla każdego utworu. Analizator ma numer wersji, a partytura ze starszej wersji jest tworzona od nowa, gdy następnym razem będzie potrzebna. Część analizy może działać na karcie graficznej NVIDIA; zobacz Akceleracja GPU.

Zegar

Aby odtworzyć pokaz z partytury, przeglądarka nigdy nie słucha dźwięku. Odczytuje pozycję odtwarzacza, wygładza ją i dodaje Twoje Przesunięcie synchronizacji. To jest zegar pokazu.

Każda część pokazu jest wyliczana z tego czasu: „co dzieje się w 1:32.48?”, a nie „co zmieniło się od poprzedniej klatki?”. Ma to widoczne skutki:

  • Przewinięcie trafia dokładnie we właściwy wygląd, do przodu i do tyłu.
  • Pauza zatrzymuje pokaz, przyciemniony, a wznowienie kontynuuje go w tym samym miejscu.
  • Zgubiona klatka nie może rozsynchronizować pokazu. Następna klatka zadaje to samo pytanie od nowa.

Klatka

W każdej klatce partytura jest odczytywana w czasie zegara i powstaje klatka muzyczna: energia każdego pasma w tej chwili, które bębny właśnie zabrzmiały, pozycja w uderzeniu i w takcie, bieżąca sekcja oraz to, jak daleko w niej jest utwór.

Ponieważ partytura obejmuje cały utwór, klatka patrzy też w przyszłość: ile zostało do następnej sekcji i do następnego dropu, jak zaawansowane jest narastanie, czy za chwilę nastąpi cisza. To dzięki temu światła mogą rosnąć podczas narastania i zgasnąć w przerwie tuż przed dropem.

Tryb zastępczy na żywo

Utwór, który nie został jeszcze przeanalizowany, nie ma partytury. Dopóki jej nie ma, Rainy słucha dźwięku w trakcie odtwarzania i szacuje tę samą klatkę w czasie rzeczywistym: energię pasm, uderzenia perkusji i odgadnięty rytm. Nie ma patrzenia w przyszłość, więc pokaz podąża za muzyką, zamiast ją wyprzedzać. Odtwarzacz przełącza się na partyturę, gdy tylko analiza się skończy.

Dyrygent

Dyrygent zamienia klatkę muzyczną w stan pokazu i jest ten sam dla wszystkich środowisk:

  • Intensywność: jak mocno gra pokaz, na podstawie profilu utworu albo Twojego ustawienia Intensywność.
  • Pulsy: stopa, werbel lub hi-hat staje się obwiednią, która gwałtownie rośnie i gaśnie w ułamku sekundy.
  • Frazy: sekcje liczy się we frazach po osiem taktów, aby wygląd mógł się zmieniać w długiej sekcji, ale nie przypadkowo.
  • Paleta: pięć kolorów wynikających z tonacji i trybu sekcji, gatunku utworu i Twojego koloru akcentu. Płynnie przechodzi od palety jednej sekcji do następnej, a przy dropie zmienia się natychmiast.
  • Główny ściemniacz: pełna jasność podczas odtwarzania, niska podczas pauzy, czerń w czasie ciszy i krótkie przygaszenie w ostatnim uderzeniu przed dropem.
  • Ogranicznik błysków: każdy błysk, którego chce środowisko, przechodzi przez dyrygenta, a ten dopuszcza najwyżej trzy pełne błyski na sekundę. Przy włączonej opcji Ogranicz błyski stają się miękkimi pulsami koloru. Ponieważ ograniczenie działa w tym miejscu, obowiązuje w każdym środowisku.

Tekst

Gdy tekst jest na scenie, wspólna oś czasu mówi, co i kiedy jest śpiewane: wersy, początek i koniec każdego słowa, chórki (słowa w nawiasach) oddzielone od głównego wersu oraz przerwy instrumentalne. Czasy słów są dokładne, gdy tekst utworu został przeanalizowany, a wcześniej są szacowane na podstawie długości wersu.

O wyglądzie słów decyduje środowisko. Klasyczne umieszcza je pod okładką z reflektorami śledzącymi; Voyage buduje je w powietrzu nad drogą. Oba podświetlają to samo słowo w tej samej chwili.

Środowisko

Środowisko w każdej klatce otrzymuje stan pokazu i go rysuje. Rainy jest jego gospodarzem:

  • Daje środowisku własną warstwę nad sceną oraz płynnie ją pokazuje i ukrywa.
  • Układa wokół niego odtwarzacz: bez zmian (sceniczne) albo schowany (immersyjne).
  • Przekazuje mu partyturę, tytuł i okładkę utworu, gdy się zmieniają.
  • Usuwa wszystko, co środowisko dodało, gdy schodzi ono ze sceny.
  • Jeśli środowisko zawiedzie, Rainy zdejmuje je ze sceny i kontynuuje w Klasycznym.

Klasyczne jest wbudowane. Każde inne środowisko jest pakietem, wczytywanym dopiero wtedy, gdy ktoś je wybierze. Zobacz Środowiska pokazu świateł.

Płynność

Pokaz mierzy, ile trwają jego klatki, i dostosowuje się na bieżąco:

  • Ma trzy poziomy jakości. Jeśli klatki trwają za długo, schodzi o poziom niżej (niższa rozdzielczość, mniej efektów); gdy znów jest zapas, wraca wyżej.
  • Tryb niskiej wydajności ustawia na stałe najniższy poziom i rysuje 30 klatek na sekundę.
  • Jeśli pokaz przez około dziesięć sekund nadal nie nadąża na najniższym poziomie, jednorazowo proponuje Tryb niskiej wydajności.

Każde środowisko samo określa, co oznacza dla niego poziom jakości: Klasyczne ogranicza mgłę i poświatę, Voyage obniża rozdzielczość i blask.

Powiązane