[c]jak zmierzyc amplitude sygnalu audio?

0

witam. pisze aplikacje do serwera JACK, linuxiarze wiedza co to;). mam teraz taki problem - potrzebuje w czasie rzeczywistym mierzyc amplitude sygnalu. myslalem zrobic to tak - zmierze maximum sygnalu z ramki i bedzie. ale tutaj jest problem. ludzkie ucho slyszy do 20kHz, wiec probki beda raczej mniejsze od jednego okresu fali. co za tym idzie - maksimum ramki nie musi byc amplituda, moze byc wartoscia mniejsza. prosze, pomozcie;).

0

"usredniaj", nie bierz maksimum z jednej ramki ale np. z ostatnich 30, a najlepiej dobierac ilosc dynamicznie wzgledem zmiennosci sygnalu. poza tym jesli chcesz badac sygnaly do 20khz a masz probkowanie ponizej 40khz, to i tak nigdy nie bedziesz mial dokladnych informacji..

btw. co miales na mysli mowiac "ludzkie ucho slyszy do 20kHz, wiec probki beda raczej mniejsze od jednego okresu fali." ? w pojedynczej ramce masz mniej niz 0.05ms 'nagrania'..? tyle trwa jeden okres 20khztow. zakladajac 200hz jako dolna granice slyszalnosci, wycodzi 5ms, no to to juz by predzej Ci sie moglo w ramce nie zmiescic:)

0

usredniaj", nie bierz maksimum z jednej ramki ale np. z ostatnich 30

Uśredniać nie może jeżeli mierzy wartości szczytowe (peak), no chyba, że chodzi mu o wartość RMS.

janiektoinny: Nie wiem czy o to Ci chodzi, ale wartości szczytowe z ramek przepuszczasz przez specyficzny filtr dolnoprzepustowy (szybki czas narastania zbocza, wolny opadania).

0

czytaj ze zrozumieniem. nie napisalem usredniaj, tylko "usredniaj", jako zobrazowanie typu rozwiazania, a pare slow dalej wyjasnilem o co chodzilo. sprawdzajac maksimum w pojedynczych ramkach, mialby najszybsza odpowiedz co do aktualnego poziomu sygnalu, jednak byly by to bardzo szybkie i ostre zmiany. z tego co autor pisal, odnioslem wrazenie ze raczej potrzebuje stabilnej ogolnej wartosci, wiec "usrednianie maksima" (wartosc=max(paczka-teraz, paczka-1,paczka-2, ... paczka-n-wczesniej)) pasuje jak ulal. wlasciwie, no moze rzeczywiscie nie 'usrednianie' a 'bezwladnosc' byla by lepszym terminem

1 użytkowników online, w tym zalogowanych: 0, gości: 1