Discurso a texto en Android

Estoy buscando para crear una aplicación que tiene el discurso al texto.

Soy consciente de este tipo de capacidad usando el RecognizerIntent: http://android-developers.blogspot.com/search/label/Speech%20Input

Sin embargo – no quiero una nueva intención de ser aparecido, quiero hacer el análisis de algunos puntos en mi aplicación actual, y no quiero que algo pop que indica que actualmente está tratando de grabar su voz.

¿Alguien tiene alguna idea sobre la mejor manera de hacer esto. Tal vez estaba pensando en intentar Sphinx 4 – pero no sé si esto sería capaz de ejecutar en Android – ¿alguien tiene algún consejo o experiencia ?!

Me preguntaba si podría alterar el código aquí a quizás no molesto para demostrar la UI o el botón y apenas hacer el proceso: http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/ Apis / app / VoiceRecognition.html

Aclamaciones,

Si no desea usar RecognizerIntent para hacer reconocimiento de voz, podría utilizar la clase SpeechRecognizer para hacerlo. Sin embargo, usar esa clase es un poco más complicado que usar la intención. Como nota final, sugeriría que el usuario sepa cuándo está grabado, de lo contrario podría estar muy preparado, cuando finalmente se entere.

Editar: Un pequeño ejemplo inspirado (pero cambiado) de esta entrada de desbordamiento de pila

  Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); intent.putExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE, "com.domain.app"); SpeechRecognizer recognizer = SpeechRecognizer .createSpeechRecognizer(this.getApplicationContext()); RecognitionListener listener = new RecognitionListener() { @Override public void onResults(Bundle results) { ArrayList<String> voiceResults = results .getStringArrayList(SpeechRecognizer.RESULTS_RECOGNITION); if (voiceResults == null) { Log.e(TAG, "No voice results"); } else { Log.d(TAG, "Printing matches: "); for (String match : voiceResults) { Log.d(TAG, match); } } } @Override public void onReadyForSpeech(Bundle params) { Log.d(TAG, "Ready for speech"); } @Override public void onError(int error) { Log.d(TAG, "Error listening for speech: " + error); } @Override public void onBeginningOfSpeech() { Log.d(TAG, "Speech starting"); } @Override public void onBufferReceived(byte[] buffer) { // TODO Auto-generated method stub } @Override public void onEndOfSpeech() { // TODO Auto-generated method stub } @Override public void onEvent(int eventType, Bundle params) { // TODO Auto-generated method stub } @Override public void onPartialResults(Bundle partialResults) { // TODO Auto-generated method stub } @Override public void onRmsChanged(float rmsdB) { // TODO Auto-generated method stub } }; recognizer.setRecognitionListener(listener); recognizer.startListening(intent); 

Importante: Ejecute este código desde el subproceso de interfaz de usuario.

Lo que se construye en Android (que se inicia a través de la intención) es una actividad de cliente que captura su voz y envía el audio a un servidor de Google para su reconocimiento. Usted podría construir algo similar. Usted podría hospedar la esfinge usted mismo (o utilizar servicios de reconocimiento de nube como Yapme.com), capturar la voz usted mismo, enviar el audio a un reconocedor, y volver a los resultados de texto a su aplicación. No sé de una manera de aprovechar los servicios de reconocimiento de Google sin el uso de la Intención en Android (oa través de Chrome).

El consenso general que he visto hasta ahora es que los teléfonos inteligentes de hoy en día no tienen realmente la potencia para hacer Sphinx-como el reconocimiento de voz. Es posible que desee explorar la ejecución de un reconocedor de clientes para usted, pero Google utiliza el reconocimiento de servidor.

Para obtener información relacionada, consulte:

  • Servicio de reconocimiento de voz de búsqueda por voz de Google
  • ¿Es posible utilizar la API de Android fuera de un proyecto de Android?
  • API de reconocimiento de voz
  • SpeechRecognizer sin conexión ERROR_NO_MATCH
  • Reconocimiento de voz continua Android - Sin lagunas
  • API de reconocimiento de voz sin conexión en Android 4.2
  • Limitación del diccionario de reconocimiento de voz para una mejor coincidencia y buena precisión
  • Birmana discurso a la conversión de texto en android?
  • Tiempo de espera del reconocimiento de voz de Google
  • ¿Cómo puede hacer que el reconocimiento de voz del soporte para el emulador android
  • Uso de la API de SpeechRecognizer directamente - onResults () sigue devolviendo null
  • Biometría de voz para Android
  • ¿Inicia Google Now o la búsqueda por voz por defecto del teléfono?
  • ¿Hay alguna manera de detectar si un teléfono Android es compatible con la integración de Voicemail en el registro de llamadas?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.