Jeśli ktoś ma złożony układ ESP + ADC + DAC według opisu z postu #1 może wypróbować analizator widma dźwięku.
Jest to popularny gadżet wizualny w sprzęcie audio, odtwarzaczach muzycznych itd. W tym przypadku nie jest ważny sam efekt,
ale sposób jego działania, o czym za chwilę napiszę więcej. Będzie to nawiązanie do wcześniejszego opisu transformacji FFT.
Najpierw kilka podstawowych rzeczy jakich nauczyłem się do tej pory i przedstawiłem je na powyższym obrazku.
Sample rate to częstotliwość próbkowania sygnału wejściowego, a więc jak szybko pobierane są próbki na wejściu.
Samples to ilość próbek jakie zostają pobrane, sample bit to głębia bitowa - mówi o dokładności albo rozdzielczości
z jaką można wyrazić pojedynczą próbkę. Można to przyrównać do palety kolorów, więcej bitów to więcej szczegółów.
Strefa Nyquista określa maksymalną częstotliwość próbkowanego sygnału jaki może być odtworzony bez aliasingu.
Częstotliwość próbkowania powinna być co najmniej dwa razy większa od częstotliwości poddanej dalszej obróbce.
Dla próbkowania z prędkością 44,1kHz strefa Nyquista kończy się na 22,05kHz czyli zawsze jest to pierwsza połowa.
Próbkowanie 48kHz pozwoli uzyskać sygnał użyteczny w zakresie do 24kHz, żeby otrzymać 48kHz trzeba próbkować 96kHz.
Zjawisko aliasingu przedstawia poniższy obrazek. Kiedy prędkość próbkowania nie jest co najmniej dwukrotnie większa
wtedy następuje fałszywa interpretacja sygnału o niższej częstotliwości jako zakłócenie niemożliwe do usunięcia.
Teraz mogę napisać, że efekt wizualny analizatora widma dźwięku pracuje z próbkowaniem 44,1kHz.
Ta informacja od razu wskazuje na fakt, że słupki nigdy nie pokażą więcej niż 22,05kHz.
Wyjaśnienia wymaga jeszcze rozdzielczość jednego słupka. Kolejnym ważnym parametrem jest ilość próbek
jaka zostaje poddana transformacji FFT. W omawianym programie użyłem 1024 próbki,
zatem rozdzielczość jednego słupka wynosi 44100 (Hz) / 1024 ≈ 43Hz (pojedynczy bin).
Wynikami FFT są biny, które można byłoby kolejno wyświetlać na ekranie, ale w praktyce robi się inaczej.
Ludzki słuch nie ma liniowej rozdzielczości częstotliwości dźwięków, w związku z tym słupki reprezentujące biny
powinny mieć rozkład logarytmiczny. Najlepszym na to sposobem są tzw. kosze binów.
Prezentowany analizator widma dźwięku posiada 16 słupków, więc zostało użytych 16 koszy z binami.
Pierwszy koszyk posiada tylko jeden bin, następny dwa biny, kolejne coraz więcej kończąc na blisko 10kHz.
Uznałem, że powyżej tej częstotliwości nie ma już istotnych szczegółów muzycznych wartych wyświetlania.
Dodatkowo dla zwiększenia atrakcyjności wizualizacji dodałem odlatujące w górę niewielkie bloczki.
UWAGA : W celu zachowania czytelności wątku i możliwości wygodnej aktualizacji wpisów,
bardzo proszę wszystkich o ewentualne dyskusje w przygotowanym do tego miejscu.
Wpisy tutaj będą tworzyły osoby zaangażowane w projekt, przedstawiając bieżące postępy z prac.
Link do dyskusji
>>> tutaj <<<