Android 安卓:TTS会说广东话吗?
我正在学习编写一个应用程序,用于在给定字符串上执行TTS,并尝试了一个从web修改的示例: 编码如下:Android 安卓:TTS会说广东话吗?,android,internationalization,text-to-speech,machine-translation,Android,Internationalization,Text To Speech,Machine Translation,我正在学习编写一个应用程序,用于在给定字符串上执行TTS,并尝试了一个从web修改的示例: 编码如下: //设置TTS第1部分 mTts=newtexttospeech(第2课对话版修订版简单。这个,这个);//TextToSpeech.OnInitListener setOnClickListener(新的OnClickListener() { 公共void onClick(视图v) { StringTokenizer loveTokens=新的StringTokeniz
//设置TTS第1部分
mTts=newtexttospeech(第2课对话版修订版简单。这个,这个);//TextToSpeech.OnInitListener
setOnClickListener(新的OnClickListener()
{
公共void onClick(视图v)
{
StringTokenizer loveTokens=新的StringTokenizer(“他們 12是 三个“,”,“.”;
int i=0;
loveArray=新字符串[loveTokens.countTokens()];
while(loveTokens.hasMoreTokens())
{
loveArray[i++]=loveTokens.nextToken();
}
speakText();
}
});
}
//设置TTS第2部分
@凌驾
公共void onutternancecompleted(字符串utternanceid)
{
Log.v(标记“获取OuttanceID的完整消息”+OuttanceID);
LastOutrance=Integer.parseInt(outranceId);
}
//设置TTS第3部分
@凌驾
公共无效onInit(int状态)
{
if(status==TextToSpeech.SUCCESS)
{
int result=mTts.setLanguage(Locale.CHINESE);/=loveArray.length)
{
最后话语=0;
}
Log.v(标签,“开始话语是”+最后话语);
for(int i=lastputrance;i
问题:
如果上面第3部分中的int result=mTts.setLanguage(Locale.US);
设置为US并以完美的英语读出“一二三”,则一切正常。(在上面的示例中,它将跳过所有中文单词,只读出一二三)
但是,如果我通过将language设置为setLanguage(Locale.Chinese),将字符串改为读取中文,它会立即发出“语言不受支持”的警告
我想问一下
谢谢!!1-目前版本的谷歌TTS引擎还不支持粤语作为输出。普通话很好用 2-是支持广东话的TTS引擎 您可能想尝试一下我开发的与Ekho和Google TTS引擎配合使用的TTS应用程序: 据我所知,在JAVA中没有特定的语言环境来区分广东话和普通话,因为广东话是中国方言。JAVA中的语言环境仅指文字(简体或繁体)
例如,您可以阅读用粤语或普通话编写的繁体中文字符串。1-谷歌TTS引擎当前版本还不支持粤语作为输出。普通话工作正常 2-是支持广东话的TTS引擎 您可能想尝试一下我开发的与Ekho和Google TTS引擎配合使用的TTS应用程序: 据我所知,在JAVA中没有特定的语言环境来区分广东话和普通话,因为广东话是中国方言。JAVA中的语言环境仅指文字(简体或繁体)
例如,您可以阅读用粤语或普通话书写的繁体中文字符串。@Pearmak:您可以检查设备支持的语言
int i = mTts.isLanguageAvailable(Locale.ENGLISH);
其中mTts
是TextToSpeech
如果您得到i>=0的值,则该语言在您的设备上受支持,否则不受支持
您还可以传递语言区域设置字符串
int i = mTts.isLanguageAvailable(new Locale("zh_CN")); //for chinese simplified
@Pearmak:您可以检查设备中支持的语言
int i = mTts.isLanguageAvailable(Locale.ENGLISH);
其中mTts
是TextToSpeech
如果您得到i>=0的值,则该语言在您的设备上受支持,否则不受支持
您还可以传递语言区域设置字符串
int i = mTts.isLanguageAvailable(new Locale("zh_CN")); //for chinese simplified
一个小小的中文文语转换(TTS)用于离线嵌入式系统的粤语、普通话合成引擎。Yue体积极小,离线、独立,PCM音频输出不需要服务器或网络连接。它具有合成语音的高自然度,用于混合文本输入,粤语和普通话语音合成用于同一文本输入,具有Yale、Jyutping和拼音romanization。该引擎可以连续生成和播放长文本的语音,文本长度不受限制。它内置智能检测器,可以处理任何繁体中文、简体中文、英文、数字和标点符号、符号混合文本输入。Yue用ANSI C编写,不依赖第三方库,运行在ARM上,AVR嵌入式系统,如手表、玩具、机器人和iPhone、Android等移动平台,当然是普通的台式机、电子书、报纸阅读器、故事讲述器。Yue可以加载到内存中并嵌入到其他程序中,因为它的体积非常小,非常适合嵌入式系统,也适用于台式操作系统引擎可以有大量编程语言的绑定
链接:Yue,一个小小的中文文语转换(TTS)用于离线嵌入式系统的粤语、普通话合成引擎。Yue体积极小,离线、独立,PCM音频输出不需要服务器或网络连接。它具有合成语音的高自然度,用于混合文本输入,粤语和普通话语音合成用于同一文本输入,具有Yale、Jyutping和拼音r阿曼