Metni metne dönüştürmek için Android TTS API'sini kullanan bir sınıfa sahibim. Saha ve hızı kontrol edebilirim; ancak motorun bir metin dizesi ve ayrıca bir karma nesne gerektirdiğini fark ettim. Bazı kelimelerin kolayca tanınması için çok hızlı bir şekilde telaffuz edildiğini fark ettim ve bükülme çok doğal görünmüyor. Bu iki şeyi kontrol etmenin bir yolu var mı? muhtemelen HashMap
aracılığıyla? Aşağıda, I motorunu kullanıyorum nasıl:Android TTS'nin nasıl çalıştığını nasıl kontrol edebilirim Ses
mTts = new TextToSpeech(Globals.context, this); // context, listener
}
@Override
public void onInit(int status) {
HashMap<String, String> myHashRender = new HashMap();
myHashRender.put(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID, speech);
mTts.setPitch(0.8f);
mTts.setSpeechRate(0.6f);
mTts.synthesizeToFile(speech, myHashRender, fileOutPath);
while (mTts.isSpeaking()) try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
mTts.stop();
mTts.shutdown();
Google TTS şu anda değiştirmeyi desteklememektedir, ayrıca [SSML] (http://help.voxeo.com/go/help/xml.vxml.elements.prosody) içinde tanımlandığı gibi satır içi etiketlerini desteklememektedir. Diğer TTS motorlarının bu özellikleri desteklemesi olasıdır, ancak hiçbirinin farkında değilim. – alanv
Öyleyse neden yöntem bir hashmap ve bir dize alıyor? – motoku
Ayarlayabileceğiniz parametreler vardır, ancak bunların hiçbiri bükülme ya da kelime başına temsilci kontrol etmez. – alanv