MOC (Music On Console)

De La Mouche VII
(Redirigé depuis MOC)


MOC (Music On Console) est un lecteur de musique en console, doté d'une jolie interface en ncurses. Le thème par défaut rappelle d'ailleurs beaucoup Midnight Commander. Très pratique quand on bidouille la configuration de son serveur X (merci à l'installateur NVIDIA, qui n'accepte de fonctionner que si aucun serveur X ne tourne...).

La dernière version (2.4.0 à l'heure où j'écris ces lignes) supporte de nombreux formats : MP3, Ogg Vorbis, FLAC, Musepack (mpc), Speex, WAVE, AIFF, AU, SVX, Sphere Nist WAV, IRCAM SF, Creative VOC, ainsi que, via FFmpeg, WMA, RealAudio, AAC, et MP4 .

Il a un fonctionnement de type client / serveur : au premier lancement du client, le serveur se lance, et on peut alors lancer la musique et quitter le client. On peut également lancer plusieurs clients, par exemple un dans une console texte et un autre dans un émulateur de terminal sous X.

Une fonctionnalité intéressante aussi, est qu'il n'a pas besoin d'une liste de lecture : on peut lire les fichiers directement depuis un répertoire, MOC les lira dans l'ordre (comme sur les baladeurs). Ceci dit on peut également faire une liste de lecture.

Les plus

  • Le mode texte, c'est Bien !
  • Depuis la version 2.3.0, des options de ligne de commande sont disponibles pour mettre / enlever la pause, pour avancer ou reculer dans un morceau, ainsi que pour passer au morceau suivant ou précédent dans le répertoire ou la liste de lecture. Cela permet de définir des raccourcis clavier globaux dans votre gestionnaire de fenêtres favori, ce qui me semble indispensable à tout bon lecteur de musique.
  • Fonctionnement client / serveur, qui évite que la musique ne se coupe en cas de crash du terminal ou autres désagréments.
  • Possibilité d'avoir un fond transparent (ben oui, c'est important quand même !).

Les moins

  • Pas de bibliothèque de musique (pour moi ce n'est pas vraiment un moins). Si ce genre de choses vous intéresse, voyez Pytone.
  • Lorsque l'on quitte le programme, il ne marque pas le dernier morceau lu, ce qui fait qu'il faut retrouver à la main l'endroit où on en était dans la liste de lecture (ou le répertoire).

Guide de démarrage rapide

Installation

L'installation est simple pour peu qu'il soit en paquet. Sous Debian :

aptitude install moc

Malheureusement, la version de Sarge est la 2.2.1, et il y a eu de nombreuses évolutions depuis. Il n'existe pas, à l'heure où j'écris ces lignes, de backport officiel. Sous Etch et Sid, on a droit à une version 2.4, ce qui est mieux (pour avoir le support de FFmpeg, installez en plus le paquet moc-ffmpeg-plugin).

Pour le compiler (avec le support d'ALSA), il faut installer certaines librairies :

# aptitude install libasound2-dev libsndfile1-dev libncurses5-dev libvorbis-dev libmad0-dev libid3tag0-dev libspeex-dev libmpcdec-dev

Ca devrait marcher avec ça (merci de compléter dans le cas contraire...). Pour le support de formats de fichiers supplémentaires, je vous laisse regarder dans le fichier README.

Ensuite, après avoir téléchargé la dernière version du source sur le site officiel de MOC les sempiternels :

$ tar xvjf moc-2.4.0.tar.bz2
$ cd moc-2.4.0
$ ./configure
$ make
$ make check  # (éventuellement)
# make install

(où 2.4.0 est la version téléchargée).

Lancement et commandes de base

Le programme se lance avec la commande :

$ mocp

Pour quitter le client, appuyez sur q. Pour quitter le client et le serveur, Q (<Maj.>+q).

La navigation se fait avec les flèches. Pour lire un fichier, appuyez sur <Entrée>. A la fin du fichier, le fichier suivant dans le répertoire est lu. A noter que seuls les fichiers dont le format est supporté sont affichés.

Pour aller à un répertoire particulier, appuyez sur i. Pour ajouter un fichier dans la liste de lecture, appuez sur a. Pour ajouter un répertoire, c'est A (<Maj.>+a).

Pour changer l'affichage, appuyez sur l (L minuscule, je précise à cause de la police sans sérif) (trois affichages différents sont paramétrables, mais il n'y en a que deux par défaut), et pour passer le curseur de la liste de lecture aux répertoires (et inversement), <Tab.>.

Ceci n'est valable qu'à partir de la version 2.4.0 : les versions antérieures ne permettent que de basculer entre l'affichage des répertoires et la liste de lecture avec l (toujours L minuscule).

Pour afficher l'aide (j'aurais dû commencer par là), appuyez sur h ou ?.

Personnalisation

La personnalisation est très simple également. Si vous n'avez pas encore lancé MOC, créez-vous un répertoire ~/.moc/, puis :

cp /usr/share/doc/moc/examples/config.example ~/.moc/config
cp /usr/share/doc/moc/examples/keymap.example ~/.moc/keymap

ou, selon la version :

cp /usr/share/doc/moc/config.example ~/.moc/config
cp /usr/share/doc/moc/keymap.example ~/.moc/keymap

Il se peut également que les fichiers soient compressés (extension .gz), en ce cas copiez-les en les décompressant, par exemple :

gunzip -c /usr/share/doc/moc/examples/config.example.gz > ~/.moc/config

Il ne reste plus qu'à personnaliser la configuration par défaut de MOC dans le fichier ~/.moc/config. Les options les plus intéressantes sont :

  • MusicDir : indique le répertoire par défaut.
  • SoundDriver : pour choisir le pilote de son (ALSA ou OSS uniquement dans la version 2.2.1). La version 2.4.0 supporte également JACK, et vous pouvez indiquer une liste de pilotes (le premier qui fonctionne sera utilisé).
  • StartInMusicDir : pour déterminer si le programme doit se positionner, à son lancement, dans le répertoire par défaut.
  • Theme : permet de choisir un thème (voir plus bas).
  • Keymap : indique le fichier contenant la définition des commandes au clavier. Mettez simplement keymap.

À partir de la version 2.4.0, regardez aussi les options Layout si vous voulez personnaliser l'interface, et ExecCommand si vous voulez utiliser des commandes externes (mais ce dernier point n'y est pas vraiment (au point, haha)).

Les thèmes sont très facilement personnalisable. Il suffit de copier l'un des thèmes donnés et de le modifier. Par exemple, si vous optez pour le thème transparent-background, en changeant la couleur des informations à droite (longueur et format des pistes) de bleu (pas très lisible sur mon fond d'écran) à blanc :

$ mkdir ~/.moc/themes
$ cp /usr/share/moc/themes/transparent-background ~/.moc/themes/transparent-background_perso
$ vim ~/.moc/themes/transparent-background_perso
    # Changement de la ligne : info                    = blue          default bold
    #                     en : info                    = white         default bold

Il ne reste plus qu'à changer l'option Theme de notre ~/.moc/config :

Theme                   = transparent-background_perso

Dans la version 2.4.0, on peut également changer de thème en appuyant sur T (<Maj.>+t).

Les fichiers config et keymap sont largement commentés, je vous fais confiance pour le reste. Lisez aussi le

$ man mocp

il y a quelques options sympathiques.

Et en méga-turbo-bonus, je vous fais cadeau de :