Android Voice名称/代码是什么意思?

时间:2016-12-17 13:27:55

标签: android text-to-speech

我这样调用Voice.getName()方法:

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

这将返回代码名称而不是友好的显示名称。我想要的是一个显示名称,但似乎没有办法得到这个。

是否可以将代码转换为有意义的内容以创建用户友好名称?并消除重复?很多声音相似 - 但只是有点不同。

这些是英国英国的一些代码:

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

到目前为止我的想法:

  • 本地和网络意味着您的想法。然而,目前尚不清楚它们是否是同一个声音的两个版本,因为它们听起来有点不同(尽管不是很不同)。
  • rjsfis重复了很多次,适用于男性和女性,但仅适用于英国英语。似乎每种语言都有一组或两组不同的3个字母的首字母 - 也许它是一个区域代码。
  • 你可能会认为女性和女性2会有不同的配音天赋,但它们的表现力似乎略有不同。
  • 我认为en-gb-x-rjs#male_1-localen-gb-x-rjs-local相同
  • 所有返回相同的400质量。

有没有人对这些有更好的了解?

1 个答案:

答案 0 :(得分:1)

这可能会或可能不会有所帮助,但是对于那些不直接使用Android的人,因此,如果无法访问列出语音代码的API,我刚刚在一个似乎列出该话题的论坛主题中找到了此URL。 android TTS语音的网址:

https://dl.google.com/dl/android/tts/v2/voices-list-r1.proto

将其读取为文本(utf-8)会产生一些解码错误,但足以提取代码:

en-GBGhttps://dl.google.com/dl/android/tts/v2/en-gb-x-fis-phone-hmm-r2.zvoice ����dBfemaleJen-gb-x-fis-phone-hmmP�X�`hen-GB #1x�$�
en-GBJhttps://dl.google.com/dl/android/tts/v2/en-gb-x-fis-diphone-usel-r2.zvoice ؾ0���dBfemaleJen-gb-x-fis-diphone-uselP�X�`hen-GB #1x��
en-GBGhttps://dl.google.com/dl/android/tts/v2/en-gb-x-rjs-phone-hmm-r2.zvoice �0���dBmaleJen-gb-x-rjs-phone-hmmP�X�`hen-GB #2x��
en-GBJhttps://dl.google.com/dl/android/tts/v2/en-gb-x-rjs-diphone-usel-r2.zvoice ��0���dBmaleJen-gb-x-rjs-diphone-uselP�X�`hen-GB #2x���
en-USGhttps://dl.google.com/dl/android/tts/v2/en-us-x-sfg-phone-hmm-r2.zvoice �*0���dBfemaleJen-us-x-sfg-phone-hmmP�X�`hren-USx�6�
en-USJhttps://dl.google.com/dl/android/tts/v2/en-us-x-sfg-diphone-usel-r4.zvoice ��
   0���dBfemaleJen-us-x-sfg-diphone-uselP�X�`hren-USx���
de-DEGhttps://dl.google.com/dl/android/tts/v2/de-de-x-nfh-phone-hmm-r2.zvoice �"0���dBfemaleJde-de-x-nfh-phone-hmmP�X�`hrde-DEx�+�
pt-BRGhttps://dl.google.com/dl/android/tts/v2/pt-br-x-afs-phone-hmm-r2.zvoice ����dBfemaleJpt-br-x-afs-phone-hmmP�X�`hrpt-BRx�#�
es-ESGhttps://dl.google.com/dl/android/tts/v2/es-es-x-ana-phone-hmm-r2.zvoice �#0���dBfemaleJes-es-x-ana-phone-hmmP�X�`hres-ESx�.�
es-USGhttps://dl.google.com/dl/android/tts/v2/es-us-x-sfb-phone-hmm-r2.zvoice �*0���dBfemaleJes-us-x-sfb-phone-hmmP�X�`hres-USx�6�
fr-FRGhttps://dl.google.com/dl/android/tts/v2/fr-fr-x-vlf-phone-hmm-r2.zvoice �.0���dBfemaleJfr-fr-x-vlf-phone-hmmP�X�`hrfr-FRx�>�
it-ITGhttps://dl.google.com/dl/android/tts/v2/it-it-x-kda-phone-hmm-r2.zvoice �,0���dBfemaleJit-it-x-kda-phone-hmmP�X�`hrit-ITx�>�
ko-KRGhttps://dl.google.com/dl/android/tts/v2/ko-kr-x-ism-phone-hmm-r2.zvoice �00���dBfemaleJko-kr-x-ism-phone-hmmP�X�`hrko-KRx�:

我仍然不知道代码的含义,但是至少这给了我语言代码与fisrjs等代码之间的映射,因此这是一个开始。