¿Cómo puedo controlar cómo Android TTS reproduce audio?

Tengo una clase que utiliza la API TTS de Android para transcribir texto a audio. Puedo controlar el tono y la velocidad; Pero me di cuenta de que el motor requiere una cadena de texto y también un objeto hash. Noté que algunas palabras se pronuncian demasiado rápido para ser fácilmente reconocidas, y la inflexión parece demasiado antinatural. ¿Hay alguna manera de controlar estas dos cosas? Posiblemente a través del HashMap ? Lo siguiente es cómo estoy usando el motor:

  mTts = new TextToSpeech(Globals.context, this); // context, listener } @Override public void onInit(int status) { HashMap<String, String> myHashRender = new HashMap(); myHashRender.put(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID, speech); mTts.setPitch(0.8f); mTts.setSpeechRate(0.6f); mTts.synthesizeToFile(speech, myHashRender, fileOutPath); while (mTts.isSpeaking()) try { Thread.sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } mTts.stop(); mTts.shutdown(); 

3 Solutions collect form web for “¿Cómo puedo controlar cómo Android TTS reproduce audio?”

Google TTS no lo admite actualmente, pero aquí es lo que puede hacer: Durante el análisis de su texto, puede cambiar partes de él para obtener la entonación y la inflexión que desea.

Por ejemplo, si encuentras la palabra 'Hey', vuelve a escribirla antes de enviarla al motor TTS para obtener una pronunciación diferente.

No es bonito, pero es una solución.

En la actualidad, Google TTS no admite la modificación de la inflexión ni admite etiquetas de prosodia incorporadas como se definen en SSML . – alanv Jun 5 a las 20:30

En la actualidad, Google TTS no admite la modificación de la inflexión ni admite etiquetas de prosodia incorporadas como se definen en SSML . Aunque hay parámetros que puede establecer, ninguno de ellos controla la inflexión o la prosodia por palabra.

Puede haber otros motores que soportan estas características. ESpeak , por ejemplo, soporta etiquetas SSML y tiene un puerto Android disponible en Play Store.

  • Pausa tono del teléfono mientras habla a través de texto a voz y luego reanudar
  • ¿Cómo puedo guardar el archivo Text to Speech como formato .wav / .mp3 en Almacenamiento externo
  • ¿Cómo puedo guardar el archivo Text to Speech como formato .wav / .mp3 en idioma árabe en External Storage?
  • ¿Por qué TextToSpeech.getLanguage () * a veces * devuelve null?
  • ¿En qué circunstancias TextToSpeech.isSpeaking () devuelve true?
  • Cómo detener android.speech.tts.TextToSpeech?
  • UtteranceProgressListener no funciona para Android TTS
  • TextToSpeech: función de palabra obsoleta en el nivel 21 de la API
  • TextToSpeech, playEarcon y archivos .wav
  • ¿Es Google TTS Engine en todos los teléfonos Android, y dónde puedo conseguirlo?
  • La interfaz de usuario de texto a voz es un android lento
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.