Robię pewne badania na temat porównywania plików dźwiękowych (wave). Zasadniczo chcę porównać przechowywane pliki dźwiękowe (wav) z dźwiękiem z mikrofonu. W związku z tym chciałbym wstępnie zapisać niektóre własne komendy głosowe, a kiedy używam mojej aplikacji, chciałbym porównać wstępnie zapisane pliki z danymi wejściowymi z mikrofonu.Co zawiera ramka audio?
Moja myśl polegała na tym, żeby w pewnym stopniu porównywać, ponieważ mówienie czegoś dwa razy z rzędu w ten sam sposób byłoby trudne, jak sądzę.
Po pewnym czasie googlowania widzę, że pyton ma moduł o nazwie wave i obiekt Wave_read. Że obiekt posiada funkcję o nazwie readframes (N):
czyta i powraca co najwyżej n ramek dźwięku jako ciąg bajtów.
Co zawierają te bajty? Myślałem o zapętleniu się plików wave'owych po jednej klatce, porównując je klatka po klatce.
Bajty zawierają dane PCM. Czy próbujesz wykonać rozpoznawanie głosu? Wygląda na to, że jesteś w drodze nad głową. Powinieneś zbadać ten temat. – JoshD
Ach, do cholery :) Dzięki za odpowiedzi. Można to nazwać rozpoznawaniem głosu, ale sposób, w jaki myślałem o tym, to proste porównywanie plików, które byłoby znacznie prostsze. W moim przypadku byłoby to tylko kwestią wykonania tego samego dźwięku, nie analizowania i próbowania interpretowania słów. – Jason94
To wciąż rozpoznawanie głosu. Nawet niewielka fleksja lub różnica prędkości w twoim głosie będzie dawała dziko różne dane audio, więc nie możesz po prostu porównać klatka po klatce. – Soviut