so this is my third year of attempting this, i have a relatively large mp3 collection containing about 60k tracks of local indie music, i have the rights and i do know most of the artists
my goal is to do the Spotify model so here are my questions:
1- how easy is it to do media management in funkwhale? (upload coverarts, tracks, edit id3 tags…etc etc) all my current collection is id3 sorted
2- how does the permissions system work ? can i grant user A access only to his tracks and allow him to upload as the artist?
3- how is the API ? still underwork or ready for production?
4- what about analytics? any details there ?
and thats its, i plan to release a web PWA and a couple of apps using ionic if i get the server bit sorted out, might as well open source them later on
Hi @a7medo778! We’re not only guys here, so you may want to salute all the folks around here too
Your project looks interesting and I’ll try to answer your questions.
We support importing content via the web UI and via a CLI on the server. Funkwhale will happily pick coverart and music metadata from the imported files. The very least we need to import a track successfully is to have Title, Album and Artist tags in the file. Cover and other tags are optionnal.
We don’t have any easy to use interface to edit this metadata (or add cover art) yet. We do have an open issue to implement that though, and it’s likely to be included in the 0.19 release (0.18 will be released this month).
We don’t have any permission system to limit who can upload music for which artist. This is because multtiple users on the same server can upload copyrighted music in their own, private libraries (like they can do on Google Music, for instance).
Give control over specific artist profiles (and content) to specific users make sense though, and I’d like very much to support this use case. We could imagine preventing users to upload an artist track publicly if the artist profile is already claimed by another user?
If you have the time, I’d really appreciate if you could elaborate on this, and describe your expectations, as it would be helpful to design such a feature.
All features are available via the API, since our official web UI is a Single Page Application that interact with the server via the API. This include importing audio files (so you could design your own import UI), moderating the instance, updating settings, inviting users, etc.
Overall, the API is pretty stable. We have few (or no) breaking changes between releases but Funkwhale in terms of API contract, but those can happen before we release the 1.0. We try to document potentially breaking changes in the changelog though.
I’m not sure what you need exactly, in terms of analytics. This is the information that is stored on the server about user activity:
User can favorite tracks
Listening history is stored as well (but there is no API to retrieve it yet)
This data could be in theory used to give artists insights about their reach, but this have some other implications I’d like to discuss before commiting on anything.
We also know when a user was last seen on the platform (this is only exposed in the admin API).