2012-02-22 6 views
5

Mam dwa pliki .wav, które muszę porównać i zdecydować, czy zawierają te same słowa (ta sama kolejność też).Mowa Pythona Porównaj

Od jakiegoś czasu szukam najlepszej metody. Nie mogę wymyślić, jak używać pyspeech jako pliku wejściowego. Próbowałem uruchomić projekt sfinksa CMU, ale nie mogę sprawić, że GStreamer będzie pracował z Pythonem 27, nie mówiąc o projekcie. Zaskoczyłem też DragonFly bez powodzenia.

Używam Win7 64bit z Python27. Czy ktoś ma jakieś pomysły?

Każda pomoc jest bardzo doceniana.

+0

Możecie zajrzeć na [dsp.se] – Daenyth

Odpowiedz

4

Możesz spróbować PySpeech. Aby uzyskać więcej informacji, patrz pyspeech (python) - Transcribe mp3 files?. Nigdy tego nie używałem, ale uważam, że wykorzystuje wbudowany mechanizm rozpoznawania mowy w systemie Windows. Umożliwi to konwersję plików Wav na tekst, a następnie dokonanie porównania tekstu.

Aby użyć mechanizmu mowy Windows i użyć pliku wav do wprowadzania danych, istnieją dwa wymagania.

  1. Użyj narzędzia rozpoznawania inproc (SpeechRecognitionEngine). Wspólne urządzenia rozpoznające nie mogą wykorzystywać plików Wav jako danych wejściowych.
  2. W obiekcie rozpoznawania wywołaj SetInputToWaveFile, aby określić wejściowy plik wav.

Może być konieczne ponowne próbkowanie plików wav, ponieważ silniki rozpoznające mowę obsługują tylko niektóre częstotliwości próbkowania.

  • 8 bitów na próbkę
  • pojedynczego kanału monofonicznego
  • 22050 próbek na sekundę
  • kodowania PCM

działa dobrze w systemie Windows. Zobacz https://stackoverflow.com/a/6203533/90236, aby uzyskać więcej informacji.

na trochę więcej tła na silnikach okna mowy, można spojrzeć na SAPI and Windows 7 Problem i What is the difference between System.Speech.Recognition and Microsoft.Speech.Recognition?