谈到Linux中的TTS(文本到语音)库,开发人员有哪些选择?
哪些图书馆附带大部分发行版?
有最小的图书馆吗?每个图书馆提供哪些功能?
我主要是从C++的角度来看待这个问题,尽管Python也适合我.
我为Android创建了一个支持多种语言的文本到语音引擎,其中一种语言是印地语.
在Android文本到语音设置中,当用户选择默认语言环境时,Android会执行多项检查,包括发送意图ACTION_GET_SAMPLE_TEXT
这是我支持的语言环境列表:
private static final String[] SUPPORTED_LANGUAGES = { "eng-GBR", "eng-USA", "fra-FRA", "spa-ESP", "deu-DEU", "ita-ITA",
"kor-KOR", "nld-NLD", "dan-DNK", "fin-FIN", "jpn-JPN", "nor-NOR", "pol-POL", "por-PRT", "por-BRA", "rus-RUS",
"swe-SWE", "zho-CHN", "zho-HKG", "zho-TWN", "ara-SAU", "hi-IN", "ces-CZE", "ell-GRC", "hun-HUN", "ron-ROU",
"slk-SVK", "tha-THA", "tur-TUR", "cym-GBR", "isl-ISL", "in-IDN" };
Run Code Online (Sandbox Code Playgroud)
对于"hi-IN"以外的每个区域设置,Android都会发送此意图,我会回复示例文本并显示"收听示例"按钮.
我已成功从调用onIsLanguageAvailable返回LANG_COUNTRY_AVAILABLE,但按钮仍然显示为灰色,并指出该语言不受支持.
我尝试了很多不同的语言环境ISO组合:
hin-IN,hi-IND,ind-HI等等,但Android不发送Intent,尽管它在Locale列表中被正确标记为印地语(印度语)或印地语.
logcat中没有错误表明失败的变体匹配.
我发布我的代码没什么意义,因为Android根本没有发送此Locale的Intent,所以它无法访问我的代码....
任何想法如何正确处理此区域设置变体?
编辑:我刚刚意识到它也发生在印尼语(in-IDN)
我想为我的交互式训练集制作一个文本到语音的程序.我用过System.Speech图书馆,但声音总是女性.我想用一些男性的声音读一些句子,一些用女性的声音读.(这两个声音是我唯一需要的声音.)
我正在使用Windows 8 Pro和Visual Studio 2010.我只能看到一个语音包,即Microsoft Zira Desktop.
我的代码如下.如何配置男声的使用?
SpeechSynthesizer synth = new SpeechSynthesizer();
synth.Rate = 1;
synth.Volume = 100;
synth.SelectVoiceByHints(VoiceGender.Male,VoiceAge.Adult);
synth.SpeakAsync(label18.Text);
Run Code Online (Sandbox Code Playgroud) 在我的webapp中,我正在尝试向Google API发出HTTP请求,该API需要一些文本(例如"Hello World")并返回一个具有相同语音的MP3文件.
我已经看到了这个问题:谷歌文本到语音tts api似乎不起作用.这个谷歌页面:https: //cloud.google.com/translate/docs/.
而且还有很多其他页面似乎已经过时了 - 看起来这个功能已被谷歌删除或者正在进行不同的休息通话?
我没有看到任何关于如何为TTS调用google api的文档(例如在Google Translate API https://cloud.google.com/translate/中).我有一个谷歌云API帐户和密钥.
谢谢,丹
我正在使用TTS.
但我需要将tts的声音从女性改为男性,反之亦然.
我知道我可以通过eSpeak来做到这一点.但问题是.在设置页面中,当我选择eSpeak TTS时,语音变为男性,当我选择Pico TTS时,语音变为女性.但是当我在设置页面中更改引擎后,当我尝试更改语音并尝试在我的应用程序中使用该更改的语音时,它只能用男性语音说话.
我从http://eyes-free.googlecode.com/svn/trunk/tts/下载第三方应用程序
然后在我的应用程序的MainActivity中,我执行以下操作,
editText = (EditText) findViewById(R.id.EditText01);
Button speak = (Button) findViewById(R.id.SpeakButton);
speak.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
if(editText.getText().toString().equalsIgnoreCase(""))
startActivity(new Intent(Main.this, ConfigurationManager.class));
else {
tts = new TTS(Main.this, ttsInitListener, true );
}
}
});
Run Code Online (Sandbox Code Playgroud)
但我想要做的是没有进入TextToSpeech设置页面,只更改男/女按钮我想改变TTS的声音.

请帮我这样做.我尝试了很多次.
我目前正在为学校制作一个项目,我将在那里制作一个教孩子们如何阅读的程序.我对该程序的基本想法是产生句子,然后让Windows Anna说出来.我的问题是,如何通过Java访问Winodws Anna?并且有更好的方法吗?
谢谢
我正在开发一个应用程序,它会读出文档中的文本,我想添加暂停和恢复功能,但我在TTS中找不到任何pause()方法.有什么方法可以暂停..?
我试图添加到我的应用程序特定的TTS引擎 - 不是基于系统,所以每个人将有另一个,但一个人.
在文档中有方法:setEngineByPackageName(),看起来它会成为我想要的.但是,在早些时候看到其他类似的问题我发现了一些使用这种方法的东西:https://stackoverflow.com/questions/12549086/selecting-required-tts-programmatically-in-android.
它看起来很不错,但它在系统检查后是否安装了TTS引擎,如果没有安装TTS引擎则使用它(没有定义哪一个).
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// Fire off an intent to check if a TTS engine is installed
Intent checkIntent = new Intent();
checkIntent.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA);
startActivityForResult(checkIntent, MY_DATA_CHECK_CODE);
}
public void onActivityResult(int requestCode, int resultCode, Intent data)
{
if (requestCode == MY_DATA_CHECK_CODE)
{
if (resultCode == TextToSpeech.Engine.CHECK_VOICE_DATA_PASS)
{
// success, create the TTS instance
mTts = new TextToSpeech(this, this);
}
else
{
// missing data, install it
Intent …Run Code Online (Sandbox Code Playgroud) 我有下面的代码.这是Kotlin.知道为什么textToSpeech来自于textToSpeech.setLanguage(Locale.UK)告诉没有参考解决textToSpeech?
val textToSpeech = TextToSpeech(
applicationContext,
object : TextToSpeech.OnInitListener {
override fun onInit(status: Int) {
if (status == TextToSpeech.SUCCESS) {
textToSpeech.setLanguage(Locale.UK)
}
}
})
Run Code Online (Sandbox Code Playgroud)
起初我认为它是一个Idea kotlin插件bug,但似乎它实际上无法编译
我正在通过Google Cloud的文本到语音API生成语音,我想在说出单词时突出显示它们。
是否可以获取口语或句子的时间戳记?