如何在“语音调度员”中使用索引标记?

时间:2013-02-14 17:07:43

标签: c text-to-speech

所以,问题如主题:“如何在语音调度员中使用索引标记?”我听到很多关于它的信息,但是找不到任何关于如何在SPD_MODE_THREADED中使用它的教程。主要问题是当您发送“SPEAK”命令时,您无法将数据模式更改为SPD_DATA_SSML。而且我认为我做错了什么。那么,谁知道如何使用这个索引标记,教程也是非常可以接受的。谢谢!

1 个答案:

答案 0 :(得分:1)

解决,这是在speech-dispatcher中设置索引标记的方法:

pthread_mutex_lock( m_connection->ssip_mutex );

spd_execute_command_wo_mutex( m_connection, "SET SELF SSML_MODE on" );

spd_execute_command_wo_mutex( m_connection, "SPEAK" );

char * reply = spd_send_data_wo_mutex( m_connection, "<speak>Hello, <mark name=\"mark1\"/> how does it work?</speak>", SPD_NO_REPLY );
delete[] reply;

spd_execute_command_wo_mutex( m_connection, "\r\n." );

spd_execute_command_wo_mutex( m_connection, "SET SELF SSML_MODE off" );

pthread_mutex_unlock( m_connection->ssip_mutex );

<mark name=\"mark1\"/>是索引标记。 mark1是索引标记名称。

此文档对于低级语音调度员沟通非常有用:http://cvs.freebsoft.org/doc/speechd/ssip.html#Top