Algorytm wykrywania wysokości tonu
Algorytm wykrywania wysokości tonu ( PDA ) to algorytm przeznaczony do szacowania wysokości tonu lub częstotliwości podstawowej sygnału quasi-okresowego lub oscylacyjnego , zwykle cyfrowego zapisu mowy , nuty lub tonu muzycznego. Można to zrobić w dziedzinie czasu , dziedzinie częstotliwości lub obu.
PDA są używane w różnych kontekstach (np. fonetyka , wyszukiwanie informacji muzycznych , kodowanie mowy , systemy odtwarzania muzyki ), dlatego algorytm może mieć różne wymagania. Jest jeszcze [ kiedy? ] nie ma jednego idealnego PDA, więc istnieje wiele algorytmów, z których większość należy do klas podanych poniżej.
PDA zazwyczaj szacuje okres sygnału quasi-okresowego, a następnie odwraca tę wartość, aby uzyskać częstotliwość.
Podejścia ogólne
Prostym podejściem byłoby zmierzenie odległości między punktami przejścia przez zero sygnału (tj. szybkości przejścia przez zero ). Jednak nie działa to dobrze w przypadku skomplikowanych przebiegów , które składają się z wielu fal sinusoidalnych o różnych okresach lub zaszumionych danych. Niemniej jednak istnieją przypadki, w których przejście przez zero może być użyteczną miarą, np. w niektórych aplikacjach mowy, w których zakłada się jedno źródło. [ potrzebne źródło ] Prostota algorytmu sprawia, że jest on „tani” w implementacji.
Bardziej wyrafinowane podejścia porównują segmenty sygnału z innymi segmentami przesuniętymi o okres próbny w celu znalezienia dopasowania. W ten sposób działają AMDF (funkcja różnicy średniej wielkości), ASMDF (funkcja średniej kwadratowej różnicy) i inne podobne algorytmy autokorelacji . Algorytmy te mogą dawać dość dokładne wyniki dla sygnałów o dużej okresowości. Jednak mają problemy z fałszywym wykrywaniem (często „ błędami oktawowymi ”), czasami źle radzą sobie z zaszumionymi sygnałami (w zależności od implementacji) i - w swoich podstawowych implementacjach - nie radzą sobie dobrze z sygnałami polifonicznymi . dźwięki (które obejmują wiele nut muzycznych o różnych wysokościach). [ potrzebne źródło ]
Obecny [ kiedy? ] Algorytmy detektora wysokości tonu w dziedzinie czasu zwykle opierają się na podstawowych metodach wspomnianych powyżej, z dodatkowymi udoskonaleniami, aby bardziej dostosować wydajność do ludzkiej oceny wysokości tonu. Na przykład algorytm YIN i algorytm MPM są oparte na autokorelacji .
Podejścia w dziedzinie częstotliwości
W domenie częstotliwości możliwe jest wykrywanie polifoniczne, zwykle z wykorzystaniem periodogramu do konwersji sygnału na oszacowanie widma częstotliwości . Wymaga to większej mocy obliczeniowej wraz ze wzrostem pożądanej dokładności, chociaż dobrze znana wydajność FFT , kluczowej części algorytmu periodogramu, sprawia, że jest ona odpowiednio wydajna do wielu celów.
Popularne algorytmy w dziedzinie częstotliwości obejmują: widmo iloczynu harmonicznego; analiza cepstralna i maksymalne prawdopodobieństwo , która próbuje dopasować charakterystykę dziedziny częstotliwości do wcześniej zdefiniowanych map częstotliwości (przydatne do wykrywania wysokości tonu instrumentów o stałym strojeniu); oraz wykrywanie pików dzięki szeregom harmonicznym.
Aby poprawić oszacowanie tonu uzyskane z dyskretnego widma Fouriera, można zastosować techniki takie jak ponowne przypisanie widma (oparte na fazie) lub interpolacja Grandke'a (oparte na wielkości), aby wyjść poza precyzję zapewnianą przez pojemniki FFT. Inne podejście fazowe zaproponowali Brown i Puckette
Podejścia spektralne/czasowe
Algorytmy wykrywania widmowej/czasowej wysokości tonu, np. algorytm śledzenia wysokości tonu YAAPT, są oparte na połączeniu przetwarzania w dziedzinie czasu z wykorzystaniem funkcji autokorelacji, takiej jak znormalizowana korelacja krzyżowa, oraz przetwarzania w dziedzinie częstotliwości z wykorzystaniem informacji widmowych do identyfikacji wysokości tonu. Następnie spośród kandydatów oszacowanych z dwóch domen można obliczyć ostateczną ścieżkę tonu przy użyciu programowania dynamicznego . Zaletą tych podejść jest to, że błąd śledzenia w jednej domenie może zostać zmniejszony przez proces w drugiej domenie.
Wykrywanie tonu mowy
Podstawowa częstotliwość mowy może wahać się od 40 Hz dla głosów niskich do 600 Hz dla głosów wysokich.
Metody autokorelacji wymagają co najmniej dwóch okresów tonu, aby wykryć ton. Oznacza to, że aby wykryć częstotliwość podstawową 40 Hz, należy przeanalizować co najmniej 50 milisekund (ms) sygnału mowy. Jednak w ciągu 50 ms mowa o wyższych częstotliwościach podstawowych niekoniecznie musi mieć tę samą częstotliwość podstawową w całym oknie.
Zobacz też
- Automatyczne strojenie
- Wykrywanie uderzeń
- Oszacowanie częstotliwości
- Liniowe kodowanie predykcyjne
- MUZYKA (algorytm)
- Model sinusoidalny