Autor Wątek: Biblioteki do analizy dźwięku (częstotliwość itp. w danym czasie)  (Przeczytany 2338 razy)

Offline Trix

  • Użytkownik

# Wrzesień 11, 2013, 20:54:26
Poszukuję biblioteki i krótko wytłumaczonego sposobu na analizę dźwięku w czasie rzeczywistym i przeszłym (gotowy plik mp3 lub inny).
Zależy mi w szczególności na określenie częstotliwości dźwięku i innych wartości oraz samo odbieranie tego dźwięku.

Nigdy nie bawiłem się dźwiękiem, więc nie wiem jak to ugryźć, a muszę zaprogramować program na wykłady fizyczne ^^

Mam czas około 7 dni ;>

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline Karol

  • Użytkownik

# Wrzesień 11, 2013, 21:28:09
Pogooglaj za FFT i obczaj jakąś libkę co robi to bez trudu jak np. BASS czy FMod.

Offline Witek9002

  • Użytkownik

# Wrzesień 11, 2013, 21:33:00
Trochę sprecyzuj. Co to znaczy "określenie częstotliwości dźwięku"? Co do otwierania plików mp3 to albo możesz użyć low-levelowj biblioteki np. libmad (nie polecam), albo użyć czegoś na wyższym poziomie - fmod, BASS (polecam tą ostatnią: załadowanie pliku i wyciągnięcie strumienia sampli to kilkanaście linijek kodu, przy okazji masz za darmo FFT).

Offline Reg

  • Administrator
    • Adam Sawicki - Home Page

# Wrzesień 12, 2013, 21:19:24
Nie wiem, czy są jakieś biblioteki typowo do tego celu. Może są. Natomiast ja tutaj widzę dwa inne rozwiązania.

Biblioteki do odtwarzania i przetwarzania dźwięku mogą mieć już wbudowane funkcje do analizy spektrum. Np. FMOD ma funkcję Channel::getSpectrum.

Druga opcja to pobierać z biblioteki odtwarzającej dźwięk, czy odczytującej dany format pliku dźwiękowego, surowe dane i podawać je do algorytmu FFT. Taki algorytm można napisać samemu albo wykorzystać jedną z bibliotek do tego celu, już wcale nie związaną wyłącznie z analizą dźwięku.

Ja kiedyś napisałem coś w tym rodzaju i swoje doświadczenia opisałem tu:
http://www.asawicki.info/news_1385_music_analysis_-_spectrogram.html
Użyłem bibliotek FMOD i FFTW.