Pregunta

Yo sólo quiero saber si hay alguna acumulación en las bibliotecas o librerías externas en Java o C # que me permiten tomar un archivo de audio y analizarlo y extraer el texto de la misma.

Necesito hacer una solicitud para hacerlo, pero no sé de donde puedo empezar.

¿Fue útil?

Otros consejos

Aquí está un ejemplo completo utilizando C # y System.Speech

El código puede ser dividido en 2 partes principales:

Configuración del objeto SpeechRecognitionEngine (y sus elementos requeridos) el manejo de la SpeechRecognized y eventos SpeechHypothesized.

Paso 1: Configuración de la SpeechRecognitionEngine

_speechRecognitionEngine = new SpeechRecognitionEngine();
_speechRecognitionEngine.SetInputToDefaultAudioDevice();
_dictationGrammar = new DictationGrammar();
_speechRecognitionEngine.LoadGrammar(_dictationGrammar);
_speechRecognitionEngine.RecognizeAsync(RecognizeMode.Multiple);

En este punto, el objeto está listo para iniciar la transcripción de audio desde el micrófono. Es necesario para manejar algunos eventos sin embargo, con el fin de conseguir realmente el acceso a los resultados.

Paso 2: Manejo de los SpeechRecognitionEngine Eventos

_speechRecognitionEngine.SpeechRecognized - = new EventHandler (SpeechRecognized); _speechRecognitionEngine.SpeechHypothesized - = new EventHandler (SpeechHypothesizing);

_speechRecognitionEngine.SpeechRecognized + = new EventHandler (SpeechRecognized); _speechRecognitionEngine.SpeechHypothesized + = new EventHandler (SpeechHypothesizing);

SpeechHypothesizing private void (object sender, SpeechHypothesizedEventArgs e) { /// resultados en tiempo real de motor realTimeResults cadena = e.Result.Text; }

vacío SpeechRecognized (remitente del objeto privada, SpeechRecognizedEventArgs e) { /// respuesta final de la cadena del motor finalAnswer = e.Result.Text; }

Eso es todo. Si desea utilizar un archivo .wav pregrabado en lugar de un micrófono, se usaría

_speechRecognitionEngine.SetInputToWaveFile (pathToTargetWavFile);

en lugar de

_speechRecognitionEngine.SetInputToDefaultAudioDevice ();

Hay un montón de diferentes opciones en estas clases y que vale la pena explorar con más detalle.

http://ellismis.com/2012/03/17/converting-or-transcribing-audio-to-text-using-c-and-net-system-speech/

Microsoft Speech API . Creo que proporcionan un SDK que se puede utilizar para su objetivo.

Para Java, parece que hay una solución de sol: javax.speech.recognition

Se puede utilizar SoX (la navaja suiza de los programas de procesamiento de sonido) para convertir archivos de audio a un archivo de texto con los valores numéricos correspondientes al sonido de frecuencia / volumen.

lo he hecho para un proyecto anterior, pero no saben exactamente las opciones de comando.

Aquí hay un enlace al proyecto: http://sox.sourceforge.net/Main/HomePage

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top