moOde Player auf einem Raspberry Pi

Der moOde Player ist das umfangreichste Paket auf dem Markt der Web-Radio und Musikplayer (abgesehen von Kodi ;-).
Der Vorteil gegeüber anderen Playern ist dass auch Bluetooth verwendet werden kann.
Die Daten werden in einer SQLite3 Datenbank gespeichert.
Dieser Artikel wurde für den moOde Player Version >= 5.0 erstellt.
Version >=6.0 benötigen eine Neuinstallation.

Webradios Anmerkung: Es gibt keine Möglichkeit Webradios durch ein Suche zu finden wie es z.B. Volumio anbietet.


moOde Player installieren und Einrichten

1. Download des Images von moOde.
2. Kopieren der ZIP auf die MircoSD Karte via Rufus (portable).
3. MicroSD Karte in den Slot am Raspberry Pi einstecken und dann mit Strom versorgen.
4. LAN-Kabel einstecken und im Webbrower die Adresse http://moode aufrufen.
5. Den moOde-Button moode configuration (oben rechts) anklicken und System aufrufen
   A.) Updaten Check direkt unter System Config "CHECK FOR software update" anklicken und ggf. update ausführen
   B.) Generelle Einstellungen: für das eigene Land anpassen. Selbsterklärend) &> SET
   C.) CPU governor: On.demand &> SET
   D.) Verwendete Adapter auf ON/OFF setzen (WIFI, BlueTooth BT, HDMI Port)
6. Sonstige Einstellungen
(A.) WLAN
    moode configuration > Network
   Settings (section)
   SSID &> SCAN > (Reconnect) &> Eigene SSID auswählen
   Password: ***** (des eigenen SSID's)
   ↑ Settings &> APPLY (reconnect)
   ↑ RESTART to make settings changes effective > REBOOT
   (ab jetzt ist der moOde Player via WLAN erreichbar)


Audio-Ausgabemöglichkeiten von moOde

Interne Audioausgabe:
Audio Jack (Klinkenstecker): leider keine gute Tonqualität
   moode configuration > Configure > Audio
      Devices (Section)
    I2S audio device: None &> SET
      MDP (Section)
    MDP options > EDIT SETTINGS
    Audio device: On-board audio device
    Volume Control: Software
   ↑ SAVE     
   moode configuration > Configure > system
     System Modifications (Section)
    Integratet BT adapter: OFF &> SET
    HDMI port: OFF &> SET

HDMI: benötigt natürlich auf der Gegenseite einen HDMI-Eingang: Gute Tonqualität
     moode configuration > Configure > Audio
      Devices (Section)
    I2S audio device: None &> SET
      MDP (Section)
    MDP options > EDIT SETTINGS
    Audio device: On-board audio device
    Volume Control: Software
   ↑ SAVE      moode configuration > Configure > > system
     System Modifications (Section)
    Integratet BT adapter: OFF &> SET anklicken
    HDMI port: ON &> SET

Bluetooth: soweit so gut, je nach Lautsprecher ;-)
    moode configuration > Configure > System
      System Modifications (Section)
    Integratet BT adapter: ON &> SET anklicken
    HDMI port: OFF &> SET
   moode configuration > Configure > Audio
    Renderers (Section)
   Bluetooth: ON &> SET
   Unterhalb von Resume MDP
     >
EDIT BuleZconfig anklicken
    - SCAN for Devices &> SUBMIT anklicken > (Reconnect) &  Jetzt am Bluetooth-Lautsprecher auf paaring drücken!
      Es kann sein dass dieser Vorgang mehrmals wiederholt werden muss. Wenn das nicht hilft einfach ein Reboot durchführen und ggf. den Lautsprecher neu starten.
    - Wurde ein Bluetooth-Lautsprecher gefunden /hier im Bsp. Libratone Zipp &> PAIR anklicken (Reconnect)
    Danach muss der Lautsprecher-Name mit den trennen Befehl stehen!
   Libratone Zipp DISCONNECT
    - MDP Audio output -> Bluetooth &> CHANGE anklicken

 moode bluez config scan moode bluez config pair moode bluez config audoout bluethooth


Zusatzkarte für Audioausgabe:
z.B. HifiBerry DAC+: Top Tonausgabe
   moode configuration > Configure > Audio
    Devices (section)
   I2S audio device:  HiFiBerry DAC+ &> SET anklicken
   Driver Options & Chip/Devie options (müssen ggf. angepasst werden).
(Sollte Bluetooth auf ON stehen dann abschalten !)
    Renders (section)
   Bluetooth: OFF &> SET
  Resume MPD CONFIGURE Bluetooth
  "MPD Audio output .> Local" auswählen &>CONFIGURE 
   moode configuration > Restart &> REBOOT anklicken
   moode configuration > Configure > Audio
    MDP (section)
   MDP option: EDIT OPTION anklicken (nur zur Kontrolle)
    Audio device (section)
   Device type: I2S audio device (sollte schon drin stehen)
   Volume control: Software (sollte schon drin stehen)
   ↑ SAVE (reconnect) (nur bei Veränderung sonst BACK)


Netzwerkfreigaben hinzufügen (NAS Sources)

SAMBA-Zugriff auf einen Windows-PC:

Einstellungen in Windows

Vorgaben für das Bsp.:
PC-Name: MusicPC
Benutzer-Name: User
Benutzer-Passwort: *** (es muss eines vergeben sein!)
Freigabe des Benutzer-Ordner USER damit auf den z.B. Musik-Ordner zugegriffen werden kann
Im Windows-Explorer rechte Maustaste auf Musik > Eigenschaften => Register Freigabe > Freigabe... Button anklicken  > Personen für die Freigabe auswählen z.B. User und Freigabe anklicken.
windows freigabe person windows freigabe person 1 windows freigabe person 2
Hinweis: An einem weiteren PC im Netzwerk prüfen ob die Zugangsdaten funktionieren

Einstellung im moOde Player

Netzwerkfreigabe hinzufügen
  moode configuration > Configure -> Library
   NAS Sources (section)
   > CREATE NAS source anklicken
  TYPE: SMB (Samba)
  Host/Share
   Darunter auf EDIT klicken (Dateifreigabe-Pfade werden via SCAN nicht angezeigt)
   Host (PC / IP-Adresse) und Freigabe-Ordner eintragen z.B. Musicpc/Music
   Anmerkung: Durch SCAN wird nur der PC angezeigt nicht aber der freigegebene Ordner in dem die Musik-Dateien liegen sollten.
   USER ID: user (Windows-Benutzername)
   Password: ***** (Windows-Benutzerpasswort)
   Name: MuscPC (Angezeigter Name)
   Mount flags: (ggf. für Windows 7 leeren)
   ↑ SAVE schließt das Ganze ab und überprüft die Verbindung.
   Danach wird nach erfolgreichen Verbindung die NAS Quelle mit einen grünen Häkchen angezeigt und die Dateieninfos eingelesen.
  


Darstellung der Thumbnails für Alben anpassen

Im linken Menü Library -> Albums ist die Voreistellung der Bilder automatisch (100px).
Auf einem PC-Monitor ist die Darstellung der Bilder recht unscharf. Selbst auf einem Handy sind die Albencover unschauf.
Herfür kann die Größe angepasst werden. Natürlich wird die Ladezeit der Bilder dadurch verlängert.
  moode configuration > Appearance
  ggf. Library aufklappen
  Hi-res thumbnails => 300px
  > Update anklicken
  moode configuration > Configure > Library
  > REGENERATE Album cover thumbnail cach anklicken


Datei-Zugriff auf moOde

Im Windows-Explorer einfach in die Adresszeile:
  \\moode
Es werden keine Zugangsdaten benögigt.
  \\NAS (Hardlinks via Netzwerk freigegebenen Musik-Dateien)
  \Playlists (Ordner der M3U-Dateien z.B. Favorites.m3u)
  \\moode\\Radio (Ordner der PLS-Dateien)
  \\moode\\SDCard (Dateien auf der MicroSD-Karte)
 

Radio hinzufügen

1.) Logo des Radios herunterladen und lokal speichern. Ggf. umwandeln in eine quadratische jpg-Datei (max.1MB)
2.)  URL des Web-Radios in die Zwischenablage kopieren. (Markieren und STRG-C)
Anmerkung: Wenn der Link ein Playlistenformat "m3u" oder "pls" ist, muss der darin enthaltene Stream-Link ausgelesen werden da sonst nicht das Logo auf der Player-Leiste angezeigt wird (m3u bzw. pls speichern und mit z.B. Windows-Editor öffnen).
3.)  Auf die Mikrofon-Seite gehen und mit dem + Zeichen dann den New Station Dialog starten.

  Name: Radio StationName
  URL: http://url_zum_stream/
  Logo: via COOSE (Es gehen nur JPG's !)
  Vom lokalen PC oder eine URL einfügen.

  Danach ist der neue Sender in der Radio-Liste

   


Komplette Radioliste importieren / exportieren

Beim Import ist es ausreichend wenn die pls-Dateien enthalten sind und die Logos der Stationen in den vorgengebenen Unterordnern liegen.
var\lib\mpd\music\RADIO\*.pls
var\local\www\imagesw\radio-logos\*.jpg


Interessante Zusatzfunktionen

* Wecker
  Dies bedeutet aber auch dass der Raspberry Pi und das Lautsprecher-System ständig aktiv sein müssen.
  Es muss der Modus Wecker ausgewählt werden. Danach können die  Start- und Stop-Zeit eingestellt werden.
  Es kann aber nur zu einem bestimmten Zeitpunkt der Wecker an und abgeschaltet werden.

  1. Es muss ein Stream / eine Datei abgespielt werden bzw. ausgewählt sein.
  2. Stream / Datei maximieren in der Anzeige (unten auf die Stream/Datei-Info klicken)
  3.  anklicken und "Set for clock radio" auswählen
  4. Einstellungen vornehmen und Speichern anklicken. Fertig (Wecker ist aktiv)
   - Mode auf clock Radio
   - Play (kann nicht in diesem Dialog verändert werden)
   - Start time (in amerikanischer Schreibweise)
     nicht vergessen die Tage zu markieren an denen der Wecker starten soll)
   - Stop time (dito Start time)
   - Shutdown (Raspberry Pi ausschalten?)
   - Volume (Die Lautstärte ist nicht ansteigend ;-)


 

* Schlaffunktion
  Sie funktioniert fast gleich wie der Wecker. Der Modus ist eben Sleep time. Die Startzeit kann nicht verändert werden .

   
* Autostart
  Es wird das Zuletzt abgespielte Medium gestartet
  moode configuration > Configure -> Audio
 MDP (section)
 Autoplay after start ON &> SET
   

SSH Zugriff einschalten

  moode configuration > Configure > System
    Local Services (section)
   SSH term server: ON &> SET
                             OPEN
Web SSH terminal (Auf OPEN klicken und der Web SSH Zugang wird aufgerufen)

Zugriff von lokalen PC um Befehle auszuführen wird nicht unbedingt PuTTY benötigt da moode schon Shell in a Box installiert hat.
Jetzt kann per Web SSH http://moode:4200/ oder PuTTY (als BASH-Shell) oder WinSCP (Datei-Explorer) darauf zugegriffen werden.
Eines der beiden Programm starten.
Server: moode
Login:
User: pi
Passwort: moodeaudio


Partitonsgrößen nach dem Kopieren mit Rufus

Um die komplette SD-Karte nutzen zu können sollte die 2 Partiton mit einem externen Linux vergrößert werden. GParted eignet dazu bestens ;-)

->


Update des Systems

In der Shell kann das System upgedatet werden. Der installierte Chromium-Browser stört sich mit den update daher vorab deinstallieren.
(ggf. muss die Partition vergrößert werden!)

sudo apt -y autoremove --purge chromium-browser
sudo apt -y update && sudo apt -y upgrade (Während des updates wird über die Modifikation von www.conf und minidlna.conf Dateien nachgefragt. default-N -> N)
sudo reboot


moOde remote herunterfahren

1) Über die Oberfläche einfach auf m ->Power ->   SHUTDOWN   klicken
2) Von einem PC aus wird ein commandline utility klink oder plink benötigt:
    Eine Verknüpfung mit folgender Zeile erzeugen
    [Pfad]klink.exe  -ssh -auto-store-sshkey -batch -pw moodeaudio pi@moode "sudo poweroff"
    Mit plink sollte beim ersten Aufruf der Parameter -batch nicht verwendet werden da sonst der SSH-Key nicht gespeichert werden kann!
    [Pfad]plink.exe  -ssh -auto-store-sshkey -batch -pw moodeaudio pi@moode "sudo poweroff"


Excel-Datei um Streams einzutragen

Diese Excel-Datei kann Streams zum lokalen moOde Player hoch laden (Funktion ohne Gewähr !)


Filesystem-Info's und Speicherort der Daten

Radio-Listen:
moOde Player speichert die Informationen über die Streams in Playlist-Dateien (*.pls) im Ordner:
/var/lib/mpd/music/RADIO/

Playlisten:
In folgendem Ordner werden die Playlisten gespeichert:
/var/lib/mpd/playlists

Bilder-Ordner:
Speicherort /var/www/images/radio-logos

 

Datenbank für die Bilderinfo
Admin-Rechte bekommen:
sudo su
Die SQLlite Datenbank öffnen
sqlite3 /var/local/www/db/moode-sqlite3.db


Ein paar hilfreiche SQL-Befehle

Die Radio-Liste komplett leeren (nicht empfohlen)
delete from cfg_radio;

Alle Einträge löschen bis auf bestimmte ID's  (499 sollte nicht gelöscht werden)
delete from cfg_radio where id not in (187,188, 499);
Bestimmten Eintrag löschen
delete from cfg_radio where id = 501;

Spalten-Überschriften einschalten
.headers on

Mit der folgenden Abfrage werden alle Einträge aufgelistet
select * from cfg_radio;

Neuen Eintrag in die Datenbank schreiben:
Wichtig die blau hinterlegen Einträge müssen natürlich für den jeweiligen Sender angepasst werden!
station : 'http://stream.freefm.de:8100/'
name : 'FreeFM'

type :  's'
logo :  'local' ausser wenn ein 2.mal auf das selbe Logo verwiesen wird dann den Pfad angeben "images/radio-logos/Senderlogo.jpg"
Dieser SQL-Term frägt die größte ID der Tabelle ab und addiert um den Wert 1 und fügt einen neues Datensatz an.

insert into cfg_radio selectt max(id)+1,'station','name','s','local' from cfg_radio;

Würde folgenden Eintrag ergeben:
insert into cfg_radio select max(id)+1,'http://stream.freefm.de:8100/','FreeFM','s','local' from cfg_radio;

SQlite verlassen mit Tastenkombination STRG-D verlassen

Tip: Die moode-sqlite3.db kann auch mit WinSCP heruntergeladen werden und mit den "DB Browser für SQLite - PortableApp" betrachten und bearbeitet werden


Zusätzliche Infos

* WLAN-Info steht in der moode-sqlite3.db Tabelle cfg_network