La letra de canciones de Spotify o Rhythmbox en Ubuntu y derivados

Aunque como ya he comentado en repetidas ocasiones en diferentes artículos y en particular en “Escuchando podcast de Linux y software libre” no suelo escuchar música, soy mas de podcast. Sin embargo, cuando encuentro algo interesante, me gusta aportar mi granito de arena. En este caso, he encontrado un interesante indicador que nos muestra la letra de canciones mientras suenan en Spotify o Rhythmbox. También nos permite buscar la letra cuando no estemos utilizando Spotify.

Para que te hagas una idea sobre lo poco que escucho música, lo cierto es que me tuve que instalar Spotify para probar el indicador original, Instant-Lyrics. Igualmente, añadí algunas modificaciones, y lo empaqueté para instalarlo fácilmente desde repositorio.

La letra de canciones de Spotify o Rhythmbox en Ubuntu y derivados. Portada.

Instant-Lyrics o como tener la letra de canciones de Spotify o Rhythmbox

Instant-Lyrics es un fork del indicador implementado por Bhrigu Srivastava, y mejorado posteriormente por AmirHosein KazemNejad.

Se trata de una aplicación, cuyo principal uso es el de mostrarte la letra de canciones en Spotify mientras la estás escuchando. Instant-Lyrics, es un indicador que se ubica en el área de notificaciones, para que puedas iniciar fácilmente la aplicación.

En el primer fork, AmirHosein KazemNejad, ha conseguido que la letra de canciones en Spotify se vaya actualizando conforme cambia la canción. Además actualiza la vista de la aplicación para que se integre dentro del escritorio GNOME. Otra interesante opción añadida por este desarrollador, es el uso de la API de Genius. De esta forma encuentra tanto información sobre el artista, la canción que está sonando, así como la letra de la misma.

Posteriormente, yo he realizado un nuevo fork, eliminando la dependencia de Beautiful Soup pasando a depender solo de lxml. Ambas bibliotecas son utilizadas para realizar web scraping. Sin embargo, desde mi modesta opinión, esta segunda es mas rápida que la primera, y esto es lo que me ha hecho decantarme por seleccionarla en detrimento de Beautiful Soup. Además de esto, he modificado el código para que se soporte correctamente Python3.

Además de esto he añadido la posibilidad también se muestre la letra de canciones en Rhythmbox. Igualmente que sucede con Sportify, cuando cambias de una canción a otra también se mostrará la letra de la canción.

Instalación

Instant-Lyrics no se encuentra en los repositorios oficiales de Ubuntu, pero la empaquetado y subido a mi PPA para que la puedas instalar fácilmente. Para instalarla, puedes hacer uso de ppaurl haciendo clic en instant-lyrics.

Otra opción, es ir al emulador de terminal, y ejecutar las siguientes órdenes,

sudo add-apt-repository ppa:atareao/atareao
sudo apt update
sudo apt install instant-lyrics

Uso y funcionamiento

Una vez instalado inicia instant-lyrics, y verás que aparece un nuevo icono en el área de notificaciones.

La letra de canciones de Spotify o Rhythmbox en Ubuntu y derivados. Indicador.

Haciendo clic en este indicador podrás seleccionar entre abrir la aplicación o salir de ella. Suponiendo que te decantas por la primera opción, verás la siguiente ventana de diálogo,

Si tienes, iniciado Spotify o también con Rhythmbox verás que conforme vas cambiando la canción que estás escuchando, se actualiza la letra de canciones.La letra de canciones de Spotify o Rhythmbox en Ubuntu y derivados. Ejemplo.

Conclusiones

Se trata de una aplicación que está en continuo desarrollo, como puedes ver en la página de GitHub. Me parece algo realmente interesante, mas desde el punto de vista de la programación, que desde otro punto de vista.

Evidentemente, además de Rhythmbox y Spotify, se pueden añadir todas aquellas aplicaciones que utilicen dbus, para actualizar la información. Tampoco me he querido cegar con ello.

Otro aspecto a tener en cuenta es el uso de una clave para la API de Genius. En futuras versiones no aparecerá la clave y tendrás que registrar tu propia clave para evitar que el número de llamadas sea excesivo.

Tampoco tengo muy claro que sea necesario que funcione como un indicador, puesto que no nos aporta ninguna información adicional. Creo que con la ventana es mas que suficiente.

Por último, si utilizas otro reproductor y quieres que lo incorpore, ponte en contacto conmigo a través del formulario de contacto y me lo indicas. Lo añadiré sin problemas.

12 comentarios en “La letra de canciones de Spotify o Rhythmbox en Ubuntu y derivados

  1. MI
    Michel Droguett hace 8 años

    Hola, gracias por compartirlo, aunque no he logrado que despliegue las letras de las canciones, queda en etapa de busqueda

    1. EL
      El atareao hace 8 años

      ¿Puedes ejecutarlo desde la terminal a ver que error arroja? Gracias,

      El comando es:

      /opt/extras.ubuntu.com/instant-lyrics/share/instant-lyrics/instant-lyrics.py

      Saludos

      1. DA
        Dani Talens hace 8 años

        Hola, a mi tampoc me funciona en rhytmbox. Te pongo el error que me ha salido en el terminal:
        Exception in thread Thread-1:
        Traceback (most recent call last):
        File «/usr/lib/python3/dist-packages/lxml/cssselect.py», line 13, in
        import cssselect as external_cssselect
        ImportError: No module named ‘cssselect’

        During handling of the above exception, another exception occurred:

        Traceback (most recent call last):
        File «/usr/lib/python3.5/threading.py», line 914, in _bootstrap_inner
        self.run()
        File «/usr/lib/python3.5/threading.py», line 862, in run
        self._target(*self._args, **self._kwargs)
        File «/opt/extras.ubuntu.com/instant-lyrics/share/instant-lyrics/windows.py», line 98, in put_lyrics
        lyrics = get_lyrics(song)
        File «/opt/extras.ubuntu.com/instant-lyrics/share/instant-lyrics/lyrics.py», line 25, in get_lyrics
        ly = ‘n’.join(verso.text_content() for verso in doc.cssselect(‘p.verse’))
        File «/usr/lib/python3/dist-packages/lxml/html/__init__.py», line 432, in cssselect
        from lxml.cssselect import CSSSelector
        File «/usr/lib/python3/dist-packages/lxml/cssselect.py», line 16, in
        ‘cssselect does not seem to be installed. ‘
        ImportError: cssselect does not seem to be installed. See http://packages.python.org/cssselect/

        Saludos,

  2. EM
    Emiliano hace 8 años

    Hola, quería saber si las letras, se guardan en algún sitio, y si no lo hacen si puedes ponerlo.
    Gracias

    1. EL
      El atareao hace 8 años

      Hola Emiliano,
      No, las letras no se guardan en ningún sitio. He añadido un nuevo botón para que puedas guardar la letra.

      Un saludo.

      1. EM
        Emiliano hace 8 años

        Hola, gracias por la rápida respuesta, pero no veo el botón.

          1. EM
            Emiliano hace 8 años

            Hola Lorenzo, la estoy probando en estos momentos, no la veo práctica, cuando vas a grabar tienes que poner tu los datos, ir a la canción que estabas escuchando y escribirlos, sinceramente, yo por ejemplo no estoy muy pendiente de la música, ya que estoy haciendo otras cosas, debería de dar la opción, de decirle al programa donde grabar las letras y que el solo las grabara para no tener que estar pendiente, las letras ocupan muy poco y no hay problema de desbordar el espacio.
            Saludos.

  3. MI
    miguel angel hernandez ovalle hace 7 años

    Genial Amigo, lo probé en Spotify y va de maravilla, muchas gracias por tu maravilloso trabajo, que estés muy bien.

  4. RA
    rapsi hace 7 años

    Lo siento pero a mi no me funcionó aunque curiosamente al buscarlo aparece el ícono en el costado izquierdo, pero al cliquearlo no sucede nada ¿cómo lo desinstalo ahora?

    1. EL
      El atareao hace 7 años

      Hola rapsi,
      Lamento que no te haya funcionado. ¿En que sistema lo utilizas?
      Para desisntalar,
      sudo apt remove instant-lyrics
      sudo add-apt-repository ppa:atareao/atareao –remove

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *