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
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
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 | ;)
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
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
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 Hello
oder
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
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
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=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.
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
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 !
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 .
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
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
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
ZitatAlso schonmal gut, dass die Musik wieder weiter geht , aber warum spielt er nix ?
Hast du zufällig vergessen, die Rechte der Datei anzupssen?
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 :)
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
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
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
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
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
sehr komisch...
wenn Hello.mp3 nach Helloo.mp3 kopiere , geht ...
set squeezeKueche talk |Helloo.mp3|
auch nicht !
klaus
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
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
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
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
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 )
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
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
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