Szukając odpowiedzi na ten problem, znalazłem tę tablicę, więc postanowiłem opublikować moje pytanie z przepełnienia stosu.
Poszukuję metody określania podobieństwa między segmentem audio a głosem ludzkim, który jest wyrażany liczbowo.
Sporo szukałem, ale to, co do tej pory znalazłem (szczegółowo poniżej), nie pasuje do tego, czego potrzebuję:
Jedną z metod jest użycie oprogramowania do rozpoznawania mowy w celu uzyskania słów z segmentu audio. Jednak ta metoda nie jest w stanie wymyślić, jak „podobny” jest dźwięk do ludzkiej mowy; często może powiedzieć, czy w audio są słowa, ale jeśli nie ma określonych słów, nie może powiedzieć, że audio ma takie słowa.
Przykłady: CMU Sphinx , Dragonfly , SHoUTBardziej obiecująca metoda nazywana jest wykrywaniem aktywności głosowej (VAD). Ma to jednak zwykle takie same problemy: algorytmy / programy wykorzystujące VAD zwracają zwykle informację, czy próg aktywności został osiągnięty, i nie ma wartości „podobieństwa” przed lub po takim progu. Alternatywnie wielu szuka po prostu objętości, a nie podobieństwa do ludzkiej mowy.
Przykłady: Speex , Listener , FreeSWITCH
Jakieś pomysły?
źródło
Odpowiedzi:
Tego rodzaju problem zazwyczaj rozwiązuje się za pomocą technik uczenia maszynowego.
Podziel sygnał na sekwencję ramek 20ms lub 50ms. Wyodrębnij funkcje z każdej ramki. MFCC są na ogół dobre dla tego rodzaju aplikacji, chociaż istnieją funkcje bardziej specyficzne dla wykrywania głosu (energia modulacji 4 Hz - czyli mniej więcej szybkość mówienia; szybkość przekraczania zera).
Następnie, używając zestawu szkoleniowego audio, który ręcznie oznaczyłeś jako mowę / nie mowę, wytrenuj klasyfikator (modele mieszanki Gaussa, SVM ...) na temat funkcji ramek.
Umożliwi to klasyfikację nieoznakowanych ramek w klasy mowy / niemowy. Ostatni krok polega na wygładzeniu decyzji (ramka sklasyfikowana jako niemowa otoczona setkami ramek mowy prawdopodobnie będzie błędem klasyfikacji), na przykład przy użyciu HMM lub po prostu filtra mediany.
Kilka referencji:
Solidna klasyfikacja mowy / muzyki w dokumentach audio (Pinquier i in.) Dyskryminacja mowy / muzyki w aplikacjach multimedialnych (El-Maleh i in.) Porównanie funkcji dyskryminacji mowy / muzyki (Carey i in.)
Zauważ, że opisywane przez nich cechy i techniki klasyfikacji są również istotne dla 1-klasowego problemu wykrywania mowy (zamiast dyskryminacji mowy w porównaniu z czymś innym). W takim przypadku możesz użyć technik modelowania klasy 1, takich jak SVM klasy 1, lub po prostu wziąć wynik prawdopodobieństwa z GMM wyszkolonego na danych mowy jako miarę „mowy”.
Jeśli, z drugiej strony, twoim problemem jest naprawdę rozróżnianie mowy od czegoś innego (powiedzmy muzyki), możesz również bardzo dobrze zastosować podejście bez nadzoru, które koncentruje się na wykrywaniu granic między podobną treścią audio, a nie na identyfikowaniu samej treści.
źródło