2010-08-19 13 views
7

com.svox.pico TextToSpeech इंजन में निम्न SSML (Speech Synthesis Markup Language) दस्तावेज़ को पास करने के परिणामस्वरूप एक्सएमएल बॉडी का एक पठन हुआ, लेकिन फोनेम तत्व या जोर तत्व से कोई नियंत्रण नहीं हुआ। इस परिणाम (कोई स्पष्ट SSML नियंत्रण) एक नेक्सस पर ही है एक Android 2.2 के साथ ही पर एमुलेटर एसडीके स्तर के साथ एक AVD चल चल 8.क्या एंड्रॉइड टीटीएस स्पीच सिंथेसिस मार्कअप भाषा का समर्थन करता है?

  String text = "<?xml version=\"1.0\"?>" + 
       "<speak version=\"1.0\" xmlns=\"http://www.w3.org/2001/10/synthesis\" " + 
        "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" " + 
        "xsi:schemaLocation=\"http://www.w3.org/2001/10/synthesis " + 
         "http://www.w3.org/TR/speech-synthesis/synthesis.xsd\" " + 
        "xml:lang=\"en-US\">" + 

        "tomato " + 
        "<phoneme alphabet=\"ipa\" ph=\"t&amp;#x259;mei&amp;#x325;&amp;#x27E;ou&amp;#x325;\"> tomato </phoneme> " + 

        "That is a big car! " + 
        "That <emphasis> is </emphasis> a big car! " + 
        "That is a <emphasis> big </emphasis> car! " + 
        "That is a huge bank account! " + 
        "That <emphasis level=\"strong\"> is </emphasis> a huge bank account! " + 
        "That is a <emphasis level=\"strong\"> huge </emphasis> bank account!" + 
       "</speak>"; 
      mTts.speak(text, TextToSpeech.QUEUE_ADD, null); 

करता है किसी भी एंड्रॉयड टीटीएस इंजन समर्थन SSML के किसी भी तत्वों?

उत्तर

1

उत्तर "तरह का" लगता है। नहीं सभी SSML टैग अभी तक का समर्थन कर रहे हैं, लेकिन <phoneme> टैग का उपयोग करने के कुछ परीक्षण उदाहरण https://android.googlesource.com/platform/external/svox/+/89292811b7fe82e5c14fa13942779763627e26db

पर हैं हालांकि परीक्षण उदाहरण वांछित भाषण उत्पादन का उत्पादन, वे भी logcat में XML पार्सर त्रुटि संदेश का उत्पादन। मैंने एंड्रॉइड इश्यू ट्रैकर (अंक 11010) में इन गलत गलती संदेशों के बारे में एक मुद्दा खोला है।

3

मैं एसएसएमएल के साथ प्रयोग कर रहा हूं और ऐसा लगता है कि टीटीएस इंजन रूट <speak> तत्व के साथ स्वचालित रूप से अपने इनपुट को लपेटता है, इसलिए यदि आप इसे छोड़ देते हैं, तो यह ठीक काम करता है और आपको पार्सर त्रुटि नहीं मिलती है।

उदाहरण:

String text = "Testing <phoneme alphabet=\"xsampa\" ph=\"&#34;{[email protected]`\"/>."; 
mTts.speak(text, TextToSpeech.QUEUE_ADD, null); 
संबंधित मुद्दे