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

7 years 10 months 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 Anthony,

Now  I got a set of various voices to use. The cmu-bdl sounds the best for me in English.

If I could tweak the pitch and speed it would very great!

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?
 

 

Gael, actually the base voice I use is the male voice. I will try to put together a little tutorial on how I created Junior's distinct voice which may help.

Kyle