FHEM Forum

FHEM - Anwendungen => Multimedia => Thema gestartet von: chunter1 am 28 September 2015, 14:26:21

Titel: Musik kurz unterbrechen für Sprachausgabe und dann wieder fortsetzen - WIE?
Beitrag von: chunter1 am 28 September 2015, 14:26:21
Hallo,

ich hab ein Logitech Squeezebox Radio in Verbindung mit einem Squeezebox Controller (läuft auf einem Synology NAS) im Einsatz.
Normalerweise hört meine Freundin darüber Internet Radiosender.
Was ich gerne machen würde ist, dass das laufende Radioporgramm für eine FHEM Sprach-/Signalausgabe (via mp3 file)  kurz unterbrochen wird und anschließend wieder fortgesetzt wird.
Dass das Radio das mp3 file abspielt habe ich schon hinbekommen, aber nicht, dass das Radio danach wieder in den ursprünglichen Mode wechselt.

Kann mir da bitte wer mit einem Codeschnipsel weiter helfen?

Danke
Chunter
Titel: Antw:Musik kurz unterbrechen für Sprachausgabe und dann wieder fortsetzen - WIE?
Beitrag von: ChrisD am 28 September 2015, 22:16:14
Hallo,

Wenn du das Radio in FHEM eingebunden hast kannst du das Ganze mit dem Befehl
set meinPlayer talk |Sprachausgabe.mp3|machen.

Grüße,

ChrisD
Titel: Antw:Musik kurz unterbrechen für Sprachausgabe und dann wieder fortsetzen - WIE?
Beitrag von: kvo1 am 01 Oktober 2015, 00:02:04
Zitat von: ChrisD am 28 September 2015, 22:16:14
Hallo,

Wenn du das Radio in FHEM eingebunden hast kannst du das Ganze mit dem Befehl
set meinPlayer talk |Sprachausgabe.mp3|machen.

Grüße,

ChrisD

und wo müßte Sprachausgabe.mp3   stehen ?!

Geht das auch mit set meinPlayer talk | sayText cooles Modul |   ;)
Titel: Antw:Musik kurz unterbrechen für Sprachausgabe und dann wieder fortsetzen - WIE?
Beitrag von: ChrisD am 03 Oktober 2015, 13:44:54
Hallo,

Zitatund wo müßte Sprachausgabe.mp3   stehen ?!
Bei diesem Beispiel muss die Datei im Hauptverzeichnis stehen. Wenn die Datei in einem anderen Verzeichnis steht muss der Pfad mit angegeben werden. Ein andere Möglichkeit ist das Attribut ttsMP3FileDir zu setzen, z.B.
attr meinPlayer ttsMP3FileDir /mnt/audio/effekte
Dies führt dazu dass die Dateien im Ordner /mnt/audio/effekte gesucht werden.

ZitatGeht das auch mit set meinPlayer talk | sayText cooles Modul |
Das führt dazu dass der Text "sayText cooles Modul" über TTS ausgegeben wird. Es ist im Moment nicht möglich eine Audiodatei abzuspielen die am Anfang oder Ende Leerzeichen hat.

Das Modul hängt auch die Erweiterung mp3 automatisch an wenn sie fehlt,
set meinPlayer talk |Sprachausgabe.mp3|
ist also das Gleiche wie
set meinPlayer talk |Sprachausgabe|

Grüße,

ChrisD
Titel: Antw:Musik kurz unterbrechen für Sprachausgabe und dann wieder fortsetzen - WIE?
Beitrag von: kvo1 am 03 Oktober 2015, 23:56:39
Hallo ChrisD,

muss leider nochmal nerven, sorry.
Bei mir wird überhaupt nix ausgegeben. Muß das mit TTS noch speziell konfiguriert werden.

weder

set meinPlayer talk |Hello|
noch
set meinPlayer talk |Hello.mp3|
noch
set meinPlayer talk |cooles Modul| (also ein Text) wird ausgegeben. Die Musik stoppt aber .

habe sogar noch mit

attr meinPlayer ttsMP3FileDir /opt/fhem
den Pfad explizit gesetzt !

Grüsse
klaus



Titel: Antw:Musik kurz unterbrechen für Sprachausgabe und dann wieder fortsetzen - WIE?
Beitrag von: ChrisD am 04 Oktober 2015, 22:04:38
Hallo,

Die talk-Funktion unterstützt 2 verschiedene Möglichkeiten etwas auszugeben:
- über die Umwandlung von Text zu Sprache über Google oder VoiceRSS
- durch die Ausgabe von fertigen MP3-Dateien

Die Syntax für die 1. Variante ist
set meinPlayer talk Hellooder
set meinPlayer talk cooles Modul
Dabei wird der Text an Google/VoiceRSS geschickt und diese liefern einen Audio-Stream zurück. Wenn dabei etwas schief geht wird nichts ausgegeben. Da Google vor kurzem die Parameter geändert hat, benötigst du mindestens Version 0045 das Moduls.

Für die 2. Variante ist die Syntax
set meinPlayer talk |Hello.mp3|Dadurch wird die bereits vorhandene Datei Hello.mp3 abgespielt.

Die beiden Varianten lassen sich auch mischen:
set meinPlayer talk |gong.mp3| Hallo |gong.mp3|
Dabei wird zuerst die bereits vorhandene MP3-Datei gong.mp3 abgespielt, danach der Text von Google/VoiceRSS in einen Stream umgewandelt und abgespielt und zuletzt nochmal gong.mp3 abgespielt.

Grüße,

ChrisD
Titel: Antw:Musik kurz unterbrechen für Sprachausgabe und dann wieder fortsetzen - WIE?
Beitrag von: kvo1 am 04 Oktober 2015, 23:57:56
Hallo ChrisD,
(so langsam wird es mir peinlich...., aber ich verzweifle fast...)

Variante 1
die Version habe ich schon mal !
$Id: 98_SB_PLAYER.pm 8773 beta 0045 CD/MM/Matthew $

Aber bei
set squeeze_Denver talk cooles Modul  wird zwar die laufende Musik unterbrochen, aber
ansonsten passiert leider nix ....aus im log

2015.10.04 23:40:10 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_SB_PLAYER.pm line 1112

ich habe bisher folgende atrtribute für tts
ttslink              http://translate.google.com/translate_tts?ie=UTF-8
ttslanguage     de
ttsMP3FileDir   /opt/fhem

Variante 2
set meinPlayer talk | Hello.mp3 | läuft nicht , mein Problem waren die Leerzeichen

set meinPlayer talk |Hello.mp3| läuft

Hast Du noch ne Idee bzgl. Variante 1

PS:
danke für die Geduld (weiss das sehr zu schätzen) und wie gesagt .....cooles Modul  :)

gruss
klaus

Titel: Antw:Musik kurz unterbrechen für Sprachausgabe und dann wieder fortsetzen - WIE?
Beitrag von: ChrisD am 05 Oktober 2015, 22:28:44
Hallo,

Kannst du versuchen das Attribut ttslink wie folgt zu setzen
attr squeeze_Denver ttslink http://translate.google.com/translate_tts?ie=UTF-8&tl=<LANG>&q=<TEXT>&client=t&prev=inputund den talk-Befehl erneut abzusetzen ?

Ich befürchte dass die 'alten' Links nicht automatisch richtig angepasst werden. Ich muss den entsprechenden Code nochmal überarbeiten.

ZitatPERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_SB_PLAYER.pm line 1112
Ich habe den Fehler gefunden und werde ihn in der nächsten Version beheben. Er führt dazu dass die ursprüngliche Position nach einem recall nicht angesprungen wird wenn der Player auf Pause stand.

Auf dein aktuellen Problem hat dies aber keinen Einfluss.

Grüße,

ChrisD
Titel: Antw:Musik kurz unterbrechen für Sprachausgabe und dann wieder fortsetzen - WIE?
Beitrag von: kvo1 am 06 Oktober 2015, 00:17:23
Hallo Chris,

ZitatKannst du versuchen das Attribut ttslink wie folgt zu setzen
Code: [Auswählen]

attr squeeze_Denver ttslink http://translate.google.com/translate_tts?ie=UTF-8&tl=<LANG>&q=<TEXT>&client=t&prev=input

und den talk-Befehl erneut abzusetzen ?

Ich befürchte dass die 'alten' Links nicht automatisch richtig angepasst werden. Ich muss den entsprechenden Code nochmal überarbeiten.

PERFEKT , das wars  :D :D   Danke !


Titel: Antw:Musik kurz unterbrechen für Sprachausgabe und dann wieder fortsetzen - WIE?
Beitrag von: Gallo am 22 November 2015, 22:42:24
Hallo zusammen ,

bei mir läuft es leider aktuell noch garnicht. Ich kann Musik abspielen , beim Kommando

set Player talk |gong.mp3|

hört die Musik auf , es herrscht stille und dann fängt die Musik wieder an. Also schonmal gut, dass die Musik wieder weiter geht , aber warum spielt er nix ? :-D Im globalen Log sehe ich garnichts .
Titel: Antw:Musik kurz unterbrechen für Sprachausgabe und dann wieder fortsetzen - WIE?
Beitrag von: ChrisD am 23 November 2015, 21:54:45
Hallo,

Wahrscheinlich findet der Server die Datei gong.mp3 nicht. In welchem Verzeichnis hast du sie abgelegt ? Hast du das Attribut 'ttsMP3FileDir' gesetzt ?

Grüße,

ChrisD
Titel: Antw:Musik kurz unterbrechen für Sprachausgabe und dann wieder fortsetzen - WIE?
Beitrag von: Gallo am 23 November 2015, 22:41:19
Hi ,

ja , habe das Atrribut gesetzt und die Datei liegt dort auch . TTS direkt per google klappt ja auch nicht. Bleibt einfach Stumm. :-(

define Wohnzimmer SB_PLAYER xx:xx:xx:xx:xx:xx
attr Wohnzimmer IODev squeezeplay
attr Wohnzimmer amplifier play
attr Wohnzimmer coverartheight 50
attr Wohnzimmer coverartwidth 50
attr Wohnzimmer donotnotify false
attr Wohnzimmer event-on-change-reading currentTitle,currentArtist,state
attr Wohnzimmer fadeinsecs 10
attr Wohnzimmer fp_EG 89,193,1,,
attr Wohnzimmer idismac true
attr Wohnzimmer room SB_PLAYER
attr Wohnzimmer serverautoon true
attr Wohnzimmer ttsMP3FileDir /opt/fhem
attr Wohnzimmer ttslanguage de
attr Wohnzimmer ttslink http://translate.google.com/translate_tts?ie=UTF-8&tl=<LANG>&q=<TEXT>&client=t&prev=input
attr Wohnzimmer volumeLimit 100
attr Wohnzimmer volumeStep 10
attr Wohnzimmer webCmd playlists:volume
define FileLog_Wohnzimmer FileLog ./log/Wohnzimmer-%Y.log Wohnzimmer
attr FileLog_Wohnzimmer logtype text
attr FileLog_Wohnzimmer room SB_PLAYER
Titel: Antw:Musik kurz unterbrechen für Sprachausgabe und dann wieder fortsetzen - WIE?
Beitrag von: ChrisD am 23 November 2015, 23:06:36
Hallo,

Dass die Ausgabe über Google nicht mehr funktioniert liegt wahrscheinlich am ttslink. Aktuell geht (noch):
attr Wohnzimmer ttslink http://translate.google.com/translate_tts?ie=UTF-8&tl=<LANG>&q=<TEXT>&client=tw-ob

Wenn du den Loglevel beim Server auf 4 und beim Player auf 5 setzt sollten im Log auch zusätzliche Ausgaben sein.

Grüße,

ChrisD

Titel: Antw:Musik kurz unterbrechen für Sprachausgabe und dann wieder fortsetzen - WIE?
Beitrag von: Rince am 24 November 2015, 17:14:11
ZitatAlso schonmal gut, dass die Musik wieder weiter geht , aber warum spielt er nix ?
Hast du zufällig vergessen, die Rechte der Datei anzupssen?
Titel: Antw:Musik kurz unterbrechen für Sprachausgabe und dann wieder fortsetzen - WIE?
Beitrag von: Gallo am 29 November 2015, 18:26:33
Hi ,

danke erstmal für die Antworten. Berechtigungen auf die Datei sind korrekt für Benutzer "fhem"

Mit der Sprachausgabe teste ich gerade nochmal , danke :)
Titel: Antw:Musik kurz unterbrechen für Sprachausgabe und dann wieder fortsetzen - WIE?
Beitrag von: kvo1 am 16 Dezember 2015, 00:39:13
Hallo ChrisD,
nachdem das nun eine ganze Weile lief (habe allerdings auch nicht ständig getestet) und ich immer schön die Updates mitgemacht habe,
gibt es nun wieder Probleme mit der Sprachausgabe bzw. dem Abspielen einer mp3 Datei.

auch mit eine komplette Pfadangabe geht es nicht !

set play /opt/fhem/datei.mp3

hat sich da am  ttslink was geändert

ttslink      http://translate.google.com/translate_tts?ie=UTF-8&tl=<LANG>&q=<TEXT>&client=t&prev=input


Danke klaus
Titel: Antw:Musik kurz unterbrechen für Sprachausgabe und dann wieder fortsetzen - WIE?
Beitrag von: ChrisD am 17 Dezember 2015, 20:03:51
Hallo,

Aktuell scheint der folgende Link (noch) zu funktionieren:

http://translate.google.com/translate_tts?ie=UTF-8&tl=<LANG>&q=<TEXT>&client=tw-ob

Das Problem mit der mp3-Datei dürfte aber nichts mit dem ttslink zu tun haben. Was steht im Log wenn du verbose beim Player auf 5 und beim Server auf 4 setzt ?

Grüße,

ChrisD
Titel: Antw:Musik kurz unterbrechen für Sprachausgabe und dann wieder fortsetzen - WIE?
Beitrag von: kvo1 am 17 Dezember 2015, 23:29:59
Hi,

das mit dem ttslink funktioniert, aber ich kann nur eine bestimmte mp3 - Datei abspielen.
Sobald ich irgendeine andere nehme , bleibt der Player stehen.
anbei ein LOG - Auszug ..! Ich kann hier nicht wirklich was finden.

Hello.mp3   funktioniert
hallo1.mp3  funktioniert nicht

danke & Gruss
klaus
Titel: Antw:Musik kurz unterbrechen für Sprachausgabe und dann wieder fortsetzen - WIE?
Beitrag von: ChrisD am 19 Dezember 2015, 15:27:46
Hallo,

Im Log kann ich keine Fehler sehen, was erhältst du bei der Eingabe von
ls -l /opt/fhem/*.mp3

Mit welchen Parametern sind die Hello.mp3 und hallo1.mp3 kodiert ?

Grüße,

ChrisD
Titel: Antw:Musik kurz unterbrechen für Sprachausgabe und dann wieder fortsetzen - WIE?
Beitrag von: kvo1 am 21 Dezember 2015, 21:16:19
Hallo ChrisD

bei
l
Zitats -l /opt/fhem/*.mp3

werden alle mp3 - Dateien aufgelistet ! , das paßt !

ZitatMit welchen Parametern sind die Hello.mp3 und hallo1.mp3 kodiert ?

Hello.mp3            64 kBit/s   22050Hz
hallo1.mp3            128 kBit/s  44100Hz

wo bei es daran nicht liegen kann, da ich noch weitere mit    64 kBit/s   22050Hz habe , die auch nicht abgespielt werden


danke & Gruss
klaus


Titel: Antw:Musik kurz unterbrechen für Sprachausgabe und dann wieder fortsetzen - WIE?
Beitrag von: kvo1 am 21 Dezember 2015, 21:57:12
sehr komisch...

wenn Hello.mp3  nach  Helloo.mp3  kopiere , geht ...

set squeezeKueche talk |Helloo.mp3|  auch nicht !

klaus
Titel: Antw:Musik kurz unterbrechen für Sprachausgabe und dann wieder fortsetzen - WIE?
Beitrag von: Reinerlein am 21 Dezember 2015, 22:38:12
Hi Klaus,

das sieht nach Dateirechten aus. Prüf mal, ob die Dateien alle die gleichen Rechte haben, bzw. ob der Fhem-Prozess (im Normalfall der user fhem) Leserechte an der Datei hat...

Im Zweifel vergib mal mit

chmod 777 *.mp3
im Verzeichnis mit den Dateien alle Rechte an den Dateien...

Grüße
Reinerlein
Titel: Antw:Musik kurz unterbrechen für Sprachausgabe und dann wieder fortsetzen - WIE?
Beitrag von: ChrisD am 21 Dezember 2015, 22:45:45
Hallo,

FHEM benötigt keine Rechte auf die Dateien, der LMS dafür aber. Deshalb hatte ich nach der Ausgabe von ls -l gefragt. FHEM übergibt nur den Namen an den LMS, macht aber selbst überhaupt nichts mit der Datei.

Laufen FHEM und der LMS auf dem gleichen Rechner ?
Gibt es im Musikverzeichnis des LMS eine Datei namens Hello.mp3 ?
Was passiert wenn du Hello.mp3 umbenennst und erneut versuchst sie mit
set squeezeKueche talk |Hello.mp3|
abzuspielen ?

Grüße,

ChrisD
Titel: Antw:Musik kurz unterbrechen für Sprachausgabe und dann wieder fortsetzen - WIE?
Beitrag von: kvo1 am 22 Dezember 2015, 00:11:23
Hi

ZitatLaufen FHEM und der LMS auf dem gleichen Rechner ?
nein aber auf beiden Cubi´s gibt es ein /opt/fhem mit gleichen mp3 Dateien

ZitatGibt es im Musikverzeichnis des LMS eine Datei namens Hello.mp3 ?
ja , und alle anderen auch ! (testweise)

ZitatWas passiert wenn du Hello.mp3 umbenennst und erneut versuchst sie mit
Code: [Auswählen]

set squeezeKueche talk |Hello.mp3|

abzuspielen ?
dann kommt die Meldung , das die Datei nicht gefunden werden kann.... und nach dem zurück benennen geht dann auch die
einzig funktionierende nicht mehr  :'(

Danke für deine Geduld / Hilfe
klaus

Titel: Antw:Musik kurz unterbrechen für Sprachausgabe und dann wieder fortsetzen - WIE?
Beitrag von: FHEm2005 am 22 Dezember 2015, 12:14:33
Hallo Klaus,
in den Einstellungen des LMS auf der Karteikarte "Grundeinstellungen" sind unter "Medienordner" die Verzeichnisse aufgelistet, die der LMS kennt. Hast du mit dem attr <SB-device> ttsMP3FileDir <verzeichnis>  ein Verzeichnis eingetragen, welches der LMS kennt?

Wenn der LMS das Verzeichnis nicht kennt, in dem Hello.mp3 "steckt, spielt da nix. (ich hatte dasselbe Problem).

Gruß
Eberhard
Titel: Antw:Musik kurz unterbrechen für Sprachausgabe und dann wieder fortsetzen - WIE?
Beitrag von: kvo1 am 22 Dezember 2015, 13:31:10
Hallo Eberhard,

genau in diesem Mediaordner des LMS liegen die Dateien ja auch nochmal und ich gebe explizit den
vollen Pfad an .....

set squeezeKueche talk |/opt/fhem/Hello.mp3|

Aber ich geh das alles nochmal in Ruhe durch !!!! Muss doch zu finden sein.!

Welche Versionen des LMS und der Module hast Du im Einsatz

Ich habe auf dem CUBIE LMS 7.9

und

98_SB_PLAYER.pm         9752 beta 0051 CD/MM/Matthew/Heppel
97_SB_SERVER.pm         8246 beta 0016 CD

viele Grüsse und danke
klaus

(ich meine auch , das ging alles schon mal )
Titel: Antw:Musik kurz unterbrechen für Sprachausgabe und dann wieder fortsetzen - WIE?
Beitrag von: FHEm2005 am 22 Dezember 2015, 14:03:40
Hallo KLaus,

wenn Du über eine SB Musik spielst, in welchem Orner liegt die Musi?? Doch nicht im Ordner von fhem, oder? Fhem legt doch auf einem anderen Cubie. Was steht bei Dir in dem von mir angeprochenen Verzeichnis? Auf dem Cubie auf dem LMS installiert worden ist, gibt es bei Dir gewiss kein Verzeichnis fhem.

Zitat von: kvo1 am 22 Dezember 2015, 00:11:23
Frage ChrisD:
Laufen FHEM und der LMS auf dem gleichen Rechner ?

Antwort kvo1:
nein aber auf beiden Cubi´s gibt es ein /opt/fhem mit gleichen mp3 Dateien

Das bedeutet, dass das Verzeichnis /opt/fhem/ im LMS unter der Karteikarte "Grundeinstellungen" und dort unter "Medienordner" aufgelistet ist! ?? Ist das der Fall?

Gruß
Eberhard



Titel: Antw:Musik kurz unterbrechen für Sprachausgabe und dann wieder fortsetzen - WIE?
Beitrag von: kvo1 am 22 Dezember 2015, 14:45:42
Hi Eberhard,

Nein , Du Recht
unter der Karteikarte "Grundeinstellungen" und dort unter "Medienordner"  habe ich       /media/musik

dann habe ich auf dem LMS-Server (also dieser hier)  noch ein /opt/fhem  Verzeichnis

und auf dem eigentlichen  FHEM - Server ja sowieso das  /opt/fhem !

in allen 3 Verzeichnissen liegen die Dateien ...

Ich trag jetzt mal das  /opt/fhem in dem LMS unter "Medienordner"  mit ein !

Melde mich wieder !

Gruß
Klaus

Titel: Antw:Musik kurz unterbrechen für Sprachausgabe und dann wieder fortsetzen - WIE?
Beitrag von: FHEm2005 am 22 Dezember 2015, 14:57:09
Hallo Klaus,

den Ordner aber nur über den Button "Durchsuchen" eintragen! Wahrscheinlich taucht er dort gar nicht auf.

Wenn das nicht funzt, pack die Hallo.mp3 in das Verzeichnis /media/musik und setze das Attribut

attr <SB-device> ttsMP3FileDir  /media/musik/

Ich möchte fast wetten, dass es dann geht!

Gruß Eberhard