¿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.

  • Usar texto a voz en una llamada de voz
  • Android TTS no habla
  • ¿Cómo puedo guardar el archivo Text to Speech como formato .wav / .mp3 en idioma árabe en External Storage?
  • TextToSpeech, playEarcon y archivos .wav
  • TextToSpeech versión de compilación android no reproduce audio
  • ¿Qué significan los nombres / códigos de Android Voice?
  • Android TTS (texto a voz) no pronuncia letra única correctamente
  • ¿En qué circunstancias TextToSpeech.isSpeaking () devuelve true?
  • Android "speak fallado: no está vinculado al motor tts"
  • Hablar con TTS como Hindi
  • ¿Cuál es el flujo de audio predeterminado de TTS?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.