Música desde la línea de comandos
mp3blaster, mpsyt y alguno más

En un principio era la línea de comandos y mp3blaster el reproductor de audio. Cuando empecé con Debian GNU/Linux y aprendía a base de compilar el kernel, crimpar cable de red, configurar iwconfig
, ALSA
o icecast
en centros sociales y hacklabs, había una herramienta que nos acompañaba en nuestra vida y era mp3blaster
, que nos servía además para compartir música. La única pega era que no leyera ogg, pero esa fue una de las muchas batallas perdidas.
Con el tiempo siguió acompañándonos y en algún momento que no recuerdo dejó de funcionar, no sé si por PulseAudio.
También los usos han cambiado, y no porque haya ido hacia Spotify. Si antes guardaba gb de datos con música, ahora escucho más la radio, podcasts, conciertos… muchos de ellos se publican en Youtube. Y también el dispositivo móvil/tablet acompaña al desktop/laptop y mucho por ahí.
Por eso hay un conjunto de herramientas que se han ido haciendo habituales: newpipe, youtube-dl y la última en llegar a mis teclas, mpsyt.
mp3blaster
Os dejo los enlaces del histórico y genial mp3blaster
, “an interactive text-console based mp3 player”, por si alguien quiere probarlo.
- Github: https://github.com/stragulus/mp3blaster
- Sourceforge: https://sourceforge.net/projects/mp3blaster/files/mp3blaster/
NewPipe
La aplicación de f-droid imprescindible para escuchar música de Youtube. Puedes usarlo como reproductor de vídeo o solo escuchar el audio, con el ahorro de datos que supone. Soporta poner varios temas y alterar el orden, puedes importar una playlist y crear una. La única pega que le puedo poner es que no he podido compartir esa lista de reproducción por lo que no vive más que en tu dispositivo.
NewPipe does not use any Google framework libraries, or the YouTube API. It only parses the website in order to gain the information it needs. Therefore this app can be used on devices without Google Services installed. Also, you don’t need a YouTube account to use NewPipe, and it’s FLOSS. Fuente: https://f-droid.org/packages/org.schabi.newpipe/
No utiliza ni librerías de Google ni la API
de Youtube, solo parsea la web y obtiene la información de ahí. No necesita una cuenta de youtube ni tener corriendo ni instalados los Google Services, lo cual se agradece mucho.
Búsqueda

Lista de Ferrary Wan seleccionada
Nos aparece la lista seleccionada, Las Ninjas del Corro de Ferrary Wan. Podemos reproducir todo, que lo hará con vídeo; popup o bien en segundo plano, por lo que solo se bajará el audio y se utilizará como un reproductor de música.
Requiere permisos de ejecución de la aplicación en segundo plano.

Lista cargada
Una vez cargada la lista podemos alterar el orden subiendo o bajando canciiones manteniendo pulsados las dos líneas horizontales de la derecha de cada tema:

Comprobar reproducción
Si deslizamos el móvil veremos la ventana de reproducción. Si pinchamos sobre ella iremos al menú anterior.

Enlaces
- New Pipe en F-droid: https://f-droid.org/packages/org.schabi.newpipe/. Requiere tener F-droid instalado.
- Sitio web: https://newpipe.schabi.org/
mps-youtube o mpsyt
Encontrarme con mps-youtube (mpsyt
) ha sido genial porque es casi como tener Newpipe o mejor porque el móvil va con Android… pero ésta necesita igualmente una cuenta de Google.

Se puede instalar como paquete .deb
o con pip. Lo hice con lo segundo y me dio primero un error y luego otro. El primero era sobre el token
El primer error se producía con cualquier canción y al decir “video unavailable” con vídeos que sabía que estaban pensé que tenía que ser algo de la API… bingo! Hay una issue abierta. Una opción era crear una app en la API de youtube (creando una app nueva) así que lo hice. Una vez que pones el token hay que esperar a que se propague por lo que no funcionará automáticamente.
El segundo error cantaba que la opción de línea de comandos requería un parámetro. Busqué en las issues de mps-youtube y encontré la 1058. Parece que en la versión de desarrollo ya lo han solucionado así que instalé desde pip esta versión:
pip3 install --user -U git+https://github.com/mps-youtube/mps-youtube.git
Y a disfrutar, lo lanzamos con mpsyt
y buscamos con /search
, por ejemplo, “Las ninyas del corro”
/search las ninyas del corro
Si no sabemos que hacer siempre podemos lanzar la ayuda con /help
:
/help
O la ayuda de un comando de los que aparecen:
/help search
También podemos tabular para ver algunas cosas más.
Podemos reproducir una playlist:
playlist https://www.youtube.com/playlist?list=PLKvQ2_H7_0ySOCFd6jorDyZSUzK8bKdcS
O una url normal:
playurl https://youtu.be/EIoIM_r2cpc
También permite descargar pero eso era de cuando Napster ;-)

youtube-dl
youtube-dl es la maravilla tras mpsyt
. Puede bajarse de youtube o de vimeo y otros sitios. Ofrece varias formas de instalación.
Dos ejemplos de los muchos que hay:
Audio en alta calidad
Comentando sobre un disco con Alejandro Zappala me comentó cómo bajarlo flac
, un formato de audio de alta calidad. Este disco era “Al Alba” de Rosa Leon y la canción para descargar, Al Alba.
youtube-dl --extract-audio --audio-format flac https://youtu.be/EIoIM_r2cpc
Vídeo en alta calidad
Para bajar un vídeo con la mejor calidad, primero vemos qué opciones tiene con -F
. Por ejemplo el vídeo de EmacsCast 5, Blogging with Org mode and ox-hugo:
youtube-dl -F https://www.youtube.com/watch?v=7s8cQ2cOnl8
[youtube] 7s8cQ2cOnl8: Downloading webpage
[youtube] 7s8cQ2cOnl8: Downloading video info webpage
[youtube] 7s8cQ2cOnl8: Downloading MPD manifest
[info] Available formats for 7s8cQ2cOnl8:
format code extension resolution note
139 m4a audio only DASH audio 58k , m4a_dash container, mp4a.40.5@ 48k (22050Hz)
251 webm audio only DASH audio 128k , webm_dash container, opus @160k (48000Hz)
140 m4a audio only DASH audio 136k , m4a_dash container, mp4a.40.2@128k (44100Hz)
278 webm 256x144 DASH video 95k , webm_dash container, vp9, 24fps, video only
134 mp4 640x360 DASH video 103k , mp4_dash container, avc1.4d401e, 24fps, video only
160 mp4 256x144 DASH video 108k , mp4_dash container, avc1.4d400b, 24fps, video only
242 webm 426x240 DASH video 220k , webm_dash container, vp9, 24fps, video only
133 mp4 426x240 DASH video 242k , mp4_dash container, avc1.4d400c, 24fps, video only
243 webm 640x360 DASH video 405k , webm_dash container, vp9, 24fps, video only
137 mp4 1920x1080 DASH video 612k , mp4_dash container, avc1.640028, 24fps, video only
244 webm 854x480 DASH video 752k , webm_dash container, vp9, 24fps, video only
135 mp4 854x480 DASH video 1155k , mp4_dash container, avc1.4d4014, 24fps, video only
247 webm 1280x720 DASH video 1505k , webm_dash container, vp9, 24fps, video only
136 mp4 1280x720 DASH video 2310k , mp4_dash container, avc1.4d4016, 24fps, video only
248 webm 1920x1080 DASH video 2646k , webm_dash container, vp9, 24fps, video only
18 mp4 640x360 360p 275k , avc1.42001E, mp4a.40.2@ 96k (44100Hz), 74.93MiB
22 mp4 1280x720 720p 726k , avc1.64001F, mp4a.40.2@192k (44100Hz) (best)
Normalmente la de mejor calidad es la 22, por lo que lo especificamos con -f 22
:
youtube-dl -f 22 https://youtu.be/EIoIM_r2cpc
[youtube] 7s8cQ2cOnl8: Downloading webpage
[youtube] 7s8cQ2cOnl8: Downloading video info webpage
[youtube] 7s8cQ2cOnl8: Downloading MPD manifest
[download] Destination: EmacsCast 5 - Blogging with Org mode and ox-hugo-7s8cQ2cOnl8.mp4
[download] 40.6% of 197.28MiB at 8.14MiB/s ETA 00:14