Hi, ich wollte gerne meine eigene Musiksammlung auf Hardware abspielen die MP3-Streams empfangen können (also eigentlich alle gängigen Geräte), und dann das ganze per Sprachsteuerung starten.
Stelle hier mal kurz meine Lösung vor.
Mini-Mp3-Server (siehe Anhang) starten. Am besten in einer Screen Session.
mp3server.pl [PORT]
Der Server bekommt dann über die URL ein Verzeichnis mitgeteilt, aus dem alle mp3-Dateien in zufälliger Reihenfolge abspielt werden.
http://fhem:8000/meine/musik/sammlung/201*/
Das Beispiel würde jetzt alle Verzeichnisse ab 2010 berücksichtigen.
Der Stream kann im Endeffekt an alle Streaminggeräte geleitet werden. (
Alexa, Google Home, Sonos, was weiß ich...). Bei ist es eine SonySoundbar.
Um das ganze jetzt per Sprache zu steuern habe ich Talk2Fhem (https://forum.fhem.de/index.php/topic,80960.0.html) so konfiguriert.
(klassiker|musik spielen$|spiele musik$) = set gc_eggroup play http://fhem:8000/media/data/music/$1[Classics,Categories/20*]/
\b(hip.{0,3}hop|rnb|pop musi[ck]|rock)\b =
set gc_eggroup play http://geomedia:8000/media/data/music/Categories/$1[HipHop,R&B,Pop,Rock]*/
Das ganze wird bei mir auf einer GoogleCast Gruppe mit einer SonySoundbar und einem GoogleHomeMini gestreamt.
Läuft ziemlich rund für den kleinen Aufwand. Vielleicht kann's ja jemand gebrauchen.
Update: 27.01.2018Habe mal ein paar Änderungen und Updates am Script gemacht.
Es gibt jetzt Parameter die Übergeben werden können. Ab dem Verzeichnis mit einem "?" getrennt.
http://server:port/verzeichnis/zur/sammlung?parameter1+parameter2=wert
Folgenden Parameter stehen jetzt zur Verfügung:
- random: spielt die Lieder zufällig ab
- loop: fängt am ende von vorne an
- file: sucht im Dateinamen nach den angegebenen Wörten
- dir: sucht im Verzeichnisnamen nach den angegebenen Wörten
- randomdir: spielt alle mp3's eines zufälligen Verzeichnisses
- test: gibt nur debug Meldungen aus aber streamt nicht
Die Talk2Fhem Config sieht bei mir jetzt so aus:
# suche im Dateinamen
\S*spiele\S* && (musik|lieder) && vo[nm] (de[mnr] (Band|Gruppe|Interpret\S*|Künstler\S*)?)? ?(.*?)( (ab)?(spielen)?)?$ =
{fhem("set gc_eggroup play http://geomedia:8000/media/data/music/C*/?random+loop+file=".urlEncode('$4'))}
# wähle ein bestimmtes Verzeichnis
spiele && \b(hip.{0,3}hop|black|reggae|pop|soul|musik|klassiker)\b && !alb(en|um) =
set gc_eggroup play http://geomedia:8000/media/data/music/$1[Categories/HipHop,Categories/R%26B,Categories/Reggae,Categories/Pop,Categories/Soft,Categories/20,Classics]*/?random+loop
# wähle ein zufälliges Verzeichnis
spiele && \b(ein )?(ein|zufälliges|anderes|irgend.*ein|deutsch\S*|hip.{0,3}hop|black|reggae|pop|soul) album( (ab)?(spielen)?)?$ =
set gc_eggroup play http://geomedia:8000/media/data/music/Alben/$2[,,,,Deutsch*/,HipHop*/,RnB*/,Reggaeton*/,Pop*/,Soul*/]?randomdir+loop
# suche im Verzeichnisnamen
\S*spiele\S* && (irgend\S*|ein|da\S\S?)? ?alb(um|en) && ?vo[nm] && ?de[nmr] (Band|Gruppe|Interpret\S*|Künstler\S*)? && ?( ab)$ =
{fhem("set gc_eggroup play http://geomedia:8000/media/data/music/Alben/?loop+dir=".urlEncode('!$&'))}
Wer seine Musiksammlung auch mit Verzeichnissen organisiert hat sollte das mit recht wenig Aufwand anpassen können.
Gruß
Klingt sehr interessant...
...und: Mist! Noch eine "Baustelle"...
...werd ich denn nie fertig!? ;)
Vielen Dank, werde ich mir (wenn Zeit ist) mal näher ansehen...
...ebenso wie Talk2Fhem...
Gruß, Joachim
Kann damit auf einen Echo Dot gestreamt werden?
Wenn du dem dot eine URL mitteilen kannst die er abspielen soll, sollte nichts dagegen sprechen. Ich habe selbst keinen
Ich dachte der Echo kann nur BLuetooth oder die vorhandenen Streaming Dienste.
Zitat von: TWART016 am 05 Januar 2018, 21:58:23
Ich dachte der Echo kann nur BLuetooth oder die vorhandenen Streaming Dienste.
Soweit ich weiß ist das auch (immer noch) so...
Zitat von: Phill am 05 Januar 2018, 17:40:27
Wenn du dem dot eine URL mitteilen kannst die er abspielen soll, sollte nichts dagegen sprechen. Ich habe selbst keinen
War ja nur bezogen auf das Modul, also kein Problem sofern die Gegenstelle (hier Alexa) das kann/könnte...
...was sie leider (noch) nicht kann...
Siehe diverse "Alexa-Threads", die Frage wurde schon häufiger gestellt und beantwortet... ;)
Gruß, Joachim
https://forum.fhem.de/index.php/topic,66421.msg742225.html#msg742225 (https://forum.fhem.de/index.php/topic,66421.msg742225.html#msg742225)
wenn das gegeben ist kann man das abspielen auch über einen skill mit passendem api auslösen.
Hi, ich habe mal den ersten Beitrag aktualisiert. Ist bei mir jetzt täglich in Gebrauch und funktioniert sehr zuverlässig.
Endlich eine intuitive, einfache und schnelle Möglichkeit die eigene Musik abzuspielen.
Gruß
Ich würde das ganze gerne mal ausprobieren, scheitere aber schon am Anfang, das script starten ist soweit noch klar, aber wie verweise ich auf meine Musiksammlung (liegt auf einem NAS im Netzwerk) abspielen würde ich zum testen erstmal auf einem meiner Google Home devices, wo ich das Abspielgerät definieren kann, verstehe ich leider ebenfalls nicht. Das Talk2Fhem Modul ist bereits am Laufen und kann ein paar devices schalten. Ich wäre dankbar für ein bisschen Starthilfe