Audio überall. Mopidy und Snapcast

source:

Musik hören geht alle Zeiten wieder durch mehrere Iterationen. Von wild, ungetaggten, Files die ich bin XMMS abspielte, über die ersten Versuche mit einer Verwaltung unter Amarok und eine sehr düstere Zeit mit, dem vom Herzen tiefst gehassten, iTunes. Das erste Licht am Ende des Tunnels sah ich mit MPD und dem Feature von ncmpcpp Tags und Files umzubenennen und richtig zu taggen. Später dann mit Picard vom MusicBrainz Projekt. Dann kam ich schnell auf ein Kommandozeilen-Tool was dies auch ganz wunderbar kann: beets. Ab da wollte ich mir nicht mehr von anderen Programmen in meine Files schreiben lassen und erst recht nicht sortieren. Nun gibt es Clouds oder ähnliche Marketingkonstrukte und man installiert sich Software auf dem Heimserver wie Plex oder seine Open-Source-Alternative Emby. Mit diesen Diensten kann man seine Mediensammlung theoretisch über das Internet konsumieren. Klappt in den besten Fällen ziemlich gut. Gerade die UI von Emby kommt mir ziemlich behäbig vor (kann natürlich auch an meinem Server liegen). Ich erinnerte mich an meine unbeschwerte Zeit mit MPD. Alles flutschte und funktionierte mit den verschiedensten Clients. Nun gibt es ein kleines Projekt mit dem Namen Mopidy. Ein in Python geschriebener Audio Server der so tut als ob er MPD ist aber noch viel mehr zu bieten hat. Es gibt Plugins um auf die verschiedensten Bibliotheken zuzugreifen. Unter anderem Spotify, Youtube, Google Music, usw. Also habe ich mich mal ran gesetzt und ein Emby Plugin geschrieben. Nun kann ich das langsame UI umgehen und viele weitere Möglichkeiten machen sich auf.

Ich lasse Mopidy und Snapcast in einem Docker Container laufen. Snapcast bietet Multi-Room Streaming. Mehrere Devices die über das Netz ihren Output synchronisieren und das bei mir sogar über ein VPN hinweg. So kann ich Raspberry Pi's über all im Haus verteilen. Diese starten dann den snapclient nach dem booten und die Musik spielt ab.

Mopidy muss dazu den Output in ein FIFO-File schreiben. Dazu muss in der Config folgendes stehen:

[audio]
output = audioresample ! audioconvert ! audio/x-raw,rate=48000,channels=2,format=S16LE ! wavenc ! filesink location=/tmp/snapfifo

Den Server startet man mit den Defaults mit einem einfachen snapserver. Der Client sollte den Server über Avahi finden. Da ich den Port an meinem Container nicht freigegeben habe mache ich das manuell mit snapclient -h 192.168.1.77. Mein Docker Setup findet man hier.

Als git den ganzen Raspi Speicher frass

Ich experimentiere gerade rum um einen Raspberry Pi zu einer kleinen Jenkins-Testbox umzubauen. Ich weiß ich weiß... der Raspi ist nicht gerade eine Powermaschine. Trotzdem ist es ein Projekt in das ich gerade viel Zeit stecke. Plan ist es auf dem Raspi alle meine git-Repos zu haben und bei commits dann die Tests auszuführen. Gerade versuche ich per Jenkins ein MySQL Backup über git einzuspielen. Der Dump ist ganze unglaubliche 10 MB groß. Dies scheint zu reichen um git an seine Grenzen auf dem Raspi zu zeigen. Das ganze spiegelte sich in dieser Fehlermeldung wieder:

remote: Counting objects: 666, done.
remote: warning: suboptimal pack - out of memory
remote: fatal: Out of memory, malloc failed

Ich konnte es beseitigen in dem ich in dem Remote-Repo folgendes machte:

git config pack.windowMemory 10m
git config pack.packSizeLimit 20m

Angriff der Zombie-Drohnen

cc-by-sa Max Braun

Vor ein paar Tagen krachte die Meldung rein, dass Amazon irgendwann Pakete mit Drohnen ausliefern will. Jetzt hatten wir an solchen Meldungen schon fast alles. vom Pizzacopter bis zum Dönercoptor. Nun also Amazon-Pakete. Dabei wird die Drohne meist als unbemannte und ethisch recht fragwürdige Tötungsmaschine wahrgenommen. Und da sind wir wieder an dem Punkt an dem Technik in jede Richtung benutzt wird. Das macht es auch so spannend. Für ein paar hundert Euro kann man sich zum Beispiel so eine Parrot-Drohne kaufen. Diese ist mit einigen Kameras ausgestattet und lässt sich mit dem Smartphone oder Tablet-PC steuern.

Nun hat der Hacker Samy Kamkar aus ein paar Wlan-Devices, einem Raspberry Pi und einer Parrot eine hackende Drohne gebaut. Diese knackt das Wlan mit der die Drohnen gesteuert werden und zwingt die Drohne dazu sich mit seinem eigenen angebotenen Netz zu verbinden. So hat man am Ende ein Schwarm Zombie-Drohnen, die das Gebiet unsicher machen. Auf seiner Seite hat er alle Einzelheiten beschrieben. Den Sourcecode hat er auch veröffentlicht.

Der Raspberry Pi Supercomputer

raspberry-pi-supercomputer-5

Wieso haben ich eigentlich noch keinen Raspberry Pi? Ds ist ein kleiner Computer für wenig Geld auf dem man problemlos Linux laufen lassen kann. Perfekt für einen kleinen Server oder eine Medienzentrale für das Wohnzimmer. Aber eigentlich will man damit nur rumspielen und Sachen aus dem Grund machen, das man sie machen kann.

Zum Beispiel einen Supercomputer aus diesen kleinen Computer bauen. Das haben die Studenten von der Universität Southampton gemacht. 64 Keincomputer wurden dafür zusammen geschaltet. Alle Informationen zum Nachbauen gibt es im Internetz. Und LEGO ey... wie geil seit ihr denn bitte?!