¿Alguien puede recomendar un software confiable de código abierto para transcribir el habla inglesa en archivos wav? Los dos programas principales que he investigado son Sphinx y Julius, pero nunca he podido trabajar, y la documentación con cada uno sobre la transcripción de archivos es incompleta en el mejor de los casos.Software de código abierto para transcribir voz en archivos de audio
Estoy desarrollando en Ubuntu 10.04 de 64 bits, cuyas reposiciones incluyen sphinx2 y julius, así como también el modo acústico julius de voxforge para inglés. Me estoy centrando en la transcripción de archivos, en lugar de procesar directamente el sonido de un micrófono, porque he dejado de esperar que proyectos como estos funcionen con el sistema de sonido de Ubuntu. Esto no es un golpe en contra de Ubuntu, ya que puedo grabar sonido con mi micrófono perfectamente utilizando Audacity, pero ninguno de los sistemas parece tener acceso a mi micrófono, así que espero que pueda simplemente su configuración simplemente leyendo desde un archivo.
Primero probé Sphinx2, del paquete Ubuntu sphinx2-bin. Aunque la muestra sphinx2-demo parecía funcionar en la transcripción de un archivo, prácticamente no hay documentación sobre la configuración, por lo que no estoy seguro de cómo personalizaría esto para leer desde un archivo arbitrario. El archivo de audio utilizado en la demostración está en algún formato "16k" no documentado, al que se hace referencia indirectamente a través de 2 archivos de configuración. Hay una breve reseña que describe a sphinx2-demo como ejecutar sphinx2-batch, pero al inspeccionar el script se muestra que realmente está llamando a sphinx2-continuous. Peor aún, los --help docs para cada script listan alrededor de 6 docenas de opciones, y no menciona cuáles son requeridas u opcionales. En general, la falta de documentación sobre la esfinge y la mala calidad de la documentación existente me están volviendo loco.
Probé Julius, nuevamente desde el paquete Ubuntu, que fue sorprendentemente reciente (4.1), considerando que la versión utilizada en el inicio rápido de Voxforge es 3.5. El paquete parece incluir documentación un poco mejor, e incluso un ejemplo escrito en Python (/ usr/share/doc/julius-voxforge/examples/controlapp). Después de leer los documentos del ejemplo, intenté adaptarlo para leer desde un archivo creando un archivo filelist.txt
que contenía el texto "hello.wav", que hace referencia a un archivo del mismo nombre, que contiene una grabación de alguien que dice "hola". La colocación de estos en el mismo directorio, me encontré:
julius -input file -filelist filelist.txt -C julian.jconf
obtener la respuesta:
### read waveform input
Error: adin_file: sampling rate != 16000 (8000)
Error: adin_file: error in parsing wav header at hello.wav
Error: adin_file: failed to read speech data: "hello.wav"
0 files processed
Reintentando especificando los nombres de archivo absolutos para filelist.txt y hola.wav producir el mismo error.
También probé la llamada Julius utilizado en el ejemplo, para grabar directamente desde un micrófono:
julius -input mic -C julian.jconf
me llamaron esto varias veces, y la respuesta varió entre el error:
Cannot read /dev/dsp
y:
STAT: AD-in thread created
<<< please speak >>>
En el último caso, no importa lo que diga en el micrófono, no pasa nada. No puedo decir si aún no puedo leer el micrófono, o si está leyendo algo, pero simplemente no puedo transcribir el audio.
No estoy seguro de qué hacer con esto. Los errores que estoy recibiendo no me dejan con mucho para seguir. ¿Por qué no puede leer un wav? ¿Por qué no puede leer/dev/dsp? ¿Por qué parece que es capaz de leer/dev/dsp, pero no reacciona de ninguna manera?
¿Alguien más ha tenido éxito con reconocedores de voz de fuente abierta, especialmente en Linux?
¿Dónde encontró un paquete de Ubuntu para pocketsphinx 0.7? El repo de 10.04 solo tiene 0.5, que es muy defectuoso y no tiene un parámetro de infile. Solo pude encontrar versiones tan altas como 0.6 a través de Google. – Cerin
Nota, incluso cuando se remuestrea a la velocidad correcta, Julius se queja de bytes por segundo! = 32000. ¿No es la frecuencia de muestreo lo mismo que bytes por segundo? – Cerin
> frecuencia de muestreo lo mismo que bytes por segundo? Ningún archivo debe ser mono (un solo canal también). –