jueves, 9 de abril de 2009

Escuchar Música desde la Consola

Sip, los que me conocen hace ya un tiempo dirán -con razón- que esto ya lo había publicado y que me estoi repitiendo demostrando la falta de tema e imaginacion :D. No soi nadie para contradecirlos (jejeje), pero hacia tiempo que queria reescribir la entrada y agregarle una aplicacion que conoci despúes de haber publicado esta. Así que para retomar mi participacion en este blog -que quiero tanto- y despues de llegar muy tarde a mi casa no encontré mejor cosa que hacer :)


Dos cosas que me gustan son escuchar musica y usar la terminal de comandos. La música por motivos mas que obvios, no se puede estar sin ella; la terminal, porque a pesar de estar tan venida a menos ultimamente, es una herramienta extraordinariamente util y comoda a la hora de usar/administrar nuestros GNU/linux o BSDs. ¿Entonces porque no unirlos?

La pregunta no es nueva y como ya se habrán dado cuenta, tampoco lo es la respuesta. Para este post la respuesta la dan estas tres aplicaciones:

  • mpg123
  • Cmus
  • Moc

Es un reproductor multiplataforma, capas de correr bajo Linux, MacOSX, FreeBSD, SunOS4.1.3, Solaris 2.5, HPUX 9.x, SGI Irix y en Cygwin (osea también en windows ). En otras palabras es muy versatil.

Este programilla cuenta también con un clon llamado mpg321, que es esencialmente lo mismo, en sus inicios nace para ser la versión libre de mpg123, pero hoy mpg123 esta licenciado bajo la GNU Gpl. Así que ya somos libres para usarlo, además hace bastante que no hay desarrollo en mpg321, así que por eso es preferible mpg123.

Para usarlo primero tenemos que instalarlo. El paquete a instalar es

mpg123
Si usamos Slackware y si hicismos una instalacion por defecto ya lo tenemos instalado (mpg321), si no lo podemos buscar en Linuxpackages o bien en slacky o instalarlo usando algun gestor de paquetes como slackpkg, slapt-get o swaret. Para otras distros y sabores de unix tambien esta disponible, es cosa de buscar :)

Una vez instalado para usarlo solo basta con abrir una consola y escribir

$ mpg123 /ruta/cancion(es)

(ó $ mpg321 /ruta/cancion(es) )

Un ejemplo, supongamos que queremos escuchar Calamaro - flaca.mp3, que esta en la siguiente ruta /home/asclepio/musica/Calamaro/, para esto damos un

$ mpg123 /home/asclepio/musica/Calamaro/Calamaro - flaca.mp3

Y va a sonar, solo esa canción. Ahora supongamos que queremos escuchar toda la carpeta Calamaro, para esto hacemos lo siguiente:

$ mpg123 /home/asclepio/musica/Calamaro/*

Y nos va a tirar todas las canciones de la carpeta.


Algunas opciones de mpg123

- Si queremos que nos reproduzca de forma aleatoria, lo hacemos asi:

$ mpg123 -z /home/asclepio/musica/Calamaro/*

- Si además queremos tener control de la lista de canciones, entonces lo ejecutamos asi:

$ mpg123 -C /home/asclepio/musica/Calamaro/*

Para detenerlo apretamos "s", para pausar "p" con "f" saltamos a la próxima canción, "b" retrocede una canción y con "q" sale del modo reproductor, liberando la consola.

- Ahora supongamos que ademas queremos que vaya cambiando el titulo de cada canción en la consola mientras las reproduce, para esto agregamos:

$ mpg123 --title -C /home/asclepio/musica/Calamaro/*



Y nos va a mostrar tanto el titulo como también nos va a permitir controlar la lista de canciones.

- Ahora si solo queremos escuchar basta con hacer un

$ mpg123 -C -q /home/asclepio/musica/Calamaro/* &

Con esto (&) hacemos que el proceso corra en "segundo plano", permitiéndonos seguir usando la consola. Cuando queramos deterlo, simplemente matamos el proceso con un

Control + c

o bien, con un

$ kill id-del-proceso

Todo un lujo. :D



Otra de mis aplicaciones favoritas es Cmus. Un poco mas elaborada que el anterior, pero igual de eficiente y cómoda. Cmus esta basada en ncurses, esto ya nos dice que la interface es mucho mas "practica".

Soporta no solo mp3, tambien FLAC, Ogg/Vorbis, Wav, AAC (libfaad), MP4 (libfaad + libmp4v2), mpc, wma entre otras.

Corre bajo GNU/linux, Cygwin y varios Unix, lo que hace a esta herramienta muy versatil también.

Para instalarlo basta tener ncurses y el programa en si. Para Slackware podemos descargarlo desde acá (por ejemplo) ---> Cmus

Una vez instalado lo ejecutamos en la consola escribiendo

$ cmus

Ahi vamos a ver algo como esto:



Supongamos que queremos escuchar la misma lista anterior, para eso digitamos

:add /ruta/de/la/musica

del ejemplo anterior seria asi:

:add /home/asclepio/musica/Calamaro/ [enter]

Y nos va a listar los temas de la carpeta.

Para manejar el reproductor, tenemos la siguiente lista:

b player-next
c player-pause
x player-play
z player-prev
v player-stop
^L refresh
m toggle aaa_mode
C toggle continue
M toggle play_library
o toggle play_sorted
r toggle repeat
t toggle show_remaining_time
s toggle shuffle
1 view tree
2 view sorted
3 view playlist
4 view queue
5 view browser
6 view filters
7 view settings

Recomiendo el modo 5, esto nos permite ver nuestras carpetas y navegar en ellas, así podemos elegir que escuchar y vemos los temas. Como en la foto





Para salir del reproductor apretamos

:quit



Moc o Music on Console, es la tercera aplicacion y la que me llevó a editar la entrada anterior. En lo personal la mas comoda de las tres aplicaciones y a la que ademas le han agregado una serie de script que la convierten en un reproductor completo!

Moc es un reproductor de musica para la consola de sistemas GNU/linux/UNIX diseñado para ser completo y simple de usar. Para hacerlo andar solo necesitamos seleccionar un directorio y la aplicacion hace el resto :).

¿Alguien recuerda el viejo Midnight Commander? bueno este programilla se los va a traer a la memoria, ya que tiene un aspecto muy similar.

Soporta formatos de audio como mp3, Ogg Vorbis, FLAC, Musepack, Speex, WAVE, AIFF, AU y lo mejor es que se sigue desarrollandolo para hacerlo todavia mas funcional y para soportar aun mas formatos raros.

Ahora si esto les parece poco Moc tambien tiene soporte para hacer streaming con Icecast o Shoutcast, entre otras muchas cosillas interesantes mas :)

Para instalarlo en Slackware (la distro que uso) basta con bajar el paquete de alun repo o lo que es lo mismo usar un gestor como los que antes ya mencioné.

Un ejemplo de uso:

Lo lanzamos con el comando:

$ mocp

Desde este lugar podemos navegar hasta el directorio donde se encuentra los archivos que queremos oir. Si necesitamos ayuda apretamos h y nos va entragar una lista con las opciones del reproductor.

Una de las opciones que me pareció divertidas es que el reproductor nos permite cambiar Themes, para esto podemos hacer nuestro propio theme o usar los que trae de ejemplo:

El tema oscuro:

$ mocp -T /usr/share/moc/themes/darkdot_theme




Tema Verde:

$ mocp -T /usr/share/moc/themes/green_theme




Tema Moca:

$ mocp -T /usr/share/moc/themes/moca_theme




Ahora supongamos que queremos seguir usando la consola mientras escuchamos musica, para esto apretamos q y nos entrega la consola con la musica "sonando en segundo plano". Para salir del reproductor usamos Q o si lo teniamos corriendo en "segundo plano":

$ mocp -x

Un reproductor que tiene muchas cualidades interesantes y muy digno de ser conocido.



5 comentarios:

JiRuSoNu dijo...

Muy buena entrada, excelente y como tu lo dices mi estimado amigo la terminal es un herramienta muy útil y rápida diría yo...

Los trabajos importantes son los que no se olvidan, siempre los tenemos hay en mente para ir mejorándolos, así que no es falta de imaginación...

Te dejo un Saludo!!! Buen trabajo!!

Geo

Queni dijo...

excelente, si me permites te voy a copiar la partde cmus en mi blog, con su respectivo enlace claro

El Vecino de Socrates dijo...

Adelante... y gracias por comentar :)

Andrés dijo...

Hola, Gracias por el dato de mpg123... es justo lo que estaba buscando. Pero tengo un problema: no puedo reproducir toda la carpeta "Música". Aparentemente tengo que indicarle que reproduzca carpetas que solo contengan mp3. Si en la carpeta hay otras carpetas, y éstas contienen los mp3, no los reproduce.

Hay alguna forma de solucionar esto? Hasta el momento solo me ha funcionado crear un playlist.m3u en que puedo reproducir toda mi música.

El Vecino de Socrates dijo...

Hola Andres... Primero que todo gracias por tu comentario :)

Nos alegra que te haya sido util el dato... para eso estamos.

Te cuento que actualmente no estoi con mi slack, la distro en la que uso esos repros, porque no tengo inet en mi casita... en otras voi a contyestar un poco de memoria...

Segun tengo entendido no se puede hacer eso, osea reproducir recursivamente con mpg321 o 123, ahora que lo pienso no se si se podra hacer con Moc. Como escribi en mi post, me cambie de mpg123 por ese tipo de incomodidades que en Moc no tengo, es un reproductor mas completo y sobretodo soporta mas formatos -de los que escucha en formato Flac-, Te recomiendo que lo pruebes (moc).

Usas Ubuntu no?... bueno deberia estar empaquetado, sino crea el paquete y lo compartes con los demas usuario de ubuntu (quiza en algun repo :-))... por aca hay un tuto sobre como empaquetar .deb, vah-... si es que ya no lo sabes hacer... pero me fui, sorry..

Sobre lo de la liista yo tambien soi de los que hago listas con los directorios (sobretodo cuando no uso las X, por algun motivo)... para esto lo mejor es usar el querido comando find... alo asi vendria bien...

$ find ruta/musica/ -name *.mp3 -print > musica.lst

y despues la abres con mpg123:

$ mpg123 -C -list musica.lst

Yo lo haria asi por lo menos, ojala te aayude de algo, solo son ideas... recuerda que find es una herramienta muy practica para este tipo de cosas


De nuevo, Gracias por pasar y dejar un comentario y feliz de poderte dar animos


Animo compañero!


A.-