No local speech/sound output with TTS system

267 views
Skip to first unread message

HomeRun

unread,
Nov 9, 2013, 1:00:06 PM11/9/13
to ope...@googlegroups.com
Hi,

thanks first of all for this awesome piece of work.

I'm currently using openhab 1.3.1 on Debian wheezy 7.2 with openjdk-6-jre and alsa enabled.

When using the marytts addon I ran into the problem that no local speech output was possible on the server running openhab:

In the openhab log (with default debug settings) I discovered that the following LineUnavailableException occurs after a say(..) commands either issued directly on the osgi console or during a Startup rule:

18:48:55.475 DEBUG o.o.m.r.i.engine.RuleEngine[:277] - Executing startup rule 'Startup'
18:49:06.476 INFO  d.dfki.lt.tools.tokenizer.JTok[:146] - loading language resources for en from jtok/en
18:49:06.654 INFO  d.dfki.lt.tools.tokenizer.JTok[:146] - loading language resources for de from jtok/de
18:49:09.760 INFO  d.dfki.lt.tools.tokenizer.JTok[:146] - loading language resources for en from jtok/en
18:49:14.244 DEBUG o.o.i.m.i.t.TTSServiceMaryTTS[:95] - Mary TTS: Haussteuerung aktiviert. Openhab 1.3.1. (Voice not set. Using default voice bits1-hsmm).
javax.sound.sampled.LineUnavailableException
        at org.classpath.icedtea.pulseaudio.PulseAudioMixer.openImpl(PulseAudioMixer.java:714)
        at org.classpath.icedtea.pulseaudio.PulseAudioMixer.openLocal(PulseAudioMixer.java:588)
        at org.classpath.icedtea.pulseaudio.PulseAudioMixer.openLocal(PulseAudioMixer.java:584)
        at org.classpath.icedtea.pulseaudio.PulseAudioMixer.open(PulseAudioMixer.java:579)
        at org.classpath.icedtea.pulseaudio.PulseAudioDataLine.open(PulseAudioDataLine.java:94)
        at org.classpath.icedtea.pulseaudio.PulseAudioSourceDataLine.open(PulseAudioSourceDataLine.java:75)
        at org.classpath.icedtea.pulseaudio.PulseAudioSourceDataLine.open(PulseAudioSourceDataLine.java:90)
        at marytts.util.data.audio.AudioPlayer.run(AudioPlayer.java:206)


I checked that alsa sound is working on the system without problems:
# alsamixer
# aplay /usr/share/sounds/alsa/Front_Left.wav
and I was able to hear the respective sound file on the line out port.

MaryTTS seems to work well looking at the logs:
2013-11-09 18:48:57,778 [FolderObserver] INFO  marytts.main Mary starting up...
2013-11-09 18:48:57,786 [FolderObserver] INFO  marytts.main Specification version 5.1-SNAPSHOT
2013-11-09 18:48:57,787 [FolderObserver] INFO  marytts.main Implementation version unknown
2013-11-09 18:48:57,787 [FolderObserver] INFO  marytts.main Running on a Java 1.7.0_25 implementation by Oracle Corporation, on a Linux platform (i386, 3.2.0-4-686-pae)
2013-11-09 18:48:58,176 [FolderObserver] INFO  marytts.ModuleRegistry Now initiating mary module 'marytts.modules.Synthesis'
2013-11-09 18:48:58,187 [FolderObserver] INFO  marytts.ModuleRegistry Now initiating mary module 'marytts.modules.TextToMaryXML'
2013-11-09 18:48:58,191 [FolderObserver] INFO  marytts.ModuleRegistry Now initiating mary module 'marytts.modules.SableParser'
...
2013-11-09 18:49:15,471 [FolderObserver] INFO  marytts.PStream Gradient GV optimization for feature: (4)  number of iterations=56
2013-11-09 18:49:15,474 [FolderObserver] INFO  marytts.R 1 Request processed in 1219 ms.
2013-11-09 18:49:15,474 [FolderObserver] INFO  marytts.R 1    TextToMaryXML took 1 ms
2013-11-09 18:49:15,474 [FolderObserver] INFO  marytts.R 1    JTokeniser took 2 ms
2013-11-09 18:49:15,474 [FolderObserver] INFO  marytts.R 1    Preprocess took 12 ms
2013-11-09 18:49:15,474 [FolderObserver] INFO  marytts.R 1    OpenNLPPosTagger took 24 ms
2013-11-09 18:49:15,474 [FolderObserver] INFO  marytts.R 1    JPhonemiser_de took 117 ms
2013-11-09 18:49:15,474 [FolderObserver] INFO  marytts.R 1    Prosody took 66 ms
2013-11-09 18:49:15,475 [FolderObserver] INFO  marytts.R 1    PronunciationModel took 15 ms
2013-11-09 18:49:15,475 [FolderObserver] INFO  marytts.R 1    AcousticModeller took 410 ms
2013-11-09 18:49:15,475 [FolderObserver] INFO  marytts.R 1    Synthesis took 567 ms

Does anyone know how to debug further to see why the LineUnavailableException is thrown by the JVM? (I cannot find any process blocking access to the audio line..)

Any help on this is appreciated.

Thanks in advance

   A.

ralf...@gmail.com

unread,
May 8, 2014, 4:07:33 AM5/8/14
to ope...@googlegroups.com, alex...@speetzen.de

Hi Homerun,

I assume you use OpenJDK. I had the same Problem. I solved it by changing OpenJDK7 to Oracle Java. Now OpenHab speaks to me.
Reply all
Reply to author
Forward
0 new messages