【发布时间】:2023-04-10 11:27:01
【问题描述】:
我这样调用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
到目前为止我的想法:
- 本地和网络确实如您所想。但是不清楚它们是否是同一个声音的两个版本,因为它们听起来有点不同(虽然差别不大)。
-
rjs和fis重复了很多,适用于男性和女性,但仅适用于英国英语。似乎每种语言都有一组或两组不同的 3 字母首字母 - 也许它是一个地区代码。 - 您可能认为female1 和female2 是不同的配音人才,但它们的表现力似乎略有不同。
- 我认为
en-gb-x-rjs#male_1-local和en-gb-x-rjs-local是相同的 - 全部返回相同的质量 400。
有没有人对这些有更好的理解?
【问题讨论】:
-
我自己也有同样的疑惑,但恐怕我不知道答案。我注意到,名称正在发生变化 - 我之前已将名称映射到性别,但在更新引擎后,它不再起作用....
-
谢谢。很高兴知道它们将来可能会改变。
-
@mike nelson 你有更多相关信息吗?
-
@Kinjal 不,我没有找到更多