Neues Modul: Text2Speech

Begonnen von Tobias, 07 Januar 2014, 12:57:23

Vorheriges Thema - Nächstes Thema

spiedo

Zitat von: Dittel am 01 Februar 2015, 15:10:58
Kann mir jemand einen Tipp geben bezüglich der Mickeymousstimme bei Sprachausausgabe mit vorangestellter mp3 Datei? Ich dachte das hier schon mal gelesen zu haben.

Ich hatte das Problem auch. Nachdem ich jede Sprachausgabe mit einen eigenem "set" aufrufe ist die Mickeymousstimme nicht mehr vorgekommen.

Christian S.

Hallo Tobias!

Kannst du bitte nochmal meine Antwort 278 ansehen. Hast du noch eine Idee warum bei mir die Sprachausgabe über den Bluetooth- Lautsprecher nicht funktioniert? Sollte ich ein Bluetooth device sehen wenn ich aplay -l eingebe? Die Sprachausgabe über einen direkt am Raspberry angeschlossenen Lautsprecher funktioniert problemlos.
FHEM auf NUC, CUL V3 868 MHz
DECT200 Steckdosen
MAX Heizungsthermostate, Wandthermostate, Fensterkontakte
Homematic
Netatmo

Tobias

Hi,
bei aplay -l wird das Device nicht gelistet. Nur über das hcitool

Warum /etc/init.d/alsasound bei nicht da ist, weiß ich nicht. Ich hatte alle auf einem Raspi mit Raspian laufen. Kann das sein das bei dir Pulseaudio installiert ist?
Hier kann ich dir nicht wirklich weiterhelfen :(
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Christian S.

Die Sprachausgabe über den Bluetooth- Lautsprecher funktioniert jetzt.  :)
Pulseaudio war bei mir nicht installiert.
Ich hatte zum testen immer "mplayer -ao alsa:device=hw=0.0 Test.mp3" eingegeben und nichts gehört.
Bei der Eingabe "mplayer -ao alsa:device=bluetooth Test.mp3" kam dann Musik aus dem Lautsprecher.
Deshalb habe ich in Fhem "define MyTTS Text2Speech bluetooth" eingegeben. Jetzt funktioniert die Sprachausgabe auch in Fhem über Bluetooth.
FHEM auf NUC, CUL V3 868 MHz
DECT200 Steckdosen
MAX Heizungsthermostate, Wandthermostate, Fensterkontakte
Homematic
Netatmo

Navigator

...funktioniert das stabil und dauert es länger, wegen der aufzubauenden bluetooth verbindung?
Gruß aus Sachsen. FHEM auf Cubietruck. Vormals EZControl XS1 User.

Christian S.

Bis jetzt läuft es stabil. Ich habe keine Verzögerung in der Sprachausgabe.
FHEM auf NUC, CUL V3 868 MHz
DECT200 Steckdosen
MAX Heizungsthermostate, Wandthermostate, Fensterkontakte
Homematic
Netatmo

Von-XS1-Nach-FHEM

Wie viel Bluetooth Lautsprechers hast du dann angeschlossen? Wie viel Standby strom benutzen die so?  Ich habe vor meine Klingel auch über die Anlage laufen zu lassen und spiele mit die Idee mehrere Bluetooth Lautsprechers zu kaufen damit mann durch das ganze Haus alles mit bekommt (Klingel, Post, Waschmaschine Fertig usw.) viele Sachen mitteilen kannst. Hat jemand von euch da ein gute tipp wie und was ich da am besten benutzen kann? Welche Lautsprecher wurden da am besten zu passen Und gibt es auch ein Bluetooth stick der weitere Entfernungen kann überbrücken?

Ich werde dankbar über jeder Antwort!

Toto1973

Hallo!
Ich hab nun die ganze Zeit an der Bluetooth-Ausgabe herumgebastelt. So wie es im Wiki beschrieben ist, funktioniert es nicht.
Ich halte mich komplett an die Anleitung und habe auch alle Dateien bearbeite.
Wenn ich dann sudo rfcomm connect rfcomm0 eingebe, kommt eine Fehlermeldung Can't connect RFCOMM socket: Connection refused

Ebenso funktioniert das hier nicht: /etc/init.d/alsasound restart
Da kommt: -bash: /etc/init.d/alsasound: No such file or directory

Wer hat eine Idee, wie ich das ans Laufen bekomme?
Raspberry PI2, Rademacher DuoFern Stick, CUL, 2 x SCC,  JeeLink 868 Mhz, JeeLink 433 Mhz, 3x Magic UFO LED WiFi Controller, 4x MAX BC-RT-TRX-CyG, 2x MAX Fensterkontakt, 5x Rademacher Gurtwickler, 6x TX29DTH-it, 2x TX25-it als Helligkeitssensor, 1X HM-ES-PM, 6x Sonoff, 7x G-Homa, PIR-1000

Toto1973

Mit den Tools, konnte ich pairen. https://code.google.com/p/bluez-tools/
Aber ich bekomme die Audioausgabe nicht auf dieses Device...
Raspberry PI2, Rademacher DuoFern Stick, CUL, 2 x SCC,  JeeLink 868 Mhz, JeeLink 433 Mhz, 3x Magic UFO LED WiFi Controller, 4x MAX BC-RT-TRX-CyG, 2x MAX Fensterkontakt, 5x Rademacher Gurtwickler, 6x TX29DTH-it, 2x TX25-it als Helligkeitssensor, 1X HM-ES-PM, 6x Sonoff, 7x G-Homa, PIR-1000

Kuzl

Was hast du denn für ein Gerät?

Toto1973

#310
Hallo!
Ich war heute Nacht einfach nur frustriert :-)

Hier mal die Infos:
Raspberry PI2 mit einem Bus 001 Device 006: ID 0a5c:2021 Broadcom Corp. BCM2035B3 Bluetooth Adapter
Als Betriebssystem ist RASPBIAN installiert.
Und das wird angezeigt, wenn ich Verison in FHEM eingeben:
# $Id: fhem.pl 8066 2015-02-22 13:33:26Z rudolfkoenig $
# $Id: 00_CUL.pm 7770 2015-01-30 07:04:52Z rudolfkoenig $
# $Id: 14_CUL_MAX.pm 7532 2015-01-11 19:00:48Z mgehre $
# $Id: 14_CUL_TCM97001.pm 6689 2014-10-05 12:27:19Z rudolfkoenig $
# $Id: 14_CUL_TX.pm 6689 2014-10-05 12:27:19Z rudolfkoenig $
# $Id: 72_FB_CALLMONITOR.pm 8043 2015-02-19 21:14:42Z markusbloch $
# $Id: 01_FHEMWEB.pm 8094 2015-02-25 06:16:53Z rudolfkoenig $
# $Id: 11_FHT.pm 5070 2014-02-28 07:48:55Z rudolfkoenig $
# $Id: 92_FileLog.pm 7854 2015-02-03 19:23:22Z rudolfkoenig $
# $Id: 98_GEOFANCY.pm 6985 2014-11-16 00:05:49Z loredo $
# $Id: 12_HMS.pm 5097 2014-03-02 15:25:08Z rudolfkoenig $
# $Id: 10_IT.pm 7839 2015-02-02 20:25:11Z dancer0705 $
# $Id: 36_JeeLink.pm 7805 2015-01-31 19:26:58Z justme1968 $
# $Id: 36_LaCrosse.pm 7027 2014-11-20 20:08:00Z justme1968 $
# $Id: 10_MAX.pm 8011 2015-02-16 20:21:49Z mgehre $
# $Id: 70_STV.pm 7763 2015-01-28 20:55:26Z bentele $
# $Id: 99_SUNRISE_EL.pm 6765 2014-10-14 18:24:29Z rudolfkoenig $
# $Id: 98_SVG.pm 7981 2015-02-14 17:29:46Z rudolfkoenig $
./FHEM/_TM.pm: No such file or directory
# $Id: 98_Text2Speech.pm 7588 2015-01-16 17:32:08Z tobiasfaust $
# $Id: 99_Utils.pm 7914 2015-02-08 11:14:10Z rudolfkoenig $
# $Id: 59_Weather.pm 6705 2014-10-07 17:41:42Z borisneubert $
# $Id: 32_WifiLight.pm 80 2015-02-01 21:45:00Z herrmannj $
# $Id: 90_at.pm 8057 2015-02-21 19:08:03Z rudolfkoenig $
# $Id: 98_dummy.pm 4934 2014-02-15 08:23:12Z rudolfkoenig $
# $Id: 91_eventTypes.pm 7221 2014-12-15 10:02:49Z rudolfkoenig $
# $Id: 95_holiday.pm 7330 2014-12-27 09:23:04Z rudolfkoenig $
./FHEM/99_myUtils.pm: No such file or directory
################################## # $Id: 99_myUtilsTM.pm 2014-8 by Elektrolurch $
# $Id: 91_notify.pm 7854 2015-02-03 19:23:22Z rudolfkoenig $
# $Id: $
# $Id: 98_telnet.pm 8017 2015-02-17 11:10:16Z rudolfkoenig $
# $Id: 98_weblink.pm 5608 2014-04-23 10:57:16Z rudolfkoenig $


Vielleicht ist das hier noch interessant:
root@raspberrypi:~# bt-device -i 00:02:3C:24:29:0A
[00:02:3C:24:29:0A]
  Name: Creative D100
  Alias: Creative D100 [rw]
  Address: 00:02:3C:24:29:0A
  Icon: audio-card
  Class: 0x240404
  Paired: 1
  Trusted: 0 [rw]
  Blocked: 0 [rw]
  Connected: 0
  UUIDs: [AudioSink, AVRemoteControlTarget, AVRemoteControl]


Das zeigt, das ein pairen also möglich sein muss.

Und das hier noch, vielleicht hilft das bei der Fehlersuche:
root@raspberrypi:~# sudo /etc/init.d/bluetooth start
[ ok ] Starting bluetooth: bluetoothd rfcomm.
root@raspberrypi:~# sudo /etc/init.d/bluetooth info
Usage: /etc/init.d/bluetooth {start|stop|restart|force-reload|status}
root@raspberrypi:~# sudo /etc/init.d/bluetooth force-reload
[ ok ] Stopping bluetooth: rfcomm /usr/sbin/bluetoothd.
[ ok ] Starting bluetooth: bluetoothd rfcomm.
root@raspberrypi:~# sudo /etc/init.d/bluetooth status
[ ok ] bluetooth is running.

Raspberry PI2, Rademacher DuoFern Stick, CUL, 2 x SCC,  JeeLink 868 Mhz, JeeLink 433 Mhz, 3x Magic UFO LED WiFi Controller, 4x MAX BC-RT-TRX-CyG, 2x MAX Fensterkontakt, 5x Rademacher Gurtwickler, 6x TX29DTH-it, 2x TX25-it als Helligkeitssensor, 1X HM-ES-PM, 6x Sonoff, 7x G-Homa, PIR-1000

Tobias

Du musst definitiv den Eintrag in der asound.conf machen.  Diesen kannst du dann mit dem mplayer Aufruf referenzieren

Gesendet von meinem ALCATEL ONE TOUCH 997D mit Tapatalk

Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Toto1973

Ich habe nochmal alles nach WiKi durch gecheckt. Auch die Einträge in der asound.conf sind vorhanden. Leider geht es nicht!
Aber ich werde mir einen Bluetooth Sender holen und den an die Audiobuchse des Raspberry anschließen.
root@raspberrypi:~# bluetooth-agent 0000 &
[1] 2350
root@raspberrypi:~# rfcomm connect rfcomm0
Can't connect RFCOMM socket: Connection refused
Raspberry PI2, Rademacher DuoFern Stick, CUL, 2 x SCC,  JeeLink 868 Mhz, JeeLink 433 Mhz, 3x Magic UFO LED WiFi Controller, 4x MAX BC-RT-TRX-CyG, 2x MAX Fensterkontakt, 5x Rademacher Gurtwickler, 6x TX29DTH-it, 2x TX25-it als Helligkeitssensor, 1X HM-ES-PM, 6x Sonoff, 7x G-Homa, PIR-1000

Tobias

nur zu beruhigung, am BT bin ich auch fast verzweifelt, habe zig Seiten im Unternet durchstöbert und alles mögliche ausprobiert. Was schlussendlich funktioniert hat, hab ich dann ins wiki geschrieben.

Bei deinem letzten Post, ich habe mit mehreren SSH-Verbindungen gearbeitet, damit ich die einzelnen Ausgaben vom rfcomm sehe. Du hast ja alles in den Hintergrund geschickt
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

kaihs

Ich bin vom RPi auf den BananaPi umgezogen und habe seitdem ein Problem mit Text2Speech, die Ausgabe des Tons erfolgt stark verzögert.


Internals:
   ALSADEVICE hw=2.0
   DEF        hw=2.0
   MODE       DIRECT
   NAME       MyTTS
   NR         85
   STATE      Initialized
   TYPE       Text2Speech
   Readings:
     2015-03-10 21:26:40   duration        1
     2015-03-10 21:26:40   endTime         00:00:00
   Helper:
     Text2Speech:
     Bm:
       Text2speech_attr:
         cnt        1
         dmx        0
         mAr
         max        0
         tot        0
       Text2speech_set:
         cnt        17
         dmx        0
         max        24
         tot        127
         mAr:
           HASH(MyTTS)
           MyTTS
           tts
           Hallo
           Welt!
Attributes:
   TTS_MplayerCall /usr/bin/mplayer
   TTS_UseMP3Wrap 1
   disable    0
   room       System,Wohnzimmer
   verbose    5


Ich habe die Ursache bereits so weit eingegrenzt, dass es an dem Aufruf von mplayer liegt.

Ich habe das Modul um eine zusätzliche Loggingausgabe in Text2Speech_DoIt erweitert

    if(-e $file) { # Datei existiert jetzt
      $cmd = Text2Speech_BuildMplayerCmdString($hash, $file);
      Log3 $hash->{NAME}, 4, "Text2Speech:" .$cmd;
      system($cmd);
      Log3 $hash->{NAME}, 4, "Text2Speech: done";
    }


Das führt dann z. B. zu folgendem Protokoll:

2015.03.10 21:26:40 4: Text2Speech: Bearbeite jetzt den Text: Hallo Welt!
2015.03.10 21:26:40 4: Text2Speech: Textbaustein ist keine direkte MP3 Datei, ermittle MD5 CacheNamen: 55243ecf175013cfe9890023f9fd9037.mp3
2015.03.10 21:26:40 4: Text2Speech: 'cache/55243ecf175013cfe9890023f9fd9037.mp3' gefunden, kein Download
2015.03.10 21:26:40 4: Text2Speech_CalcMP3Duration: cache/55243ecf175013cfe9890023f9fd9037.mp3 hat eine Länge von 1 Sekunden.
2015.03.10 21:26:40 4: Text2Speech:/usr/bin/mplayer -ao alsa:device=hw=2.0  -nolirc -noconsolecontrols cache/55243ecf175013cfe9890023f9fd9037.mp3
2015.03.10 21:26:40 4: Text2Speech_readingsSingleUpdateByName: Dev:MyTTS Reading:duration Val:1
2015.03.10 21:26:40 4: Text2Speech_readingsSingleUpdateByName: Dev:MyTTS Reading:endTime Val:00:00:00
2015.03.10 21:27:06 4: Text2Speech: done


Zwischen Start von mplayer und dem Ende des Prozesses vergehen also 26 Sekunden für eine Soundausgabe von 1 Sekunde, die Ton ist auch erst nach 25 Sekunden zu hören.

Starte ich das selbe Kommando als user fhem auf der Shell gibt es diese Verzögerung nicht:

fhem@bananapi:~$ id
uid=999(fhem) gid=20(dialout) groups=20(dialout),29(audio),44(video),113(i2c)
fhem@bananapi:~$ time /usr/bin/mplayer -ao alsa:device=hw=2.0  -nolirc -noconsolecontrols -really-quiet cache/55243ecf175013cfe9890023f9fd9037.mp3

real    0m2.385s
user    0m0.867s
sys     0m0.207s


Ein strace zeigt, dass der mplayer Prozess 28764 sehr lange versucht irgendwelche Font Dateien zu öffnen, z. B.

28784 21:27:04 open("/usr/share/fonts/X11/encodings/large/.AppleDouble/gb18030.2000-0.enc.gz", O_RDONLY) = -1 ENOENT (No such file or directory)
28784 21:27:04 open("/usr/share/fonts/X11/encodings/large/gb18030.2000-0.enc.gz/..namedfork/rsrc", O_RDONLY <unfinished ...>
516   21:27:04 gettimeofday( <unfinished ...>
28784 21:27:04 <... open resumed> )     = -1 ENOTDIR (Not a directory)
516   21:27:04 <... gettimeofday resumed> {1426019224, 363029}, NULL) = 0
28784 21:27:04 open("/usr/share/fonts/X11/encodings/large/gb18030.2000-0.enc.gz/rsrc", O_RDONLY <unfinished ...>


Hat jemand eine Idee was das sein kann und warum sich mplayer in dieser Konstellation anders verhält als beim direkten Aufruf?
Banana Pi, Add-On Board mit 1.8" TFT LCD und IR-Sender, CULFW V1.61, div. Homematic Komponenten, Pollin Funksteckdosen, Selbstbau CUL433 MHz, Jeelink Clone, EC3000
Selbstbau CUL868MHz für Wireless M-Bus, SIGNALduino mit Logilink Temp.-sensoren und Auriol Wetterstation