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
  • Tono DTMF en RecognitionListener.onReadyForSpeech () confundido con el discurso
  • ¿Cómo puedo utilizar el reconocimiento de voz sin el diálogo molesto en los teléfonos Android
  • Talking App como hablar, la grabación de audio no funcionó en todos los dispositivos
  • PhoneStateListener onMessageWaitingIndicatorChanged () no se llama de forma fiable
  • Cómo desarrollar aplicaciones de reconocimiento de voz como tom de conversación
  • API de reconocimiento de voz sin conexión en Android 4.2
  • Guardar la entrada de audio del motor de reconocimiento de voz de Android Stock
  • Cambiar voz durante la llamada telefónica de Android
  • Birmana discurso a la conversión de texto en android?
  • API de voz a texto de Google para idiomas distintos del inglés
  • Cambiar la voz de voz predeterminada en texto a voz por opción de pantalla dentro de la aplicación
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.