2012-02-22 25 views
5

Tengo dos archivos .wav que necesito comparar y decidir si contienen las mismas palabras (el mismo orden también).Python Speech Comparar

He estado buscando el mejor método desde hace un tiempo. No puedo entender cómo hacer que pyspeech use un archivo como entrada. Intenté hacer funcionar el proyecto CMU sphinx, pero parece que GStreamer no puede trabajar con Python 27 y mucho menos con su proyecto. También he tenido problemas con DragonFly sin suerte.

Estoy usando Win7 64bit con Python27. ¿Alguien tiene alguna idea?

Cualquier ayuda es muy apreciada.

+0

lo podría hacer en [dsp.se] – Daenyth

Respuesta

4

Puede probar PySpeech. Para obtener más información, ver pyspeech (python) - Transcribe mp3 files?. Nunca he usado esto, pero creo que aprovecha el motor de reconocimiento de voz integrado de Windows. Esto le permitirá convertir los archivos Wav a texto y luego puede hacer una comparación de texto.

Para usar el motor de voz de Windows y usar un archivo wav para la entrada, hay dos requisitos.

  1. Utilice un reconocedor de enproc (SpeechRecognitionEngine). Los reconocedores compartidos no pueden usar archivos Wav como entrada.
  2. En el objeto reconocedor, llame a SetInputToWaveFile para especificar su archivo wav de entrada.

Es posible que deba volver a muestrear los archivos wav porque los motores de reconocimiento de voz solo admiten ciertas frecuencias de muestreo.

  • 8 bits por muestra
  • solo canal mono
  • 22.050 muestras por segundo
  • codificación PCM

funciona bien en Windows. Consulte https://stackoverflow.com/a/6203533/90236 para obtener más información.

Para algunos más antecedentes sobre los motores de voz de Windows, es posible echar un vistazo a SAPI and Windows 7 Problem y What is the difference between System.Speech.Recognition and Microsoft.Speech.Recognition?