ubuntuusers.de

cmus

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:


Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

Wiki/Icons/terminal.png cmus 🇬🇧 (C* Music Player) ist ein leichtgewichtiger Terminal-Audioplayer, der aus den Programmteilen cmus und cmus-remote besteht. Er ist in C geschrieben, nutzt die freie Programmbibliothek ncurses und ist POSIX-kompatibel.

cmus verfügt über einen großen Funktionsumfang, der dem vieler grafischer Player nicht nachsteht und ihn teilweise sogar übertrifft: cmus erlaubt u.a. die Wiedergabe lokaler Audiodateien und von Internetradio, unterstützt Wiedergabelisten, legt eine durchsuchbare Bibliothek an und ist sehr umfangreich konfigurierbar. Da cmus kaum Ressourcen benötigt und ohne XServer auskommt, ist er sehr gut für ältere Computer geeignet.

cmus unterstützt die unterbrechungsfreie Wiedergabe (Gapless Playback) sowie ReplayGain; unterstützte Audio-Formate sind Ogg-Vorbis, MP3, FLAC, Musepack, WavPack, Wav, AAC, ALAC, WMA, APE, TTA, SHN und MODs.

Ein Alleinstellungsmerkmal von cmus unter den Terminal-Audioplayern ist die Unterstützung von Cuesheets.

Installation

Folgendes Paket muss installiert [1] werden:

  • cmus (universe)

Befehl zum Installieren der Pakete:

sudo apt-get install cmus 

Oder mit apturl installieren, Link: apt://cmus

Die benötigten Codecs befinden sich in den Abhängigkeiten des Pakets und werden automatisch installiert.

Bedienung

./cmusscreenshot.png Das installierte Programm wird im Terminal [2] mit dem Befehl cmus gestartet [3]. (Im Homeverzeichnis wird beim ersten Start der versteckte Ordner .cmus angelegt, was einige Zeit in Anspruch nehmen kann.)

Hinweis:

Startet man cmus in einem aufklappbaren Terminal-Emulator wie Yakuake oder Tilda, kann das Programm später einfach per Knopfdruck ein- und ausgeblendet werden.

Nach dem Start sollten zunächst Musikdateien in die Bibliothek importiert werden. Zwingend ist dies nicht nötig, es können auch Audiodateien im integrierten Dateibrowser ausgewählt werden wodurch nochmals Rechenleistung eingespart wird. Allerdings muss dann auf zahlreiche Funktionen verzichtet werden.

Bibliothek einlesen

Musikdateien

Man wechselt mittels : auf die Befehlszeile und fügt das Verzeichnis oder die Datei mit dem Befehl add, gefolgt vom entsprechenden Pfad, hinzu:

:add ~/Musik 

Je nach Umfang der Musiksammlung kann dies etwas dauern. Nachdem die Sammlung eingelesen wurde, findet man sie sortiert nach Künstler in der linken Bildschirmhälfte. Um die jeweiligen Alben angezeigt zu bekommen, muss man          drücken. Auf der rechten Seite werden die im Ordner enthaltenen Musikstücke angezeigt. Mehrere Ansichtsmodi gestatten es, komfortabel zwischen verschiedenen Möglichkeiten der Wiedergabe und den Einstellungen zu wechseln.

Hinweis:

cmus speichert alle Angaben zu den eingelesenen Dateien in einer Cache-Datei (~/.cmus/cache). Um das Programm schlank und schnell zu halten, wird diese Datei nicht kontinuierlich aktualisiert. Dies hat zur Folge, dass cmus nicht erkennt, wenn die Metadaten (Tags) eines Stücks von einem externen Programm (wie EasyTAG) verändert wurden. Damit cmus Änderungen anzeigen kann, muss daher die Bibliothek (mit clear -l) gelöscht, die Cache-Datei mit U aktualisiert sowie anschließend die Bibliothek neu eingelesen werden.

Radiostreams

Radiostreams können ebenfalls eingelesen werden. Sie müssen im Klartext als .m3u oder .pls vorliegen, um sie in cmus wiedergeben zu können. Eingebunden werden sie mittels:

:add STREAMADRESSE 

Hinweis:

Es ist möglich, mehrere Stream-Adressen untereinander in einer Textdatei zu speichern und anschließend alle Streams dieser Liste mit einem einzigen Befehl einzulesen. Bsp. für eine Datei mit dem Namen stream.list: :load /home/USER/.cmus/stream.list

Ansichten

Beim Start befindet man sich standardmäßig in der ersten von sieben Ansichten. Der Wechsel zwischen diesen erfolgt über die Tasten 1 bis 7 . Die Ansichten haben folgende Funktionen:

Ansichtsmodi
Modus Fenster Beschreibung
1 Bibliothek Zweispaltige Ansicht: Links werden Künstler und Album dargestellt, rechts deren einzelne Lieder (bzw. Tracks). (Künstler werden alphabetisch, Alben nach dem Erscheinungsjahr sortiert.)
2 Sortierte Bibliothek Flache Listenansicht der Lieder mit der Möglichkeit für den Benutzer, die Sortierungskriterien selbst festzulegen
3 Wiedergabeliste Anzeige der (editier- und speicherbaren) Wiedergabeliste
4 Warteliste (Queue) Anzeige der unmittelbar abzuspielenden Lieder
5 Datei-Browser Dateisystemansicht mit der Möglichkeit zum Hinzufügen von Liedern zur Sammlung, der Wiedergabeliste oder Warteliste
6 Filter Anzeige benutzerdefinierter Filter
7 Einstellungen Einstellungsanzeige und -änderung: D löscht Einstellungen, mit können sie modifizierbar gemacht sowie mit          die konkreten Variablen geändert werden. Die standardmäßige Konfiguration ist vollständig anpassbar.

Steuerung

cmus wird über die Tastatur gesteuert. Die Navigation orientiert sich an den Konventionen von VIM, den Fokus kann mal also bspw. mit K nach oben und mit J nach unten bewegen. (Wobei auch die Tasten und funktionieren.)

Um in den Ansichten 2, 3 oder 4 mehrere Titel zur Wiedergabeliste bzw. zur Warteliste (Queue) hinzuzufügen, markiert man diese zunächst nacheinander mit der Taste          ; sie erscheinen dadurch farblich hervorgehoben.

Wichtige Befehle

cmus-Tastenbelegung
Taste(n) Funktion
Wiedergabe:
X Wiedergabe
V Stop
C Pause
B Nächster Titel
Z Vorheriger Titel
+ Lautstärke erhöhen
- Lautstärke verringern
5 Sekunden vorspringen
5 Sekunden zurückgehen
I Fokus auf laufenden Titel (in Ansicht 1 und 2)
S Zufallswiedergabe (Shuffle)
R Wiederholung (Repeat)
Strg + R Wiederholung des aktuellen Titels (Repeat current)
T Anzeige der verbleibenden Liedlaufzeit
Sonstiges:
1 bis 7 Wechsel zwischen den verschiedenen Ansichtsmodi (Wiedergabe, Playlist, Warteliste, …)
         Alben ein-/ausblenden (Ansicht 1) bzw. Titel auswählen
Tab ⇆ Wechsel zwischen den Fensterhälften
/ Suche nach Künstler, Album oder Titel. Fortsetzung der Suche vorwärts mit N , rückwärts mit + N
/ + / Suche nur nach Künstler oder Album (Ansicht 1) oder Titel (Ansichten 2–4). Fortsetzung der Suche vorwärts mit N , rückwärts mit + N
: Wechsel in die Befehlszeile
+ D Ausgewählten Titel löschen
Y Ausgewählten Titel in die Wiedergabeliste kopieren
E Ausgewählten Titel in die Warteliste kopieren
+ E Ausgewählten Titel in die Warteliste kopieren und dort voranstellen
P Ausgewählten Titel in Ansicht 3 oder 4 eine Position nach unten verschieben
+ P Ausgewählten Titel in Ansicht 3 oder 4 eine Position nach oben verschieben
A In der Browser-Ansicht (5) eine Datei oder ein Verzeichnis in die Bibliothek (1 und 2) kopieren
Q , Y Programm beenden

Weitere Befehle sind den Manpages zu entnehmen. Die Befehle können beliebig den eigenen Wünschen angepasst werden.

Hinweis:

Befinden sich Audio-Dateien sowohl in der Wiedergsabe- als auch in der Warteliste (Queue), werden grundsätzlich zunächst die Dateien aus der Warteliste abgespielt. Dies gilt auch, wenn man bei laufender Wiedergabe eine Datei in die Warteliste einfügt.

Kommandozeile

cmus wird zudem durch Kommandos gesteuert, die im Stil von VIM immer mit einem Doppelpunkt : beginnen. Beispiele dafür sind:

Kommandos
Befehl Beschreibung
:add ~/Musik Ordner ~/Musik der Bibliothek hinzufügen
:save -p /home/USER/liste.pls Aktuelle Playlist in das angegebene Verzeichnis unter dem Namen liste.pls speichern
:load playlist.pls Eine Playlist laden
:clear Inhalt der aktuellen Ansicht löschen
:clear -l Bibliothek löschen
:add http://live.urn1350.net:8080/urn_high.ogg Stream http://live.urn1350.net:8080/urn_high.ogg hinzufügen
:set format_current= Titelanzeige verändern
:set output_plugin= Ausgabeplugin festlegen
:colorscheme Farbschema anpassen

Hinweis:

Jeder Befehl kann mit seinen Anfangsbuchstaben abgekürzt werden, wenn die Abkürzung eindeutig ist, also kein anderer Befehl mit den gleichen Buchstaben startet. Statt :add STREAMADRESSE kann also bspw. kurz :a STREAMADRESSE geschrieben werden.

Zusätzliche Informationen findet man in den Manpages.

Filter

cmus erlaubt es, die Bibliothek (Ansichten 1 und 2) nach bestimmten Kriterien zu filtern. Hierbei lassen sich temporäre Filterungen anlegen, als auch dauerhafte, die bei Bedarf de-aktiviert werden können.

Syntax

Filter können auf die Variablen filename, artist, album, title, genre, discnumber, tracknumber, date [Jahr] und duration [in Sekunden] angewendet werden. Sie können mit & (und) sowie | (oder) kombiniert werden; ein ! schließt den folgenden Ausdruck aus. Vergleichsoperatoren sind <, <=, =, >=, > und !=.

Temporäre Filter

Temporäre Filter für die aktuelle Sitzung werden mit dem Befehl :filter eingerichtet. Der Befehl

:filter genre="Classical" 

zeigt bspw. nur die Lieder des Genres „Classical“ an.

:filter genre="Alternative"&duration<180 

zeigt alle Lieder des Genres „Alternative“ an, die kürzer als 3 Minuten (180 Sekunden) sind. Der Befehl

:filter title="A*"&genre!="Pop" 

zeigt alle Lieder an, die mit dem Buchstaben „A“ beginnen und nicht zum Genre „Pop“ gehören.

Temporäre Filter werden wieder gelöscht, indem einfach :filter (ohne Nachfolgendes) eingegeben wird.

Dauerhafte Filter

Mit fset wird in Ansicht 6 ein dauerhafter Filter eingetragen; angewandt werden sie mit dem Befehl factivate. Beispiel:

:fset flac=filename="*.flac" 

erzeugt einen Filter mit dem Namen flac, der bewirkt, dass nur FLAC-Dateien anzeigt werden. Der Befehl:

:factivate flac 

wendet diesen Befehl an. Mit dem Befehl:

:factivate !flac 

werden nur Dateien angezeigt, die nicht FLAC-Dateien sind.

Dauerhafte Filter können auch aktiviert werden, indem in Ansicht 6 bei Fokus auf dem entsprechenden Filter          und anschließend gedrückt wird.

Hinweis:

factivate-Befehle können mit einer Tastenkombination verbunden werden, so dass sie durch einen einfachen Tastendruck angewandt werden können.

Mit dem Befehl:

mark FILTERAUSDRUCK 

werden Lieder, die dem genannten Filter-Ausdruck entsprechen, markiert. Dies ist bspw. hilfreich, wenn die ausgewählten Lieder anschließend in die Playlist verschoben werden sollen.

Dauerhafte Filter können in der Filteransicht (6) deaktiviert werden. Dazu muss in dieser Ansicht der Fokus auf den aktivierten Filter gesetzt werden. Nun kann der Filter durch zweimaliges Drücken der          -Taste und anschließendes Betätigen der -Taste deaktiviert werden.

Konfiguration

Konfigurationsdateien

cmus sucht sich seine Konfigurationseinstellungen in drei Dateien:

  • ~/.cmus/autosave: Datei, die cmus selbst anlegt und nach dem Programmstart zuerst ausliest. In ihr werden nach Programmende die aktuellen Einstellungen gespeichert; diese Datei sollte vom Nutzer nicht editiert werden, da sie vom Programm verändert werden kann.

  • /usr/share/cmus/rc: Datei mit Standardeinstellungen. Sie wird geladen, wenn die Datei autosave nicht existiert.

  • ~/.cmus/rc: Statische Konfigurationsdatei, deren Einstellungen prioritär verwendet werden. Diese Datei (die ggf. manuell angelegt werden muss) sollte bearbeitet werden, wenn benutzerdefinierte Einstellungen dauerhaft vorgenommen werden sollen. (Einen ersten Anhaltspunkt dafür, wie derartige Einstellungen auszusehen haben, bietet die Datei autosave.)

Soundystem

cmus unterstützt pulse, alsa, oss und ao. Gesetzt werden kann sie (hier für oss) mit:

:set output_plugin=oss 

Standardmäßig wird pulse (PulseAudio) verwendet.

Optik

Die Optik des Players ist anpassbar. Mehr dazu findet sich in einem separaten Artikel.

Skripte

cmus kann um Skripte ergänzt werden, die u.a. die Anbindung an Last.fm oder die Übergabe des aktuellen Titels an Twitter ermöglichen. Nähere Informationen dazu finden sich im Wiki 🇬🇧 von cmus.

cmus-remote

Der Programmteil cmus-remote gestattet es, den Player in einem separaten Terminal-Fenster durch Befehle zu steuern. Dies gestattet auch die Einbindung in Skripte.

Hinweis:

cmus-remote erlaubt es in Kombination mit xbindkeys, cmus über die Multimediatasten der Tastatur zu bedienen. Mit dem Eintrag bind on XF86AudioNext exec cmus-remote -n in der Datei .xbindkeysrc sendet bspw. die Multimediataste „nächstes Lied“ den entsprechendem Befehl an cmus.)

Befehlsoptionen

cmus-remote
Option Beschreibung
-p Wiedergabe
-u Pause
-s Unterbrechung der Wiedergabe
-n Nächster Titel
-r Vorheriger Titel
-R Wiederholung (Repeat)
-s Zufallswiedergabe (Shuffle)
-v Lautstärkeänderung (muss von einem Wert gefolgt werden, also z.B.: -v +10)
-k Titelsuche
-l Bibliothek
-p Wiedergabeliste
-q Warteliste
-c Wiedergabeliste löschen
-l Bibliothek löschen
-q Warteliste löschen

Beispiele

Eine Wiedergabeliste, Dateien, Ordner oder Internetlinks zur Bibliothek hinzufügen:

cmus-remote -l music.m3u \ http://live.urn1350.net:8080/urn_high.ogg 

Löschen der Wiedergabeliste und Hinzufügen neuer Inhalte:

cmus-remote -c music.m3u 

Alarm-Hack

Dieser kleine Befehl bewirkt, dass die Musik nach einer definierten Zeit ausgeht (wenn man z.B. zur Arbeit muss).

echo "cmus-remote -u" | at now+14minutes 

Problembehebung

Sollte cmus nicht starten, wird wahrscheinlich das falsche Soundsystem angesprochen. Da man die Optionen in dem Fall nicht erreichen kann, muss die Konfigurationsdatei rc unter .config/cmus bearbeitet werden (notfalls vorher erstellen). Folgende Werte sollten funktionieren:

1
2
3
4
set output_plugin=alsa
set dsp.alsa.device=default
set mixer.alsa.device=default
set mixer.alsa.channel=Master

Diese Revision wurde am 16. August 2022 13:42 von karzer erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Shell, Multimedia