Auch wenn es die Musikbranche nicht gerne hört: Im Rahmen der Privatkopie dürfen Nutzer auch von urheberrechtlich geschützten Werken Kopien anfertigen, solange die Stücke nicht aus offensichtlich widerrechtlichen Quelle stammen und man nicht einen wirksamen Kopierschutzmechanismus umgeht. Der auf Youtube sehr populäre Anwalt Christian Solmecke hat das Thema schon mehrfach im Rahmen seiner Videos behandelt, zuletzt im April dieses Jahres. Hört man also seine Lieblingsmusik bei Spotify und hält sein Handy mit einer Audiorekorder-App an die Lautsprecher, dann macht man daher in der Regel nichts falsch. Auch das Mitschneiden der Musik aus dem Radio mit einem Kassettendeck war legal. Nicht groß anders arbeitet nun das Kommandozeilenwerkzeug Spotrec. Das kleine Programm geht nur einen Tick cleverer vor und lauscht per PulseAudio direkt an der Quelle.

Spotrec ist ein in Python entwickeltes Kommandozeilenprogramm für Linux, dessen Quellcode auf Github zu finden ist. Rein technisch automatisiert es die Fähigkeiten des Soundservers Pulseaudio, der bei den meisten Linux-Distributionen zum Standard gehört. Das Programm erstellt automatisch eine „Senke“ und überwacht im Hintergrund die Aktionen des Spotify-Clients. Sobald das Programm Musik abspielt, leitet Spotrec das Audiosignal durch die Senke und nimmt die Ausgabe auf der Festplatte auf. Analog zum Beispiel der Aufnahme eines Radiosenders mit einem Tapedeck leitet Spotrec die Musik durch den virtuellen Kassettenrekorder und spielt sie danach umgehend über den Verstärker wieder ab. Während der Aufnahme dürft ihr daher auch nicht die Wiedergabe unterbrechen. Das Aufzeichnen dauert zudem immer so lange wie das Stück läuft. Spotrec kümmert sich jedoch automatisch um das Drücken der Wiedergabe- und Pausetaste.

Installation

Unter Arch Linux oder Manjaro könnt ihr die Anwendung ohne große Klimmzüge über das AUR installieren, einfach yay -S spotrec in das Terminal hacken. Alternativ geht das natürlich mit einem der anderen zahlreichen AUR-Helper oder einem grafischen Tool zur Paketverwaltung wie etwa Pamac, das ebenfalls das AUR unterstützt. Auf anderen Distributionen müsst ihr in der Regel lediglich den Quellcode von Hand aus dem Git laden, danach lässt sich das Programm direkt aufrufen. Optional schiebt ihr es in einen Ordner wie zum Beispiel ~/.local/bin/spotrec, in dem das System automatisch nach ausführbaren Programmen sucht. So könnt ihr Spotrec dann unmittelbar über das Kommando spotrec aufrufen.

### Quellcode zu Spotrec aus Github herunterladen:
$ git clone https://github.com/Bleuzen/SpotRec
$ SpotRec/spotrec.py --help

### Spotrec ins eigene Home-Verzeichnis installieren:
$ mkdir ~/.local/bin
$ cp SpotRec/spotrec.py ~/.local/bin/spotrec
$ spotrec
SpotRec v0.15.0
You should not pause, seek or change volume during recording!
[...]

### Voraussetzung für den Aufruf von Spotrec ist, dass der
### Ordner ~/.local/bin in der $PATH-Variable des Desktops
### stehen muss. Bearbeitet daher eventuell die Datei ~/.profile
### und loggt euch einmal aus und wieder ein:
$ cat ~/.profile
[...]
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/.local/bin" ] ; then
    PATH="$HOME/.local/bin:$PATH"
fi

Nach der Installation von Spotrec benötigt ihr den offiziellen Spotify-Client für Linux. Diesen bekommt wieder aus den Paketquellen der von euch genutzten Distribution. Spotify selbst pflegt eine Anleitung zur Installation des Clients unter Ubuntu. Unter Arch Linux und Derivaten wie Manjaro findet ihr Spotify — wie so oft — im AUR. Ohne Klimmzüge landet das Programm daher via yay -S spotify auf dem Rechner. Für einen ersten Test startet ihr den Spotify-Client und öffnet dann ein Terminalfenster, in dem ihr das Kommando spotrec -o /tmp/spotrec --skip-intro --debug ausführt. Danach spielt ihr einen beliebigen Song auf Spotify ab: Spotrec sollte die Wiederhabe automatisch erkennen und den Song im Ordner /tmp/spotrec im FLAC-Format aufzeichnen. Mit [Strg]+[C] brecht ihr die aktuelle Aufnahme an, die bis dahin gesicherten Songs bleiben erhalten. Sollte Spotrec sich nicht in die Wiedergabe einklinken können, dann helfen euch die zusätzlichen Fehlermeldungen des Debug-Modus bei der Analyse des Problems.

### Erster Test mit Debug-Informationen:
$ spotrec -o /tmp/spotrec --skip-intro --debug
[...]
10:29:44,952 - INFO - [FFmpeg] [133071] Recording started
2021-11-15 10:29:44,961 - INFO - [Spotify] State changed: Paused
[...]
### Integriere Alben-Cover und organisiere Songs:
$ spotrec -o /tmp/spotrec --skip-intro --filename-pattern "{artist}/{album}/{trackNumber}-{title}" --add-cover-art

Für eine erste „richtige“ Aufnahmen lasst ihr die Option --debug weg und ergänzt das Kommando stattdessen um ein Muster für die Ordner- und Dateistruktur. Dabei greift Spotrec auf die MPRIS-Daten zurück, über die Audioplayer Informationen wie etwa den Songtitel oder das Album an die Desktopumgebung melden. Die Option --add-cover-art integriert dann auch noch gleich das entsprechende Albencover in die gesicherten FLAC-Dateien. Im verlustfreien FLAC-Format gespeichert, benötigt ein Song in etwa 15 MByte Speicherplatz auf der Festplatte. Eine Option, die Songs alternativ im MP3-Format zu speichern, bietet Spotrec aktuell nicht. Möchtet ihr während der Aufnahme nichts hören, dann hängt einfach noch die Option --mute-recording an das Kommando an. Weitere Informationen und Details zu den einzelnen Optionen erhaltet ihr über die Hilfe spotrec --help des Programms.

Spotrec nimmt im Hintergrund die von Spotify abgespielte Musik auf.
Spotrec nimmt im Hintergrund die von Spotify abgespielte Musik auf.
Spotrec nimmt die Ausgabe von Spotify im FLAC-Format auf.
Spotrec nimmt die Ausgabe von Spotify im FLAC-Format auf.

Nacharbeiten

Wundert euch bitte während er Aufnahme nicht, dass Spotrec die Wiedergabe eines neuen Songs kurz nach dem Anspielen unterbricht und wieder an den Anfang „zurückspult“. Dies soll verhindern, dass Übergänge zwischen den Songs in der Aufnahme landen. Es kommt allerdings durchaus vor, dass Schnipsel des vorherigen oder nächsten Songs an der aufgezeichneten FLAC-Datei hängen — oder der Song einfach mit einer zu langen Pause endet. Im Fall der Fälle müsst ihr daher ein wenig nacharbeiten. Dazu eignet sich ein Audioprogramm wie zum Beispiel Audacity, das ihr den Paketquellen der meisten Linux-Distributionen findet. Zoomt einfach an die problematische Stelle ran und schneidet den entsprechenden Bereich mit einem Druck auf [Entf] weg.

Anschließend könntet ihr den Song bei Bedarf dann direkt ins MP3-Format exportieren und somit ein wenig Platz auf der Festplatte sparen. Optional wandelt ihr gleich sämtliche mit Spotrec aufgezeichneten Songs in einem Rutsch vom FLAC- ins MP3-Format um — oder vielleicht gleich in das freie OGG-Format. Auch dazu gibt es wieder spezialisierte Tools, wie zum Beispiel den SoundConverter (in der deutschsprachigen Lokalisierung etwa kryptisch „Klangumwandler“). Auch diese Anwendung bekommt ihr wieder über die Paketverwaltung in das System installiert, das Paket nennt sich in der Regel soundconverter.

Mit Audacity schneidet ihr bei Bedarf die Aufnahmen zurecht.
Mit Audacity schneidet ihr bei Bedarf die Aufnahmen zurecht.
Der Klangumwandler (SoundConverter) konvertiert die FLAC-Dateien in das MP3-Format.
Der Klangumwandler (SoundConverter) konvertiert die FLAC-Dateien in das MP3-Format.

Spotrec wird aktiv weiterentwickelt und die auftretenden Fehler recht zeitnah ausgebügelt. Die aktuelle Version Spotrec 0.15.0 stammt vom 7. Oktober dieses Jahres. Es kommt aber durchaus mal vor, dass irgendetwas klemmt. So hatte ich zum Beispiel eine Zeit lang das Problem, dass Spotrec eine Playlist oder ein Album nach dem Abspielen des ersten Songs immer wieder von vorne abgespielt hat — ich konnte also immer nur den ersten Song aufnehmen. Ein paar Tage später war die Thematik allerdings wieder gelöst. Bei Schwierigkeiten solltet ihr daher immer prüfen, ob es eine neue Version des Programms gibt. Das betrifft besonders die Nutzer, die Spotrec ohne ein Paketverwaltungstool installiert haben.

Vorheriger ArtikelKsnip und Shutter: Moderne Screenshot-Tools
Nächster ArtikelExtra Browser für Facebook, Twitter und Co.
Hallo, ich bin Christoph - Linux-User, Blogger und pragmatischer Fan freier Software. Wie ihr ohne Zweifel bemerkt haben solltet, schreibe ich hier über Linux im Allgemeinen, Ubuntu im Speziellen sowie Android und andere Internet-Themen. Wenn du Freude an meinen Artikel gefunden haben solltest, dann kannst du mir über Facebook, Twitter oder natürlich dem Blog folgen.

2 Kommentare

  1. Ja funktioniert, kleines aber…:
    1. Wenn durch filename-pattern single quotes erzeugt werden findet keine Aufnahme statt,
    Beispiel: –filename-pattern „{artist}/{album}/{trackNumber}-{title}“
    Album = Poor David’s Almanack
    2. Entfernen des „.“ vor dem Dateinamen der Aufnahme erfolgt manchmal nicht,
    Kann den Effekt leider nicht genauer zu spezifizieren
    … beobachtet unter debian buster

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein