My purpose is to just become more familiar with MRL.

I was trying to replicate the sample tutorial that you have and seem to be having some trouble.

I am interested in getting the speech aspect working for a simple project of face recognition and a comment of recognition.

as for right now though I would just like to get the example working.

Here is a screen shot of what I have done.

I am able to see the message in the logger, however no speech is coming through.

Thanks for the help in advance.

 

GroG

11 years 10 months ago

First, Welcom 1Robomaker..  appreciate your interest..

Well, right off the bat I can see your "over-trying" you don't need to create the route from speech to speechAduioFile - nor do you need to create an AudioFile service..  this should be done auto-magically for you when you load speech..

From the Runtime tab (the one which says MRLXXXXXXX)  I started a Clock service named clock and a Speech service named speech.  From that I made a single message route from the clock . pulse -> (String)  to the speech in (speech -> speak(String))...

Then hit the start button...  It downloaded the "Hello.mp3" from google and repeated this until I hit "stop clock"

If this doesn't work for you, send me a log file...   you can do this by hitting the button under :

help -> about -> "Grog, it no-worky"

Let me know how it goes . :)

GroG

11 years 10 months ago

Thanks,
I see your log file - I think this is the error which is holding you up...

 

Caused by: java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
Speech apparently needs this additional logging jar - so I've added it to the repo description.
 
Instead of getting the next release - you can simply "Install"  the Houston service (which includes commons & OpenCV which you'll need at some point) and this should take care of the missing dependency..  Once its install it should work for you.
 
Regards,
GroG

GroG

11 years 10 months ago

Can't stop talking ?

Yeah.. that could be a problem :)

When you stop the clock it stops the pulses of Hello to speech, but it takes longer than a second to "Say Hello".  So the pulses are queued up on the Speech service....

If you give it long enough, it will go through them all.

You can configure the clock to send pulses at a greater interval - e.g. 2000ms (every 2 seconds)..  Or you can configure Speech to say things immediately as they come versus sequentially .. this makes for weirdness, in that the speech can say 2+ things at once... it sounds kindof "Psycho" when it says things simultaneously..

Speaking of Psycho,
please reply in the comments, otherwise it seems like I'm talking to myself.

1Robomaker

11 years 10 months ago

I appreciate ur patience. Works great now. I love messing with this, its a dream come true.

Thanks for the good feelings !

From the log file, I see your on a 64bit Linux box - have you tried using OpenCV yet ?  I'm wondering because we recently went through an update from OpenCV 2.4.2 to 2.4.3 - 

And if your interested in face recognition - this would be the next logical service to use.

MRL (myrobotlab) currently has a face detection filter, but not a face "recognition".  The difference is the ability to recognize any face versus a specific face.  Recognition could be done now with the Template match filter + Face detection + some code....

I'm very interested in getting a visual memory working, where specific objects can be memorized and later recognized... but not quite there yet ... :)

1Robomaker

11 years 10 months ago

Yea, I did try it as a matter of fact. The face recognition seems to work good with my logitec webcam.
The image display was reeeeealy small though. I was able to record a frame shot and it looked good went right in the Mel folder. I look forward to learning how to use it better.
Thanks for a great program. Digital Lego is great fun!

GroG

11 years 10 months ago

In reply to by 1Robomaker

Great !  Yay Linux 64 works...   thanks ! (only 5 more platforms to test :P )

Reeeealy small ?  That's suprising, I've heard too big before - hmm, did you have a PyramidDown filter on?

Heh, took me a while to get the digital lego reference :D  ...  It's been such a looong time from when I did that ooooold video.

Oh, change your profile picture (maybe with the frame you got) ... you've officially graduated beyond scared gopher !

Alessandruino

11 years 9 months ago

Hi..my name is Alessandro...I'm Italian and I'm new in this Forum...First, Grog i really appreciate your hard work...

now, here the problem: I've the same problem...I am able to see the message in the logger, however no speech is coming through... (operative system win7 64 bit)..

I attach the log file...

Thanks for the help.... 


 

239035 [LOG] INFO  org.myrobotlab.service.Logging  - log message from CLOCK1.[Ljava.lang.Object;@d9ac22c
239036 [SPEECH] INFO  org.myrobotlab.service.Speech  - audioFile\google\en\audrey\hello.mp3 is missing 
239046 [SPEECH] ERROR org.myrobotlab.service.Speech  - http://translate.google.com:80/translate_tts?tl=en&q=hello
239053 [SPEECH] ERROR class org.myrobotlab.framework.Service  - ------
java.lang.reflect.InvocationTargetException
at sun.reflect.GeneratedMethodAccessor17.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.myrobotlab.framework.Service.invoke(Unknown Source)
at org.myrobotlab.framework.Service.invoke(Unknown Source)
at org.myrobotlab.framework.Service.invoke(Unknown Source)
at org.myrobotlab.framework.Service.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NoClassDefFoundError: org/apache/commons/codec/DecoderException
at org.apache.commons.httpclient.HttpMethodBase.<init>(HttpMethodBase.java:220)
at org.apache.commons.httpclient.methods.GetMethod.<init>(GetMethod.java:89)
at org.myrobotlab.service.HTTPClient.get(Unknown Source)
at org.myrobotlab.service.HTTPClient.get(Unknown Source)
at org.myrobotlab.service.Speech.speakGoogle(Unknown Source)
... 8 more
Caused by: java.lang.ClassNotFoundException: org.apache.commons.codec.DecoderException
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 13 more
------
 
239035 [gui] WARN  class org.myrobotlab.framework.Service  - org.myrobotlab.control.ClockGUI#pulse NoSuchMethodException - attempting upcasting
239060 [gui] WARN  class org.myrobotlab.framework.Service  - ouch! need to search through 27 methods
239061 [gui] ERROR class org.myrobotlab.framework.Service  - did not find method - pulse(hello)
240035 [LOG] INFO  org.myrobotlab.service.Logging  - log message from CLOCK1.[Ljava.lang.Object;@4b24b176
240036 [SPEECH] INFO  org.myrobotlab.service.Speech  - audioFile\google\en\audrey\hello.mp3 is missing 
240036 [SPEECH] ERROR org.myrobotlab.service.Speech  - http://translate.google.com:80/translate_tts?tl=en&q=hello
240041 [SPEECH] ERROR class org.myrobotlab.framework.Service  - ------
java.lang.reflect.InvocationTargetException
at sun.reflect.GeneratedMethodAccessor17.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.myrobotlab.framework.Service.invoke(Unknown Source)
at org.myrobotlab.framework.Service.invoke(Unknown Source)
at org.myrobotlab.framework.Service.invoke(Unknown Source)
at org.myrobotlab.framework.Service.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NoClassDefFoundError: org/apache/commons/codec/DecoderException
at org.apache.commons.httpclient.HttpMethodBase.<init>(HttpMethodBase.java:220)
at org.apache.commons.httpclient.methods.GetMethod.<init>(GetMethod.java:89)
at org.myrobotlab.service.HTTPClient.get(Unknown Source)
at org.myrobotlab.service.HTTPClient.get(Unknown Source)
at org.myrobotlab.service.Speech.speakGoogle(Unknown Source)
... 8 more
Caused by: java.lang.ClassNotFoundException: org.apache.commons.codec.DecoderException
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 13 more
------
 

Alessandruino

11 years 9 months ago

When i try to install a service , the pop up freeze on this.... 

GroG

11 years 9 months ago

In reply to by Alessandruino

Ok, this is what I know so far :

System->Update ->Install All  - does not work - I'm fixing that now
System->Update -> Update All - might have problems - but its not what you want anyway

If it's just spinning then it can not connect to the "Service Repo",
This would probably be a network issue on your side.
Do you use a proxy server?