🎼 Muzyka spektralna — alikwoty i synteza barwy
Komponuj z szeregu harmonicznego: dodawaj składowe w całkowitych wielokrotnościach tonu podstawowego, kształtuj amplitudy i wybrzmienia, a przebieg i spektrogram odświeżą się w czasie rzeczywistym.
O tej symulacji
Ten symulator buduje tony muzyczne tak, jak robi to synteza addytywna: sumuje do 12 sinusoidalnych składowych, każdą przy całkowitej wielokrotności k tonu podstawowego f₀ (55–880 Hz), z własną amplitudą i wykładniczym tempem wybrzmiewania. Web Audio API generuje każdą składową przez parę OscillatorNode i GainNode, a AnalyserNode wykonuje w czasie rzeczywistym FFT, zasilając kaskadowy spektrogram pod oscyloskopem.
🔬 Co pokazuje
Oscyloskop śledzi w czasie rzeczywistym połączony przebieg y(t) = ΣAₖ·sin(2π·k·f₀·t+φₖ)·e^(−dₖ·t), podczas gdy spektrogram kaskadowy pod nim wykreśla częstotliwość względem czasu, gdzie jasność oznacza amplitudę — ujawniając dokładnie, które harmoniczne przetrwają w miarę zanikania.
🎮 Jak korzystać
Przeciągnij suwak f₀ (55–880 Hz), by zmienić wysokość dźwięku, ustaw Master Volume (0–100%) i powiększenie oscyloskopu (0,5×–4×), następnie dostrój każdy z 12 rzędów harmonicznych własnym suwakiem Amp (0–1) i Decay (0–8), włącz lub wyłącz składowe albo przejdź od razu do ustawienia Sine, Sawtooth, Square, Piano, Clarinet lub Bell.
💡 Czy wiesz, że?
Kompozytor Jean-Claude Risset użył syntezy addytywnej w latach 60. XX wieku, by pokazać, że alikwoty prawdziwego fortepianu są nieco wyższe od idealnych całkowitych wielokrotności — ta „nieharmoniczność” jest częścią tego, co sprawia, że fortepian brzmi jak fortepian, a nie wyidealizowany ton harmoniczny.
Najczęściej zadawane pytania
Czym jest synteza addytywna?
To metoda budowania złożonego dźwięku przez sumowanie prostych fal sinusoidalnych (składowych) o różnych częstotliwościach, amplitudach i tempach wybrzmiewania, zamiast filtrowania lub próbkowania nagranego wcześniej tonu.
Co dokładnie sterują suwaki Amp i Decay każdej harmonicznej?
Amp ustala początkową amplitudę danej składowej, Aₖ, od 0 do 1. Decay ustala dₖ w obwiedni wykładniczej e^(−dₖ·t): wyższe wartości sprawiają, że wzmocnienie tej składowej zanika szybciej po rozpoczęciu dźwięku, podczas gdy zero utrzymuje ją w sposób ciągły.
Dlaczego przesunięcie suwaka f₀ zmienia wszystkie harmoniczne naraz?
Częstotliwość każdej składowej jest zdefiniowana jako k·f₀, więc skalowanie tonu podstawowego skaluje wszystkie 12 składowych o ten sam czynnik. Ich stosunki częstotliwości — a więc barwa — pozostają stałe, ale cały ton przesuwa się w górę lub w dół wysokości.
Jak działają gotowe ustawienia Sawtooth i Square?
Sawtooth ustala amplitudę każdej harmonicznej na 1/k. Square robi to samo, ale zachowuje tylko harmoniczne nieparzyste (k = 1, 3, 5…), wyciszając parzyste. Obydwa są klasycznymi podręcznikowymi przykładami syntezy addytywnej dającej konkretny kształt przebiegu.
Skąd pochodzą dane spektrogramu kaskadowego?
Odczytuje dane częstotliwości bajtowej z Web Audio AnalyserNode, który wykonuje szybką transformatę Fouriera na żywym wyjściu audio mniej więcej co 50 milisekund, zamieniając sygnał w dziedzinie czasu na przewijany wyświetlacz częstotliwość-czas.