Du bist hier:Start»Linux»Shazam

Shazam für Linux

24.04.2015

Shazam for Linux

Linux ist ein quelloffenes und freies Betriebssystem mit jeder Menge Anwendungssoftware. Leider sieht es beim Thema Musik-Erkennung unter Linux trotz Echoprint noch relativ bescheiden aus. Shazam ist eine App zur Musikerkennung von Millionen Liedern. Sie besteht aus einer Client-seitigen Software, die Musik aufnimmt und einer Server-seitigen Datenbank mit Musiktiteln zum Vergleichen. Die Client-seitige Software gibt es hauptsächlich für Smartphones. Eine PC oder sogar Linux-Version bietet Shazam im Augenblick nicht an (Stand 2015). Eine Alternative ist es, Shazam in einer virtuellen Maschine mit Android-x86 zu installieren. In einem Youtube-Video zeige ich, wie die Installation von Shazam unter Linux möglich ist.

Links zum Video:

Prüfsummen

Die Kombination der Version Android-x86 4.0-r1 (für Eee PC) und Shazam 4.4.0 für Android hat in VirtualBox unter Linux funktioniert. Es kann sein, dass auch neuere Versionen von Android-x86 und Shazam funktionieren - allerdings habe ich keine anderen Kombinationen getestet. Die Prüfsummen der Dateien sind:

# checksums of the downloaded files:

sha1sum *
1953717ac1d606d57fc7d7293b367f8025c51b65  android-x86-4.0-RC2-eeepc.iso
e05c88ddb6d891edebcfa5e5c7fe690f0e62af01  cc.co.eurdev.urecorder_5.apk
488e793e82a984f6573b0467d409fc5fa25a76be  shazam-4-4-0-jb82212-en-android.apk

Die Installation

Die Installation von Shazam unter Linux läuft wie folgt ab:

  1. VirtualBox installieren
  2. Android-x86 in VirtualBox installieren
  3. DNS-Server in Android setzen und die Netzwerkverbindung testen
  4. im Terminal die zweite Netzwerkschnittstelle für die Verbindung zwischen virtueller Maschine und Gast-System konfigurieren
  5. mit der Android Debug Bridge (adb) das Host-System mit der virtuellen Android-Maschine verbinden
  6. den Urecord Audio Recorder und Shazam in Android-x86 installieren
  7. mit PulseAudio Volume Control (pavucontrol) die abgespielte Musik als Aufnahme umleiten (Monitor of Internal Audio)
  8. mit Urecord testen, ob die Aufahme in Android-x86 funktioniert
  9. Shazam starten und Musik erkennen lassen
  10. optional: in die virtuelle Maschine mit Android einloggen und die erkannten Lieder mit der Maus kopieren

Kommandozeilen

In dem Video habe ich einige Befehlszeilen benutzt, um die virtuelle Maschine mit Android und das Host-System zu konfigurieren. Zum Beispiel den DNS-Server in Android-x86 setzen oder die lokale Shazam-Datenbank auslesen:

# set the second network interface in Android:
busybox ifconfig eth1 192.168.56.2 up

# set the name resolution in Android
setprop net.dns1 8.8.8.8

# test the network connectivity
ping google.de


# in the host system:

# set the host-only adapter in the host system:
ifconfig vboxnet0 192.168.56.1 up

# connect via android debug bridge (adb) to the virtual machine
adb connect 192.168.56.2:5555
adb shell
stty rows 30 cols 130

# read the local shazam database to copy the track title
sqlite3 /data/data/com.shazam.android/databases/­library.db .d | grep track\"

Musik

Die im Video benutzte Musik ist:
Oh Wee von Immortal Beats. Sie ist unter der Attribution-ShareAlike 3.0 International License lizensiert. CC-by-SA.
http://creativecommons.org/licenses/by-sa/3.0/

Dieses Lied habe ich aus rechtlichen Gründen zur Demonstration für das Video ausgewählt. Shazam kann natürlich genauso gut die aktuellen Chart-Hits erkennen.

Falls noch etwas unklar sein sollte, dann kannst du die Kommentar-Funktion benutzen.

Kommentar schreiben