有没有人知道是否有可能像Android一样在iOS开发中实现TTS?它在图书馆还是什么的?我相信我在iOS上听到过关于实用程序和TTS的一些信息,但是我很难找到关于这个问题的任何文档.任何帮助,将不胜感激.
你们,伙计们,帮我找一些好的TTS(文字转语音)工具用于商业目的吗?我检查了几个工具,但其中一些太昂贵($ 5000 +),如AT&T,其他 - 低质量,如FreeTTS.我需要免费或低价(最高500美元)的应用程序或网络服务来创建适合教育目的的英语单词和短语的wav或mp3文件.
谢谢!
PS大型库准备好wav或mp3文件也行.
在通过这个答案设法使TextToSpeech.setEngineByPackageName()工作之后,我现在遇到了"相反"的问题:
tts.setEngineByPackageName("com.ivona.tts.voicebeta.eng.usa.kendra");始终返回TextToSpeech.SUCCESS,即使该设备中根本没有安装该软件包.
由于设备上没有该软件包,TTS会继续使用Android的默认设置pico,这是预期的,但我不明白为什么要setEngineByPackageName()返回SUCCESS.
怎么会这样?
TextToSpeech有一种设置语音速率的方法:setSpeechRate()。但是它没有查询当前速度的相反方法。
有没有办法向系统查询该值?
我正在使用pico默认的android TTS引擎和IPA caracters这样做
String text3 = "<speak xml:lang=\"fr-FR\"> <phoneme alphabet=\"ipa\" ph=\"+"+words+"\"/>.</speak>";
myTTS.speak(text3, TextToSpeech.QUEUE_ADD, null);
Run Code Online (Sandbox Code Playgroud)
它通常有效,但对于某些字母,它不喜欢"ã"或"ɑ"等.
所以我的问题是,如何将这些字母/声音添加到此TTS引擎?
在我的应用程序中,我在实例化TextToSpeech(根据LogCat约800ms )之后很好地调用TextToSpeech.getLanguage(),但它有时(并非总是)返回null,尽管在系统的TextToSpeech设置中正确设置了语言:
System Settings > Language & input >
Text-to-speech output > Google Text-to-speech > English (United Kingdom)
Run Code Online (Sandbox Code Playgroud)
这只发生在Jelly Bean(Android 4.1.1)中.在Android 2.2中不会发生这种情况.
这是一个已知的Android错误吗?或者我做错了什么?
我在我的应用程序的主要活动中实例化BTW,TextToSpeech:
new TextToSpeech(this, this);
Run Code Online (Sandbox Code Playgroud)
实例化和对TextToSpeech.getLanguage()的调用 都在同一个线程中进行(因此保证了调用顺序).
我正在制作一个应用程序,每次触发广播接收器时都使用tts来合成wav文件.我正在开发AndroidStudio(最新版)并使用最低15级的API级别19.
我有一个带有BroadcastListener的服务.每次执行BroadcastListener onReceive方法时,我都会使用
tts.synthesizeToFile(playing, null, storagePath + "/" + "tst.wav");
该文件已成功创建,但永远不会调用UtteranceProgressListener的onDone()方法.
public void onCreate() {
super.onCreate();
//Get TTS capabilities
//TODO: Use TextToSpeech.Engine.ACTION_CHECK_TTS_DATA to check if tts is available
tts = new TextToSpeech(PresenterService.this,
new TextToSpeech.OnInitListener() {
@Override
public void onInit(int status) {
//If the TTS engine was started successfully
if (status != TextToSpeech.ERROR) {
tts.setLanguage(Locale.US);
tts.setPitch(PRESENTER_PITCH);
tts.setSpeechRate(PRESENTER_RATE);
}
}
});
tts.setOnUtteranceProgressListener(new TtsUtteranceListener());
IntentFilter filter = new IntentFilter();
filter.addAction("xxxxxxxxxxxxxxxxxx");
mReceiver = new TrackChangedReceiver(tts);
registerReceiver(mReceiver, filter);
}
Run Code Online (Sandbox Code Playgroud)
和TtsUtteranceListener类:
public class TtsUtteranceListener extends UtteranceProgressListener …Run Code Online (Sandbox Code Playgroud) 我正在Android中开发一个简单的应用程序,我遇到TextToSpeech的问题.
应用程序必须使用TextToSpeech发出字母和数字的字母,但是有一个问题,默认设备使用PicoTTS我希望他们被迫使用google tts引擎.
我怎么能这样做?
我的代码:
@SuppressLint("NewApi")
public class LearnAlphabet extends Activity {
Button howto, number, alphabet;
public TextToSpeech tts;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.learn_number);
ActionBar actionBar = getActionBar();
actionBar.setDisplayShowTitleEnabled(true);
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setHomeButtonEnabled(true);
actionBar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#0170a5")));
GridView gridview = (GridView) findViewById(R.id.gridview);
gridview.setAdapter(new NumberFunction(this));
final String locale = getApplicationContext().getResources().getConfiguration().locale.getLanguage();
tts = new TextToSpeech(getApplicationContext(),
new TextToSpeech.OnInitListener() {
@Override
public void onInit(int status) {
if(status != TextToSpeech.ERROR){
switch (locale.toString()) {
case "it":
tts.setLanguage(new Locale("it_IT"));
break;
case "en":
tts.setLanguage(new Locale("en_US"));
break;
case "es":
tts.setLanguage(new …Run Code Online (Sandbox Code Playgroud) 我想用许多语言的许多声音进行文本到语音转换.
我试过SpeechSynthesizer(Ref:System.Speech),但它只允许2个英语语音.从微软网站安装6个英语语音后,我仍然无法获得任何其他声音.
我改为SpVoice(参考:微软语音对象库).SpVoice可识别我刚安装的6种声音.问题是当我打电话时spVoice.Pause(),它总是会在完全停止说话之前延迟0.5秒.我也尝试AlertBoundary为SpVoice 设置,但它没有帮助.
SpeechSynthesizer可以立即暂停,SpeakAsyncCancelAll但仅适用于默认语音.
使用具有瑞典语音的API sv-SE-Wavenet-A,似乎音频的质量随着较长的文本而降低.
短文:
Det ter sig logiskt attmangåttöver直到tvångsfinansieringaven kanal som在åretalltsåtappadesex procent av tittartiden.直到懒妇kommer ingen titta,男人allakommerändåtvingasbetala.
长文本(粗体=上面的短文本):
SVT backade sex procent - endast en tredjedel tittas - tvingasbetalaändåPreliminärasiffrorfrånmätföretagetMMSvisarpåattvuxendagiset SVT tappade sex procent av sin tittartid 2018年.Nu tittas detpåendasten dryg tredjedel avtidenpåSVT,men alla i Sverige tvingas ändåbetlalasedanårsskiftet.SVT.SVT:s tittarsiffror tappade直到34.9%我是kallad tittartidsandel.地区信息,地址:电视,电视,音乐,电视音乐,电视音乐,电视音乐,电视音乐,电视音乐,电视音乐,电视音乐,电视音乐,电视音乐,电视音乐.Siffrorna从很多时候开始,我认为很高兴34.9%,TV4-gruppen为31.9%,Discovery Networks-gruppen为11.9%,北欧娱乐集团为11.6%.Discovery inkluderar Kanal 5 och Nordic Entertaingment TV3.Det ter sig logiskt attmangåttöver直到 tvångsfinansieringaven kanal som在åretalltsåtappadesex procent av tittartiden.直到懒妇kommer ingen titta,男人 allakommerändåtvingasbetala.社会主义基础设施sigpåtvångnärsocialintefrivilligtgörsondesom socialisternavillåstakomma.Detärenren skam att de borgerliga partierna var med …