Hi Johan.
I'm not getting pico to act upon the <phoneme> tag or any other SSML
tag. Perhaps the problem is due to an XML parsing error that is
reported in logcat. Unfortunately, I'm not seeing this parsing error
in the XML text. Here are some tests I've run. It appears that any
text with a tag produces the "Parser error at line 1: not well-formed
(invalid token)" error entry in logcat. Any tips or links to
documentation would be very much appreciated.
- - -
text = "first hello";
mTts.speak(text, TextToSpeech.QUEUE_ADD, null);
says "first hello" and produces the following log entries:
V/TtsService( 516): TtsService.onCreate()
V/TtsService( 516): About to load /system/lib/libttspico.so,
applyFilter=true
V/TtsService( 516): TtsService.setLanguage(eng, USA, )
I/SVOX Pico Engine( 516): loaded en-US successfully
I/SynthProxy( 516): setting speech rate to 100
I/TTS received: ( 1281): first hello
V/TtsService( 516): TTS service received first hello
V/TtsService( 516): TTS processing: first hello
V/TtsService( 516): TtsService.setLanguage(eng, USA, )
I/SVOX Pico Engine( 516): Language already loaded (en-US == en-US)
I/SynthProxy( 516): setting speech rate to 100
I/SynthProxy( 516): setting pitch to 100
W/AudioFlinger( 34): write blocked for 1531 msecs, 44 delayed
writes, thread 0
xb3a0
- - -
text = "<speak xml:lang=\"en-US\">" +
" second hello " +
"</speak>";
mTts.speak(text, TextToSpeech.QUEUE_ADD, null);
says "second hello" and produces the following log entries:
V/TtsService( 516): TtsService.onCreate()
V/TtsService( 516): About to load /system/lib/libttspico.so,
applyFilter=true
V/TtsService( 516): TtsService.setLanguage(eng, USA, )
I/SVOX Pico Engine( 516): loaded en-US successfully
I/SynthProxy( 516): setting speech rate to 100
I/TTS received: ( 1324): <speak xml:lang="en-US"> second hello </
speak>
V/TtsService( 516): TTS service received <speak xml:lang="en-US">
second hello
</speak>
V/TtsService( 516): TTS processing: <speak xml:lang="en-US"> second
hello </spe
ak>
V/TtsService( 516): TtsService.setLanguage(eng, USA, )
I/SVOX Pico Engine( 516): Language already loaded (en-US == en-US)
I/SynthProxy( 516): setting speech rate to 100
I/SynthProxy( 516): setting pitch to 100
I/ ( 516): Parser error at line 1: not well-formed (invalid
token)
I/SVOX Pico Engine( 516): Warning: SSML document parsed with errors
I/SVOX Pico Engine( 516): Found supported locale en-US
I/SVOX Pico Engine( 516): Language already loaded (en-US == en-US)
W/AudioFlinger( 34): write blocked for 98 msecs, 45 delayed writes,
thread 0xb
3a0
- - -
text = "<?xml version=\"1.0\" ?>" +
"<speak xml:lang=\"en-US\">" +
" third hello " +
"</speak>";
mTts.speak(text, TextToSpeech.QUEUE_ADD, null);
says "third hello" and produces the following log entries:
V/TtsService( 516): TtsService.onCreate()
V/TtsService( 516): About to load /system/lib/libttspico.so,
applyFilter=true
V/TtsService( 516): TtsService.setLanguage(eng, USA, )
I/SVOX Pico Engine( 516): loaded en-US successfully
I/SynthProxy( 516): setting speech rate to 100
I/TTS received: ( 1409): <?xml version="1.0" ?><speak xml:lang="en-
US"> third he
llo </speak>
V/TtsService( 516): TTS service received <?xml version="1.0" ?><speak
xml:lang=
"en-US"> third hello </speak>
V/TtsService( 516): TTS processing: <?xml version="1.0" ?><speak
xml:lang="en-U
S"> third hello </speak>
V/TtsService( 516): TtsService.setLanguage(eng, USA, )
I/SVOX Pico Engine( 516): Language already loaded (en-US == en-US)
I/SynthProxy( 516): setting speech rate to 100
I/SynthProxy( 516): setting pitch to 100
I/ ( 516): Parser error at line 1: not well-formed (invalid
token)
I/SVOX Pico Engine( 516): Warning: SSML document parsed with errors
I/SVOX Pico Engine( 516): Found supported locale en-US
I/SVOX Pico Engine( 516): Language already loaded (en-US == en-US)
W/AudioFlinger( 34): write blocked for 71 msecs, 47 delayed writes,
thread 0xb
3a0
- - -
synthesis\" " +
" fourth hello " +
"</speak>";
mTts.speak(text, TextToSpeech.QUEUE_ADD, null);
says "fourth hello" and produces the following log entries:
V/TtsService( 516): TtsService.onCreate()
V/TtsService( 516): About to load /system/lib/libttspico.so,
applyFilter=true
V/TtsService( 516): TtsService.setLanguage(eng, USA, )
I/SVOX Pico Engine( 516): loaded en-US successfully
I/SynthProxy( 516): setting speech rate to 100
I/TTS received: ( 1452): <?xml version="1.0" ?><speak version="1.0"
xmlns="http:
//
www.w3.org/2001/10/synthesis" xmlns:xsi="
http://www.w3.org/2001/
XMLSchema-inst
ance" xsi:schemaLocation="
http://www.w3.org/2001/10/synthesis http://www.w3.org/
TR/speech-synthesis/synthesis.xsd" xml:lang="en-US"> fourth hello </
speak>
V/TtsService( 516): TTS service received <?xml version="1.0" ?><speak
version="
1.0" xmlns="
http://www.w3.org/2001/10/synthesis" xmlns:xsi="http://
www.w3.org/20
01/XMLSchema-instance" xsi:schemaLocation="
http://www.w3.org/2001/10/
synthesis h
ttp://
www.w3.org/TR/speech-synthesis/synthesis.xsd" xml:lang="en-US">
fourth hel
lo </speak>
V/TtsService( 516): TTS processing: <?xml version="1.0" ?><speak
version="1.0"
xmlns="
http://www.w3.org/2001/10/synthesis" xmlns:xsi="http://
www.w3.org/2001/XM
LSchema-instance" xsi:schemaLocation="
http://www.w3.org/2001/10/
synthesis http:/
/
www.w3.org/TR/speech-synthesis/synthesis.xsd" xml:lang="en-US">
fourth hello </
speak>
V/TtsService( 516): TtsService.setLanguage(eng, USA, )
I/SVOX Pico Engine( 516): Language already loaded (en-US == en-US)
I/SynthProxy( 516): setting speech rate to 100
I/SynthProxy( 516): setting pitch to 100
I/ ( 516): Parser error at line 1: not well-formed (invalid
token)
I/SVOX Pico Engine( 516): Warning: SSML document parsed with errors
I/SVOX Pico Engine( 516): Found supported locale en-US
I/SVOX Pico Engine( 516): Language already loaded (en-US == en-US)
On Aug 31, 10:37 am, "Johan Wouters" <
johan.m.wout...@gmail.com>
wrote: