AcapellaSpeech is out of usage since yesterday, due to restrictions on the demo mode.

Because we need a speaking robot, I will try to use MarySpeech service instead of AcapellaSpeech service.

So I run a simple script like this:

inmoovTest = Runtime.createAndStart("inmoovTest", "ProgramAB")
inmoovTest.startSession("ProgramAB", "gael", "inmoovTest")
mouth = Runtime.createAndStart("i01.mouth", "MarySpeech")
mouth.setVoice("cmu-bd1-hsmm")

But this leads to an error concerning the  line 4. Voice does not exist??

Also I suspect that language needs to be notified in order to properly function following MaVo description:

http://myrobotlab.org/content/marytts-multi-language-support

Maybe adding:

mouth.setLocale(Locale.EN_US)

Help is very welcome.

:)

kyle.clinton

8 years ago

Gael, I had a few bumps along the way and I would be very happy to help!  One thing is that all of the language do not come packed in with MarySpeech.  I had to compile a male voice and add it to my MyRobotLab files... 

 

This is how I wired in MarySpeech in my test with Webkit and ProgramAB:

from java.lang import String
python = Runtime.getService("python")
 
# create a ProgramAB service and start a session
junior = Runtime.createAndStart("junior", "ProgramAB")
junior.startSession("ProgramAB", "default", "junior")
 
######################################################################
# create the speech recognition service
# Speech recognition is based on WebSpeechToolkit API
######################################################################
# Start the new WebGuiREST API for MRL
webgui = Runtime.createAndStart("webgui","WebGui")
 
######################################################################
# Create the webkit speech recognition gui
# This service works in Google Chrome only with the WebGui
######################################################################
wksr = Runtime.createAndStart("webkitspeechrecognition", "WebkitSpeechRecognition")
######################################################################
# create the html filter to filter the output of program ab
# this service will strip out any html markup and return only the text
# from the output of ProgramAB
######################################################################
htmlfilter = Runtime.createAndStart("htmlfilter", "HtmlFilter")
 
 
# create a Speech service
mouth = Runtime.createAndStart("MarySpeech", "MarySpeech")
mouth.setVoice("cmu-bdl-hsmm")
 
######################################################################
# MRL Routing webkitspeechrecognition -> program ab -> htmlfilter -> mouth
######################################################################
# add a link between the webkit speech to publish text to ProgramAB
wksr.addTextListener(junior)
# Add route from Program AB to publish text to the html filter
junior.addTextListener(htmlfilter)
# Add route to publish text from html filter to mouth
htmlfilter.addTextListener(mouth)
#stop Junior from listening to himself speak
wksr.addMouth(mouth)

I will try to upload the voice jar file it may need to be in another post...

Anything else I can do to help I would love to give back to this community which has provided so much to me!

 

Kyle

 

Thanks for the tip kyle

This is what I do to download extra voices ( i use french voices ) :

1 download : https://github.com/marytts/marytts/releases/download/v5.1.2/marytts-5.1…

2 launch : marytts-component-installer.bat from bin

from mary lib folder

3 copy all JAR voices into MRL libraries\jar

4 copy voice folder ( the folder not the content ) into MRL mary\lib

 

I just put only one voice because my script wont start

Thanks Kyle for sharing the jar file.

It's working but pretty disapointing compared to Acapela quality.

I saw that you have been playing at modifying the voice for Junior, any idea if you think it would faisible to enhance the male voice in some ways?