¿Qué significan los nombres / códigos de Android Voice?

Estoy llamando al método Voice.getName() así:

 Set<Voice> voices = tts.getVoices(); String name = voice.getName(); 

Esto devuelve nombres de código en lugar de nombres de presentación amigables. Lo que quiero es un nombre para mostrar, pero no parece haber ninguna forma de conseguir esto.

¿Es posible traducir los códigos en algo significativo para crear nombres fáciles de usar? Y para eliminar duplicados? Mucho suena similar – pero apenas un poco diferente.

Estos son algunos códigos devueltos para Inglés Reino Unido:

 en-GB-language en-gb-x-rjs-local en-gb-x-rjs-network en-gb-x-fis-local en-gb-x-fis-network en-gb-x-fis#female_1-local en-gb-x-rjs#female_1-local en-gb-x-rjs#female_2-local en-gb-x-fis#female_2-local en-gb-x-rjs#male_1-local 

Mis pensamientos hasta ahora:

  • Local y la red no significa lo que usted pensaría. Sin embargo, no está claro si son dos versiones de la misma voz, ya que suena un poco diferente (aunque no muy diferente).
  • Los rjs y fis se repiten mucho, y se aplican tanto a hombres como a mujeres, pero sólo para el inglés británico. Parece que cada idioma tiene uno o dos conjuntos diferentes de iniciales de 3 letras – tal vez es un código de región.
  • Se podría pensar que female1 y female2 serían diferentes talentos de voz, pero parecen ser sólo una expresividad muy ligeramente diferente.
  • Creo que en-gb-x-rjs#male_1-local y en-gb-x-rjs-local son idénticos
  • Todos devuelven la misma calidad de 400.

¿Alguien tiene una mejor comprensión de estos?

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.