Back to Tutorials Index... ## REETI with CereprocTts If you are not fully satisfied by the Loquendo TTS installed on reeti, <a href="https://www.cereproc.com/en/home" target="_blank"> CereprocTts</a> will be a good choice to us. <img src="../../images/tutorials/Cereproctts.png" width="400" height="300" style="border:2px solid black"/> VSM sends speech command to ReetiV2Engine. Then, ReetiV2Engine checks whether the command contains "voice=Cereproc" or not. If it contains "voice=Cereproc", ReetiV2Engine will forward the text content to ReetiUrbiServer directly. ReetiUrbiServer calls CereprocTts to generate the corresponding voice from Reeti. After that, ReetiUrbiServer sends finished message to VSM through ReetiV2Engine.<br/> To use CereprocTts, we need to:<br/> <blockquote> Reeti side: Launch ReetiUrbiServer<br/> VSM side: Change Voice Settings </blockquote> 1, Launch ReetiUrbiServer on Reeti<br/> <blockquote> ReetiUrbiServer can be downloaded from github.<br/><br/> git clone https://github.com/RobbieGUO/ReetiUrbiServer.git<br/><br/> <blockquote> How to compile :<br/> <ol type="i"> <li>open this project in netbeans(Ensure that the Java Platform is JDK 1.8).</li> <li>open "ReetiUrbiServer" properties, choose "Library". <ol> <li>add liburbijava.jar from directory "/usr/local/gostai/share/sdk-remote/java/lib".</li> <li>add CereproTtsServer.jar from directory "ReetiUrbiServer/dist/lib".</li> <li>if you need to use CerepeocTts, Add cerevoice_eng.jar If you do not have cerevoice_eng.jar, please go to https://www.cereproc.com/de/products/sdk.</li> </ol> </li> <li>build.</li> </ol> How to launch(The project should be launched on Reeti):<br/> file: ./res/serverConfig.properties <ol type="i"> <li>if you do not use CerepeocTts, change the value of CereproTts_Used to false.</li> <li>if you need to use CerepeocTts <ol > <li>change the value of CereproTts_Used to true.</li> <li>change the value of cereproc_lib_path to the directory of javalib. it should be (your cerevoice_sdk folder got from www.cereproc.com)/cerevoice_eng/javalib/</li> <li>change the value of cereproc_voice to the directory of your voce file (eg 'cerevoice_heather_3.0.9_22k.voice').</li> <li>change the value of cereproc_license to the directory of your license file (eg 'license.lic').</li> </ol> </li> </ol> Port<br/> - The port used in the project is 1256<br/> </blockquote> </blockquote> <br/> 2, Change Voice Settings of VSM<br/> <blockquote> file: project.xml (In VisualSceneMaker project)<br/> The child elements <Feature> define how an agent speaks.<br/> change "language" val to "en"<br/> chanage "voice" val to "Cereproc"<br/> There are two ways to edit the voice Settings on VSM through editor window.<br/><br/> 1, After we enter the VSM Welcome Screen, if you can find your project in the Recent Project list, right click on it, we can get the editor window.<br/> <img src="../../images/tutorials/VoiceSettings1.png" width="500" height="600" style="border:2px solid black"/><br/> 2, After we enter the VSM Workspace, click Project Preferences button, we can get the editor window.<br/> <img src="../../images/tutorials/VoiceSettings2.png" width="500" height="600" style="border:2px solid black"/><br/><br/> After we get the editor window, select the agent you are using, change the value of "language" to "en", chanage the value of "voice" to "Cereproc". </blockquote> ## Vocal Gestures and Emotion Tags Non-speech sounds, such as laughter and coughing, can be inserted into the output speech with CereProc Tts. <br/> For example, <br/> <blockquote> scene_en VocalGestures:<br/> reeti: laughGesture, Hello world! </blockquote> Reeti emits laughter, and says "Hello world". <br/> "laughGesture" is one of the keywords to tell Reeti to select a vocal gesture to be included in the synthesis output. We can put the keywords anywhere we want in the sentences. <br/> There are 52 keywords available here. Such as "tutGesture", "tuttutGesture", "coughGesture", and so on. <br/> You can check them from the following link:<br/> <a href="tut_CereProcTtsTag.html" > CereProcTts Vocal Gestures </a> Emotion Tags are used to make Reeti speak with different emotional voices. "HappyMode" and "SadMode" are the keywords to mark sentences spoken happily and sadly. Without keywords, Reeti speaks calmly.<br/> Emotion Tags should be placed at the beginning of each sentences. Since VSM seperates text depending on punctuations, "Hi, I am Anna." is two sentences: "Hi," and "I am Anna." to us.<br/> Example: <br/> <blockquote> scene_en EmotionTags:<br/> reeti: HappyMode Hello world! </blockquote> Reeti will say "Hello world" happily. <br/><br/> <font color="red">Warning: Since bottomLip is being moved when we use CereprocTts, so, sequences (ie animations) should not contain bottomLip commands when we use them with CereprocTts at the same time. Otherwise, it it better to stop bottomLip moving in ReetiUrbiServer.</font> <br/> To avoid containing bottomLip commands, the "position" under the mouth should not be selected in the poses when we create them with Reeti RPilot.<br/> <img src="../../images/tutorials/bottomLip.png" width="650" height="900" style="border:2px solid black"/><br/> ## Hello World <blockquote> 1, Launch ReetiUrbiServer, VSM and ReetiV2Engine separately.<br/> 2, Create a new project with VSM, and create an agent named reeti and change the value of "language" to "en", chanage the value of "voice" to "Cereproc". <br/> 3, Click Project Preferences button to change the IP setting of the reeti executor.<br/> 4, Drag a basic node to the SceneFlow Editor and rename it "Start". Then make that node to be actually the start node.<br/> 5, Click on the add button of the scene tab in Script Editor and add the following content: <blockquote> scene_en HelloWorld:<br/> reeti: Hello world![anim name='Emotions/happy']. </blockquote> 'happy' is an Anim Command. Make sure 'happy' sequence has been created by you on Reeti.<br/> If you do not know how to create sequences, visit http://wiki.reeti.fr/display/USERDOC/RShowmaker.<br/> In this example, Since 'Emotions/happy' and "Hello world" do not in the same sentence, 'Emotions/happy' can move bottomLip.<br/> 6, Drag "HelloWorld" from "Scenes" list in the Building Block panel on the left side to the "Start" node.<br/> <img src="../../images/tutorials/HelloWorldCereprocTts.png" width="650" height="900" style="border:2px solid black"/><br/> 7, Click the Play button on the top toolbar, we will see Reeti says "Hello World!" and smiles.<br/> </blockquote>
Back to Tutorials Index...