Funkwhale
# Funkwhale

Funkwhale es un servidor de música libre en streaming, auto alojado y federado creado el 2015 por Agate Berriot como alternativa de autoalojamiento a Grooveshark. Donde cada usuario dispone de una biblioteca propia donde añadir los audios y, si quiere, compartirlas con otros usuarios de la de la misma instancia o de una otro.

Desde 2018, el proyecto soporta el protocolo ActivityPub, que permite el intercambio de bibliotecas de música entre instancias. Aunque la federación no estaba prevista originalmente. Las bibliotecas eran gestionadas originalmente por los administradores de una instancia, pero ahora se adhieren a una cuenta concreta. En 2019 el servicio todavía no permite utilizar etiquetas con los ficheros de audio aunque está previsto. La lectura pública tampoco es posible sin crear una cuenta en una instancia.

Entre sus funcionalidades destaca la posibilidad de marcar las canciones preferidas y crear listas de reproducción personalizadas. Cuando se está conectado en una instancia es posible escuchar las pistas de todas las instancias federadas a través de un sistema de almacenamiento en la memoria caché de la instancia.

El servicio es compatible con el APS Subsonic, que permite escuchar audios de diferentes aplicaciones que admiten este protocolo y escucharlas en línea o fuera de línea en un teléfono inteligente, un centro multimedia o cualquier dispositivo que pueda hacer funcionar una aplicación compatible.

En cuanto al funcionamiento, utiliza el lenguaje Python y Django. La interfaz por defecto está escrita con Javascript y Vue.js. La federación se basa con el protocolo ActivityPub. Y una API REST gestiona la biblioteca de música y las cuentas de usuario.

