/ / dopasowywanie wzorca audio w matlab - matlab, spectrogram

dopasowywanie wzorców audio w matlab - matlab, spektrogram

Czy ktoś może mi dać pomysł na ten problem w matlab,

Mam 4.pliki wav zawierające ćwierkanie ptaków. Każdy plik .wav reprezentuje innego ptaka. Biorąc pod uwagę wejściowy plik .wav, muszę zdecydować, który to ptak. Wiem, że muszę dokonać porównania widma częstotliwości, aby dostać się do rozwiązania. ale nie wiem, jak powinienem używać spektrogramu, aby pomóc mi tam dotrzeć.

P.S. Wiem, jak działa spektrogram i mimo to wykreśliłem sporo plików .wav

Odpowiedzi:

1 dla odpowiedzi № 1

Istnieje kilka metod rozwiązywania problemów z patterami, takich jak ten, o którym mówisz.

Możesz użyć analizy częstotliwości jak FFT z funkcją matlab
S = SPECTROGRAM(X,WINDOW,NOVERLAP)

W SPECTROGRAM musisz zdefiniować okno czasowe sygnału do analizy w zmiennej WINDOW. Możesz użyć prostokątnego okna (przykład WINDOW = [1 1 1 1 1 1 1 ... 1]) z liczbą wartości równą pożądanej długości. Jest wiele okien do użycia: hanning, hamming, blackman. Powinieneś użyć tego, który jest lepszy dla twojego problemu. The NOVERLAP to liczba punktów, które poruszają się okna w jednym kroku.

Poza tym podejściem transformacja falkowa jest również dobrą techniką do rozwiązania problemu. Matlab ma również dobry zestaw narzędzi do stosowania dyskretnych i ciągłych falek.


1 dla odpowiedzi nr 2

Możesz spróbować rozwiązać problem za pomocą Deep Belief Networks

Oto kilka artykułów, które mogą być pomocne:

Podsumowując pomysł, zamiast ręcznie dostroić funkcje, użyj KMS lub Autoencoder aby wyodrębnić cechy (bazy) reprezentujące obserwowane próbki audio, a następnie uruchomić algorytm uczenia się.

Aby szkolić DBN, będziesz potrzebował więcej niż 4 próbek audio, ale warto spróbować, ponieważ podejście to dawało obiecujące wyniki w przeszłości.

To tuturial może być również pomocny.


0 dla odpowiedzi № 3

może to być skomplikowany problem. Jako punkt wyjściowy radzę podzielić każdy rekord na pewną stałą długość klatek, np. 20 ms z 10 ms nakładaniem się, a następnie wyodrębnić fft tych ramek i uzyskać pewien maksymalny freq energii. wartości dla każdej ramki. W ostatnim kroku porównaj częstotliwości ramek ze sobą i określ wynik, wybierając maksymalną korelację