Wiedergabe von Lokaler Musiksammlung

Hier wird über Skills, welche es bereits gibt, diskutiert.
Benutzeravatar

Themenstarter
waringer
Beiträge: 9
Registriert: Sa 3. Feb 2018, 08:20

Do 1. Mär 2018, 11:01

Hallo zusammen,

wie viele andere auch habe ich über die Jahre eine eigene lokale Musiksammlung aufgebaut - leider wurde Alexa nicht dazu befähigt diese zu nutzen um uns mit Musik zu versorgen.
Nachdem mich das inzwischen lange genug gestört hat und ich auch keine bestehende Lösung gefunden habe die meinen Bedürfnissen gerecht würde, habe ich angefangen selber an einer zu arbeiten. Der so entstandene Skill „Network Music Player“ ist inzwischen soweit gediehen das er grundsätzlich funktioniert, aber es auch noch einiges zu tun gibt.

Ich stelle den Skill hier vor um anderen die Möglichkeit zu geben von meiner bisherigen Arbeit zu profitieren und den Skill so wie er ist oder den Code wie auch immer zu nutzen.

Vorab, der Skill richtet sich an Leute die zumindest etwas programmieren können und sich auch mit der Administration von Systemen etwas auskennen. Ich stelle keine lauffähigen Programme bereit, und es wird mindestens ein eigener Server im Internet benötigt auf dem der Skill läuft und ein Amazon Developer Konto zum Einrichten eines eigenen Skills. Der Skill wird so wie er ist wohl nie eine Zertifizierung von Amazon bekommen, aber das ist ja glücklicherweise auch nicht nötig ;)

Der Code für den Skill kann unter https://github.com/waringer/Alexa-Radio abgerufen werden, hier sind auch Details dazu zu finden was alles zur Inbetriebnahme benötigt wird.
Da ich aktuell alleine daran arbeite und das ein Hobbyprojekt ist kommen Updates sehr unregelmäßig.

Wenn Ihr Fragen habt so freue ich mich auf eine Diskussion mit euch und ich hoffe das Projekte hilft einigen :)
3 x
Benutzeravatar

annedecke
Beiträge: 6
Registriert: So 26. Nov 2017, 12:21

Do 8. Mär 2018, 09:55

Hast Du hier schon Unterstützung erhalten?
0 x
Benutzeravatar

Themenstarter
waringer
Beiträge: 9
Registriert: Sa 3. Feb 2018, 08:20

Sa 10. Mär 2018, 08:09

@annedecke Nein, ausser dir hat sich bisher keiner auf meinen Beitrag gemeldet. Ist aber auch nicht schlimm, ich wollte Hauptsächlich die Welt wissen lassen das es da was gibt und nicht jeder evt. bei Null neu anfangen müsste ;)
0 x
Benutzeravatar

Coolzero1982
Beiträge: 33
Registriert: Sa 26. Nov 2016, 09:01

So 11. Mär 2018, 20:12

Hi, hört sich super an, und ich werd mir das in den nächsten Tagen mal genauer ansehen, da ich genau das gleiche Problem hab.
Allerdings glaube ich sollte es aufjedenfall eine ziemlich genaues HowTo für Beispiel Einrichtungen des Skills geben.


Gesendet von iPhone mit Tapatalk
0 x
Benutzeravatar

Jutil
Beiträge: 2
Registriert: So 18. Mär 2018, 09:05

Mo 19. Mär 2018, 18:41

Wäre da auch an dem Skill interessiert.
Super Arbeit
0 x
Benutzeravatar

TimothyFlyte
Beiträge: 2
Registriert: Fr 23. Mär 2018, 15:57

Fr 23. Mär 2018, 16:10

Hi, gerade eben über Facebook von dem Skill gehört. Bin sehr interessiert und werde mir das nachher mal anschauen. Bislang nutze ich den Amazon Musikspeicher kostenpflichtig.
0 x
Benutzeravatar

Antropolus
Beiträge: 32
Registriert: Mo 27. Mär 2017, 16:11
Wohnort: Duisburg
Vorhandene Echos: 1
Vorhandene Echo Dots: 3
Kontaktdaten:

Fr 23. Mär 2018, 17:08

Geiles Thema... wie Installiere ich den ?
Interressant ist auch ein Skill um einen Internetradio Stream abzuspielen mit 2 Verschiedenen Adressen unter http:// Könnt ich für mein Radio gebrauchen.
Zuletzt geändert von Antropolus am Fr 23. Mär 2018, 17:11, insgesamt 1-mal geändert.
0 x
Grüsse
Detlef

4 Dots, Logitech Elite, Logitech HUB, 16 x Sonoff, TP-Link HS100, Broadlink Pro
Benutzeravatar

Themenstarter
waringer
Beiträge: 9
Registriert: Sa 3. Feb 2018, 08:20

Sa 24. Mär 2018, 05:30

Aktuell schreibe ich gerade Dokumentation damit es leichter ist zu verstehen wie der Skill Arbeitet und was man machen muss um ihn zu Installieren und zu nutzen.

Ein ausführliches HowTo für die Installation gibt es noch nicht. Aber hier schon mal ein kurze Zusammenfassung:

Zur Installation des Skills braucht man:
- Einen Server auf dem man etwas Installieren kann (Ich gehe hier von Linux aus, es kann aber theoretisch auch Windows sein)
- Der Server muss vom Internet über HTTPS erreichbar sein (Ich empfehle den WebServer Nginx [http://nginx.org/en/download.html])
- Eine Datenbank auf MariaDB [https://downloads.mariadb.org/] oder MySql [https://www.mysql.com/downloads/] (Ich empfehle MariaDB)
- Die Sprache Go muss auf dem Server installiert sein [https://golang.org/dl/]
- Entweder hat der Server auf dem der Skill läuft zugriff auf die Musikdateien oder man braucht einen 2. Server mit einem WebServer der zugriff hat.
- Ein Amazon Developer Konto (Kostenlos) [https://developer.amazon.com]

Installation des Skills:
- Runter laden der Sourcen und ggf. entpacken
- Erzeugen der Ausführbaren Dateien mittels build.sh (Erzeugt ein "bin" Unterverzeichnis wo die Ausführbaren Dateien danach liegen. Der Skill ist die Datei "radio")
- Erzeugen und anpassen der Konfiguration
- Init Script zum Automatischem Start des Skills beim Reboot schreiben und aktivieren (im util Ordner liegt ein Beispiel für FreeBSD [freebsd_init], Beispiele für andere Distributionen kommen später)

Vorbereiten der Datenbank:
- Anlegen einer eigenen Datenbank
- Anlegen eines Datenbanknutzers mit Passwort
- Dem neuen Datenbanknutzer Rechte auf die neue Datenbank geben
- Anlegen der Datenbankstruktur mittels dem Script sql/create.sql

Anpassen des Webservers:
- Konfiguration des Webservers so anpassen das der Skill unter HTTPS mit einem gültigem Zertifikat erreichbar ist (Ein Beispiel für Nginx liegt unter util/nginx_external.conf und util/nginx_internal.conf)

Scannen der eigenen lokalen Musiksammlung:
- Konfiguration für den Scanner erstellen
- Scanner laufen lassen zum füllen der Datenbank

Bei Amazon muss man den Skill über ein Developer Konto noch anmelden!

Schaut sich alles schlimmer an als es ist. Jeder mit ein wenig Linux Kenntnissen sollte in der Lage sein das entsprechend aufzubauen. Aktuell fehlen leider noch einige Dokumentationen, Beispiele und Hilfsscripte für verschiedene Betriebssysteme, aber ich trage das alles langsamm zusammen.

Bei mir läuft das ganze aktuell auf einem externen FreeBSD Server der den Skill, WebServer (Nginx) und Datanbank (MariaDB) hostet und einem internen FreeBSD Server auf dem nur einen WebServer (Nginx) hat. Den 2. Server brauche ich weil der Server der in Internet beim Hoster (Hetzner) steht nicht auf mein NAS zugreifen kann (und auch nicht soll aus Sicherheitsgründen).

Wenn Ihr Hilfe bei der Inbetriebnahme braucht helfe ich gerne, und über Anregungen, Hilfe oder auch (konstruktive) Kritik freue ich mich auch!
Zuletzt geändert von waringer am Sa 24. Mär 2018, 06:00, insgesamt 2-mal geändert.
0 x
Benutzeravatar

HassanMullah
Beiträge: 10
Registriert: Fr 20. Apr 2018, 14:18
Wohnort: Göppingen-Bartenbach
Vorhandene Echos: 2
Vorhandene Echo Dots: 3
Kontaktdaten:

Fr 20. Apr 2018, 15:15

Hallo waringer,

ich glaube damit triffst Du den Puls der Zeit. Hier mal meine Überlegungen die mir bisher durch den Kopf gingen.
  • Meine MP3s liegen auf einer QNAP NAS
  • Via DLNA kann ich die Musik auf die Heimkinoanlage streamen (aber halt mit Fernbedienung)
  • Ich will via Alexa "meine" Musik zu Hause steuern können
  • Gedanke 1: Ich richte einen Icecastserver ein - verbinde diesen mit TuneIn Radio - und rufe via Alexa ab. Problem: Musikrechte (könnte für mich privat sehr teuer werden)
  • Gedanke 2: Auf der QNAP die Music Station aktivieren und diese via IFTTT ansteuern. Leider geht das Rezept bei IFTTT für die Auswahl der Playlisten nicht (vermutlich ein BUG)
  • Gedanke 3: Wie baue ich einen Skill, um ein eigenes Radio zu betreiben. Den Skill bei Amazon halt immer privat halten
Via Gedanke 3 bin ich auf dieses Forum gestoßen.
@waringer: Meine Programmierkenntnisse hören bei AutoIT auf, aber ein wenig Linux Verständnis habe ich.

Ich würde Deinen Skill sehr gerne mal testen, allerdings sind mir noch ein paar Dinge unklar:

1.) Ich habe bei einem Hoster eine eigene Domain, mit einer bestehenden Webpräsenz. Dort habe ich mir im DNS ein paar CNAME Einträge setzen lassen (z.B. radio.mydomain.tld) welche auf den DynDNS Namen der NAS zeigen, d.h. ein PING radio.mydomain.tld zeigt meine private externe IP an und nicht die von mydomain.tld. Ich könnte bei dem Provider auch noch eine SubDomain hosten, jedoch habe ich dort nur Zugriff via Plex (also keine Shell Scripte oder so)

2.) Zuhause habe ich einen XenServer am Laufen, d.h. ich würde dort einen Ubuntu 16.04 Server aktivieren und alles mögliche darauf installieren, konfigurieren usw.

3.) Mir sind jetzt noch 2 Dinge nicht ganz klar. Was genau muss auf meinem internen Server laufen und was auf dem externen. Des weiteren brauche ich ja noch so einen Amazon Developer Account. Stimmt es, dass man hier unbedingt eine Kreditkarte hinterlegen muss (auch wenn Du nur zum Test bebucht wird). Da wäre ich nämlich erstmal raus.

Gruß und Dank

Hassan
0 x
Benutzeravatar

Themenstarter
waringer
Beiträge: 9
Registriert: Sa 3. Feb 2018, 08:20

Fr 20. Apr 2018, 17:55

Hallo Hassan,

zum letzten Punkt, dem Amazon Developer Account, kann ich nur sagen das ich nicht mehr weis ob ich eine Kreditkarte angeben musste oder nicht. Ist bei mir einfach schon zu lange her ;) Da kann aber bestimmt einer der andern hier Auskunft geben!

Zu den Internen und Externen Servern. Du brauchst einen Server der per gültigem Zertifikat über HTTPS erreichbar ist - das fordert Amazon auch für Private Skills, diesen Server nenne ich "extern" weil er bei mir beim Provider steht. Du kannst ihn aber auch bei dir Zuhause über DynDNS betreiben, das sollte kein Problem sein. Das mit "radio.mydomain.tld" passt dafür genau so wie du es eingerichtet hast. Du musst dann noch dafür sorgen das der HTTPS Port auch von außen erreichbar ist. Hinter dem HTTPS Port liegt dann ja der Skill den Amazon ansprechen muss.
Der Server den ich "intern" nenne kann theoretisch der selbe Server sein, nur wird jetzt der HTTP Port verwendet der von außen nach Möglichkeit NICHT erreichbar ist (Ansonsten hast du wahrscheinlich bald Post wegen Urheberrechtsverstößen)! Über die HTTP schiene werden die Musikfiles an die Echos geliefert.

Es geht also von dem Echo zu Amazon, von Amazon über HTTPS zu dem Skill, von da wieder zum Echo und der holt dann die Musikdatei über HTTP und spielt diese ab.

Ich hoffe ich konnte damit ein wenig mehr Klarheit in die Sache bringen. Bei weiteren Fragen helfe ich gerne weiter.

Grüße
Waringer
0 x
Antworten

Zurück zu „Fähigkeiten (Skills) zum downloaden“

  • Information