Musikmopped

From chaospott wiki
Jump to: navigation, search
         
Musikmopped

Release status: stable [box doku]

Musikmopped-v1.jpg
Description Unser Musikmopped
Maintainer(s)  NOC
Last Version  v3
Platform  Raspbery Pi B+
Hostname  mpd.lounge.foobar.local (10.42.1.139) / mpd.elab.foobar.local (10.42.1.125)

Das Musikmopped sorgt für Musik im Space. Die Musik wird über den Music Player Daemon (MPD) abgespielt, was bedeutet, dass das Musikmopped mit jedem MPD-Klienten gefahren werden kann. Der Verstärker muss dafür auf AUX gestellt werden.


v3.0 - RaspberryPi B+[edit]

Durch ersetzen des RasPi B durch nen B+ ist die Soundkarte weggefallen. Zusätzlich konnte die Festplatte durch ne Sambafreigabe auf dem Storageserver ersetz werden (Musik und Playlisten) um mehrere Pi's von der gleichen Datenbasis zu befeuern.

Die MPD's sind per DNS und v6 erreichbar. Alternativ könnt ihr auch die v4 Adresse direkt eintragen (v6 aktivieren macht euch das Leben aber deutlich einfacher ;))

Um dort Musik hinzubekommen verbindet euch mit storage.chaospott.de per smb (Windowsfreigabe) und kopiert eure Musik in den music Ordner. Wenn das passiert ist, müsst ihr dem MPD sagen das er seine Datenbank updaten soll (euer Client sollte eine Funktion dafür bereitstellen, macht der MPD aber auch bei jedem start selbst). Nach nen paar Minuten sollte euer Kram verfügbar sein.


v2.0 - RaspberryPi B[edit]

In der zweiten Version des Musikmoppeds übernimmt ein RaspberryPi B die Aufgabes des VIP1710. Eine externe USB-Soundkarte behebt die mangelhafte Audioausgabe der Onboard-Hardware. Der USB-Stick wurde durch eine externe Festplatte ersetzt. Als Betriebssystem wird Rasbian verwendet.

Config[edit]

Pulseaudio[edit]

sudo apt-get install pulseaudio pulseaudio-module-zeroconf avahi-daemon
sudo adduser pi pulse-access

Setze in /etc/default/pulseaudio: PULSEAUDIO_SYSTEM_START=1

Füge zur /etc/pulse/system.pa hinzu:

### Network-Available   
load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;10.0.0.0/8 
load-module module-zeroconf-publish

An dieser Stelle solltest du rebooten. (sudo reboot). Es können jetzt Sounds über das Netzwerk wiedergegeben werden.

Festplatte[edit]

sudo apt-get install mpd
sudo adduser mpd pulse-access

Schließ die Musikfestplatte an.

Lege einen Mountpoint für die Platte an:

sudo mkdir /media/musik
sudo chown pi /media/musik

Trage in der /etc/fstab ein:

/dev/sda1       /media/musik    ext3    defaults,noatime  0       3

Jetzt wird die Platte bei Systemstart gemountet. Um sie ohne Reboot zu mounten, führe aus:

mount -a

MPD[edit]

Öffne /etc/mpd.conf und mache aus

#audio_output {
#       type            "pulse"
#       name            "My Pulse Output"
#       server          "remote_server"         # optional
#       sink            "remote_server_sink"    # optional
#}
audio_output {
       type            "pulse"
       name            "MPD PulseAudio Output"
#       server          "remote_server"         # optional
#       sink            "remote_server_sink"    # optional
}

Weiterhin muss folgende Zeile auskommentiert werden, damit der MPD über das Netzwerk erreichbar ist:

bind_to_address                "localhost"

Als letztes Setze die korrekten Verzeichnisse in der Datei:

music_directory         "/media/musik/musik"
playlist_directory      "/media/musik/playlists"
db_file                 "/media/musik/db/tag_cache"

Anschließend kann der MPD neu gestartet werden und sollte komplett laufen.

sudo service mpd restart

Shairplay / AirPort[edit]

Damit kann man von Apple-Devices auf das Musikmopped streamen.

sudo apt-get install git libao-dev libssl-dev libcrypt-openssl-rsa-perl libio-socket-inet6-perl libwww-perl avahi-utils libmodule-build-perl
cd 
git clone https://github.com/hendrikw82/shairport.git
cd shairport
make

Net::SDP für Perl installieren.

sudo make install
sudo cp shairport.init.sample /etc/init.d/shairport
sudo cd /etc/init.d
sudo chmod a+x shairport
sudo update-rc.d shairport defaults
adduser root pulse-access

Jetzt nur noch die /etc/init.d/shairport bearbeiten und bei DAEMON_ARGS die Zeile durch DAEMON_ARGS="-w $PIDFILE -a Musikmopped" ersetzen.

Jetzt kann Shairport gestartet werden und startet auch bei Systemstart.

sudo service shairport restart

v1.0 - VIP1710[edit]

Für die erste Version des Musikmoppeds wurde ein MOTOROLA VIP1710 mit mediadistro ausgestattet und für unsere Zwecke angepasst. Ein USB-Stick in Micro-Bauform hält sowohl das Image des Betriebssystems als auch die Musikdaten.

Kernel[edit]

Es gab immer wieder Probleme mit dem ext2-Dateisystem auf dem USB-Stick.

Mediadistro kommt ohne Unterstützung des ext3-Dateisystems. Das ext3-Modul wurde mit der Cross-Toolchain kompiliert und in die Distribution integriert.

Replay Gain[edit]

Vor dem Hinzufügen neuer Dateien sollten Replay Gain-Informationen zu den ID3v2-Tags hinzugefügt werden.

Um alle MP3-Dateien im aktuellen Ordner damit auszustatten, kann folgender Befehl verwendet werden:

find . -type f -iname '*.mp3' -print0 | parallel --eta -0 mp3gain -p -s i

(Benötigt GNU Parallelpactl set-sink-volume 0 20% und mp3gain.)