Funkwhale 1.0


Funkwhale 1.0

Project funkwhale released the first stable version. As part of the initiative, a free server is being developed, written in Python using the Django framework, to host music and podcasts, which can be listened to using a web interface, clients supporting Subsonic API or native Funkwhale APIand from other Funkwhale instancesusing federated network protocol ActivityPub.


User interaction with audio occurs through libraries and channels: libraries are collections of several artists with a randomly generated UUID as an address, and a channel is a discography of a single artist, which is given a human-readable address; channels can be useful for publishing podcasts. Working with subscriptions is similar to that in another project - PeerTube: You can subscribe to both the user and their separately created channels. Since the server uses the ActivityPub protocol, it is possible to subscribe from other popular implementations, like Mastodon ΠΈ pleroma.

After creating a library or channel, you can upload music. File storage for it can be both local and remote, using the built-in support for file systems on the Amazon S3 protocol. You can download any file of a popular format, without additional recoding and loss of quality (which, for example, is done by PeerTube, which also supports audio downloads). Funkwhale reads the music metadata and cover art embedded in the files, and if they are missing, it gives an error. Therefore, users are advised to use MusicBrainz Picard to write the correct tags before uploading. A post-load metadata editing interface is also available, working as revisions with a visible history of changes.


From already downloaded music to libraries and channels, you can create playlists, radio stations and mark tracks as favorites. Remote users will be able to request access to your library or channel by simply pasting a link to it into their server's search bar. Anonymous users will be able to listen to music from the web interface if it is allowed in the server settings. Registered local users can access all server music without using the web interface by logging in via any client with Subsonic API support - another music server, now under a proprietary license, with parallel developing offshoots of the old codebase under a free license - or the native Funkwhale API, for example, Otter for Android.

Clients can also request a transcoded version of tracks from the server (for example, from FLAC to MP3 with a lower bitrate, requiring less Internet traffic).

It is possible to subscribe to RSS feeds, for example, to the already mentioned podcasts.

Changes in this release:

  • minimum required Python version raised to 3.6;
  • breaking compatibility changes in the client API;
  • deprecation of JSON tokens (JWT) in favor of OAuth;
  • improved algorithm for generating thumbnails for covers;
  • a button for importing music from the server's file system has been added to the web interface;
  • a display of the number of downloads of tracks and albums appeared;
  • new search page;
  • the "play" button on tracks and albums now replaces the queue, rather than adding tracks to it;
  • scrobbling support using Last.fm API v2.

Source: linux.org.ru

Add a comment