FHEM Forum

FHEM - Anwendungen => Multimedia => Thema gestartet von: Phill am 05 Januar 2018, 11:45:54

Titel: Eigene Musiksammlung per MP3-Stream und Sprachsteuerung
Beitrag von: Phill am 05 Januar 2018, 11:45:54
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.2018
Habe 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:

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ß


Titel: Antw:Eigene Musiksammlung per MP3-Stream und Sprachsteuerung
Beitrag von: MadMax-FHEM am 05 Januar 2018, 15:25:36
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
Titel: Antw:Eigene Musiksammlung per MP3-Stream und Sprachsteuerung
Beitrag von: TWART016 am 05 Januar 2018, 16:56:50
Kann damit auf einen Echo Dot gestreamt werden?
Titel: Antw:Eigene Musiksammlung per MP3-Stream und Sprachsteuerung
Beitrag 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
Titel: Antw:Eigene Musiksammlung per MP3-Stream und Sprachsteuerung
Beitrag von: TWART016 am 05 Januar 2018, 21:58:23
Ich dachte der Echo kann nur BLuetooth oder die vorhandenen Streaming Dienste.
Titel: Antw:Eigene Musiksammlung per MP3-Stream und Sprachsteuerung
Beitrag von: MadMax-FHEM am 05 Januar 2018, 22:17:16
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
Titel: Antw:Eigene Musiksammlung per MP3-Stream und Sprachsteuerung
Beitrag von: justme1968 am 05 Januar 2018, 22:19:56
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.
Titel: Antw:Eigene Musiksammlung per MP3-Stream und Sprachsteuerung
Beitrag von: Phill am 27 Januar 2018, 16:30:57
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ß
Titel: Antw:Eigene Musiksammlung per MP3-Stream und Sprachsteuerung
Beitrag von: Stargrove1 am 13 September 2020, 15:01:38
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