04 - Zvuk & FFT
Frekvenčná analýza
Last updated
Frekvenčná analýza
Last updated
Zvuk je fenomén, ktorý vnímame ako vibrácie vzduchu alebo iných médií. V digitálnej podobe však môžeme zvuk uložiť ako množinu vzoriek (samples), čo nám umožňuje s ním programovo pracovať. Základnými vlastnosťami zvuku sú frekvencia (koľkokrát sa vlna opakuje za sekundu) a amplitúda (intenzita zvuku). Tieto vlastnosti môžeme digitálne manipulovať a analyzovať.
V tejto lekcii sa naučíme, ako pracovať so zvukom v p5.js prostredníctvom knižnice p5.sound. Táto knižnica nám umožní načítať zvukové súbory, prehrávať ich, meniť ich vlastnosti a vytvárať zvukové efekty. Zároveň si ukážeme, ako môžeme tieto zvuky vizualizovať a prepojiť ich s interaktívnymi prvkami.
Knižnica p5.sound nám poskytuje jednoduché nástroje na manipuláciu so zvukom v našich projektoch. Prvý krok je naučiť sa, ako načítať a prehrávať zvukové súbory. Na to použijeme funkciu loadSound()
, ktorú zavoláme v metóde preload()
, aby sme sa uistili, že zvuk bude pripravený predtým, než spustíme náš program.
Kam umiestniť sound.play()
?
Soundfile:
FFT (Fast Fourier Transform) je matematický nástroj, ktorý dokáže rozložiť zložitý signál, napríklad zvuk, na jednotlivé frekvencie, ktoré ho tvoria. V kontexte analýzy a vizualizácie zvuku pre študentov výtvarného a digitálneho umenia môže FFT slúžiť na pochopenie toho, ako zvuk pozostáva z rôznych tónov a harmonických prvkov.
Ako to funguje:
Zvuk ako vlna: Každý zvuk, ktorý počujeme, je tvorený vlnami. Tieto vlny majú rôznu frekvenciu (koľkokrát za sekundu sa vlna opakuje) a amplitúdu (silnú alebo slabú intenzitu).
Rozklad zvuku: FFT rozkladá túto komplexnú vlnu na základné frekvencie. Predstav si to, ako keby si sa pozeral na jeden akord zahraný na klavíri. FFT ti povie, aké jednotlivé tóny v tomto akorde sú, a koľko z každej frekvencie obsahuje.
Vizualizácia: Výsledky FFT môžeme zobraziť ako spektrogram, čo je graf, kde os X predstavuje čas, os Y frekvencie, a farba alebo intenzita ukazuje, aké silné sú jednotlivé frekvencie v danom momente.