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

  • Android TTS Masculino Masculino Voz Cambio
  • ¿Existe una utilidad o API para convertir abreviaturas abreviadas de SMS a oraciones adecuadas?
  • TextToSpeech.OnInitListener.onInit (int) que se llama continuamente
  • TextToSpeech versión de compilación android no reproduce audio
  • ¿Qué es un Earcon?
  • Android llamada TTS en BroadcastReceiver
  • ¿En qué circunstancias TextToSpeech.isSpeaking () devuelve true?
  • Referencia no resuelta en el anonimo oyente de Kotlin
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.