UniMRCP Server Error "Failed to Feed XML Content to Parser" ?

60 views
Skip to first unread message

Ed James

unread,
Oct 17, 2019, 4:48:59 AM10/17/19
to UniMRCP
Hi All,
These are three extracts from the uniMRCP server log file showing an error. The server default language is en-US and I'm doing TTS using the Google Umsgss plugin. If I send in text to be vocalized in en-GB then it works fine but text to be vocalized in jp-JP fails the parser (even when the Japanese text is romanized):

en-GB Works OK (Ssml contains en-GB and en-GB sent to gss):
 
2019-10-16 16:16:31:435302 [INFO]   Receive MRCPv2 Data 172.18.1.178:1544 <-> 10.1.2.221:8311 [356 bytes]
MRCP/2.0 356 SPEAK 1
Channel-Identifier: 885074b608324643@speechsynth
Content-Type: application/synthesis+ssml
Content-Length: 219
<?xml version="1.0"?><speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-GB"><voice name="en-GB-Standard-A"><p>I have of late wherefore I know not lost all my myrth twenty</p></voice></speak>
2019-10-16 16:16:31:435360 [INFO]   Assign Control Channel <885074b608324643@speechsynth> to Connection 172.18.1.178:1544 <-> 10.1.2.221:8311 [0] -> [1]
2019-10-16 16:16:31:435370 [DEBUG]  Signal Message to [MRCP Server] [0x7ff6940008c0;2;3]
2019-10-16 16:16:31:435386 [DEBUG]  Wait for Messages [MRCPv2-Agent-1] timeout [600000]
2019-10-16 16:16:31:435403 [DEBUG]  Process Message [MRCP Server] [0x7ff6940008c0;2;3]
2019-10-16 16:16:31:435410 [DEBUG]  Dispatch Signaling Message [1]
2019-10-16 16:16:31:435416 [INFO]   Process SPEAK Request <885074b608324643@speechsynth> [1]
2019-10-16 16:16:31:435448 [DEBUG]  Wait for Messages [MRCP Server]
2019-10-16 16:16:31:435548 [DEBUG]  Set voice name [en-GB-Standard-A] <885074b608324643@gss>
2019-10-16 16:16:31:435569 [INFO]   Start Async Synth: encoding=1, sampling-rate=8000, language=en-GB <885074b608324643@gss>

jp-JP Breaks (Ssml contains jp-JP and en-US [the server default] sent to gss) with Romanized Japanese:

2019-10-16 17:01:04:648013 [INFO]   Receive MRCPv2 Data 172.18.1.178:1544 <-> 10.1.2.221:9119 [333 bytes]
MRCP/2.0 333 SPEAK 1
Channel-Identifier: 1306a829f2014a9b@speechsynth
Content-Type: application/synthesis+ssml
Content-Length: 196
<?xml version="1.0"?><speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="ja-JP"><voice name="ja-JP-Standard-A"><p><Keiro o kisai shita tekisutomesseji></p></voice></speak>
2019-10-16 17:01:04:648050 [INFO]   Assign Control Channel <1306a829f2014a9b@speechsynth> to Connection 172.18.1.178:1544 <-> 10.1.2.221:9119 [0] -> [1]
2019-10-16 17:01:04:648061 [DEBUG]  Signal Message to [MRCP Server] [0x7ff6940008c0;2;3]
2019-10-16 17:01:04:648077 [DEBUG]  Wait for Messages [MRCPv2-Agent-1] timeout [600000]
2019-10-16 17:01:04:648094 [DEBUG]  Process Message [MRCP Server] [0x7ff6940008c0;2;3]
2019-10-16 17:01:04:648102 [DEBUG]  Dispatch Signaling Message [1]
2019-10-16 17:01:04:648107 [INFO]   Process SPEAK Request <1306a829f2014a9b@speechsynth> [1]
2019-10-16 17:01:04:648131 [DEBUG]  Wait for Messages [MRCP Server]
2019-10-16 17:01:04:648220 [WARN]   Failed to Feed XML Content to Parser
2019-10-16 17:01:04:648249 [INFO]   Start Async Synth: encoding=1, sampling-rate=8000, language=en-US <1306a829f2014a9b@gss>

jp-JP Breaks (Ssml contains jp-JP and en-US [the server default] sent to gss) with Japanese characters:

<?xml version="1.0"?><speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="ja-JP"><voice name="ja-JP-Standard-A"><p><![CDATA['くるま あか いです。']]></p></voice></speak> 

2019-10-15 18:23:28:635796 [INFO]   Assign Control Channel <ccee89f77f044e7a@speechsynth> to Connection 10.64.18.19:1544 <-> 10.64.53.1:60074 [0] -> [1]

2019-10-15 18:23:28:635839 [INFO]   Process SPEAK Request <ccee89f77f044e7a@speechsynth> [1]

2019-10-15 18:23:28:635892 [INFO]   Start Async Synth: encoding=1, sampling-rate=8000, language=en-US <ccee89f77f044e7a@gss>

I suspect there's something wrong with the ssml for Japanese. 

I'm going to play around with it but has anyone got an example already which works ?

Thanks very much.
Ed James

Arsen Chaloyan

unread,
Oct 21, 2019, 9:26:09 AM10/21/19
to UniMRCP
Hi Ed,

On Thu, Oct 17, 2019 at 1:49 AM Ed James <t...@contentguru.com> wrote:
Hi All,
These are three extracts from the uniMRCP server log file showing an error. The server default language is en-US and I'm doing TTS using the Google Umsgss plugin. If I send in text to be vocalized in en-GB then it works fine but text to be vocalized in jp-JP fails the parser (even when the Japanese text is romanized):

en-GB Works OK (Ssml contains en-GB and en-GB sent to gss):
 
2019-10-16 16:16:31:435302 [INFO]   Receive MRCPv2 Data 172.18.1.178:1544 <-> 10.1.2.221:8311 [356 bytes]
MRCP/2.0 356 SPEAK 1
Channel-Identifier: 885074b608324643@speechsynth
Content-Type: application/synthesis+ssml
Content-Length: 219
<?xml version="1.0"?><speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-GB"><voice name="en-GB-Standard-A"><p>I have of late wherefore I know not lost all my myrth twenty</p></voice></speak>
2019-10-16 16:16:31:435360 [INFO]   Assign Control Channel <885074b608324643@speechsynth> to Connection 172.18.1.178:1544 <-> 10.1.2.221:8311 [0] -> [1]
2019-10-16 16:16:31:435370 [DEBUG]  Signal Message to [MRCP Server] [0x7ff6940008c0;2;3]
2019-10-16 16:16:31:435386 [DEBUG]  Wait for Messages [MRCPv2-Agent-1] timeout [600000]
2019-10-16 16:16:31:435403 [DEBUG]  Process Message [MRCP Server] [0x7ff6940008c0;2;3]
2019-10-16 16:16:31:435410 [DEBUG]  Dispatch Signaling Message [1]
2019-10-16 16:16:31:435416 [INFO]   Process SPEAK Request <885074b608324643@speechsynth> [1]
2019-10-16 16:16:31:435448 [DEBUG]  Wait for Messages [MRCP Server]
2019-10-16 16:16:31:435548 [DEBUG]  Set voice name [en-GB-Standard-A] <885074b608324643@gss>
2019-10-16 16:16:31:435569 [INFO]   Start Async Synth: encoding=1, sampling-rate=8000, language=en-GB <885074b608324643@gss>

OK. Everything is as expected.


jp-JP Breaks (Ssml contains jp-JP and en-US [the server default] sent to gss) with Romanized Japanese:

2019-10-16 17:01:04:648013 [INFO]   Receive MRCPv2 Data 172.18.1.178:1544 <-> 10.1.2.221:9119 [333 bytes]
MRCP/2.0 333 SPEAK 1
Channel-Identifier: 1306a829f2014a9b@speechsynth
Content-Type: application/synthesis+ssml
Content-Length: 196
<?xml version="1.0"?><speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="ja-JP"><voice name="ja-JP-Standard-A"><p><Keiro o kisai shita tekisutomesseji></p></voice></speak>
2019-10-16 17:01:04:648050 [INFO]   Assign Control Channel <1306a829f2014a9b@speechsynth> to Connection 172.18.1.178:1544 <-> 10.1.2.221:9119 [0] -> [1]
2019-10-16 17:01:04:648061 [DEBUG]  Signal Message to [MRCP Server] [0x7ff6940008c0;2;3]
2019-10-16 17:01:04:648077 [DEBUG]  Wait for Messages [MRCPv2-Agent-1] timeout [600000]
2019-10-16 17:01:04:648094 [DEBUG]  Process Message [MRCP Server] [0x7ff6940008c0;2;3]
2019-10-16 17:01:04:648102 [DEBUG]  Dispatch Signaling Message [1]
2019-10-16 17:01:04:648107 [INFO]   Process SPEAK Request <1306a829f2014a9b@speechsynth> [1]
2019-10-16 17:01:04:648131 [DEBUG]  Wait for Messages [MRCP Server]
2019-10-16 17:01:04:648220 [WARN]   Failed to Feed XML Content to Parser
2019-10-16 17:01:04:648249 [INFO]   Start Async Synth: encoding=1, sampling-rate=8000, language=en-US <1306a829f2014a9b@gss>

There is nothing wrong with the supplied Japanese content itself. The problem is in the surrounding brackets in XML data.

Instead of
<Keiro o kisai shita tekisutomesseji> 
use
Keiro o kisai shita tekisutomesseji
jp-JP Breaks (Ssml contains jp-JP and en-US [the server default] sent to gss) with Japanese characters:

<?xml version="1.0"?><speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="ja-JP"><voice name="ja-JP-Standard-A"><p><![CDATA['くるま あか いです。']]></p></voice></speak> 

2019-10-15 18:23:28:635796 [INFO]   Assign Control Channel <ccee89f77f044e7a@speechsynth> to Connection 10.64.18.19:1544 <-> 10.64.53.1:60074 [0] -> [1]

2019-10-15 18:23:28:635839 [INFO]   Process SPEAK Request <ccee89f77f044e7a@speechsynth> [1]

2019-10-15 18:23:28:635892 [INFO]   Start Async Synth: encoding=1, sampling-rate=8000, language=en-US <ccee89f77f044e7a@gss>

I tried the same content, and everything seemed to work as intended. The language was set to ja-JP and synthesized speech was audible. I think it is clear that bypass-ssml in umsgss.xml is supposed to be set to false in order to pick up the language tag from the supplied SSML.



I suspect there's something wrong with the ssml for Japanese. 

Unless I am missing anything here, there should not be any problems with Japanese or any other language.
 

I'm going to play around with it but has anyone got an example already which works ?

Thanks very much.
Ed James

--
You received this message because you are subscribed to the Google Groups "UniMRCP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to unimrcp+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/unimrcp/d85c5935-fade-4109-a63d-f20b2b531f45%40googlegroups.com.


--
Arsen Chaloyan
Author of UniMRCP
http://www.unimrcp.org
Reply all
Reply to author
Forward
0 new messages