| Amazing. Requests: - Would prefer a permissive software license. Not much benefit to GPL. I've seen nice projects I'd have contributed / shared with where collaborative opportunity didn't happen. Too many obligations, sweeps in too many situations, and a lot of gray hairs explaining it being a net negative. I try to encourage a philosophy of YAGNI when doing open source licenses, sheerly for the sake of backward compatibility with licenses. Don't you want your code / project to be inter-operable as possible, even with other licenses? Do you want to make development contributions streamlined as possible (even from the parade of horribles, e.g. the corporation profiting from your work with no intention of reciprocal contribution? Why impede their success? It's not your loss), or do you want potential contributor's interest to derail into a cost-benefit analysis of running afoul of GPL terms until they find an alternative? - ncurses / ncmpcpp-like frontend. vim keybindings - directory-based navigation. easier to navigate around, supports file structures where id3 tags aren't in place yet Questions: - Any info on the recommendation engine? How does it work? - Does musicbrainzId support include id3 tagging? Congratulations again on the project! |
About the software license, the web framework used (wt) is using the GPL license. So unfortunately I have to stick with it since I include/link with it. It is likely not a problem for SaaS though.
- ncmpcpp-like frontend: what do you have in mind actually? I am not sure since the goal here is to play the music on the device from which you access to the server.
- directory-based navigation: well I think that is a matter of taste. Personally I find the navigation directory based very restrictive. It does not scale well on a large collection and after all, it is just a fixed view of what you can offer using tag based browsing. Most people use a genre/artist/album layout, but using tags you could easily achieve the same, and go even further and do whatever you want: genre/decade/artist/album, mood/album, genre/mood/artist, etc. Honestly, I would rather encourage people to properly tag their files rather than spending time on implementing a clunky directory based navigation.
- Any info on the recommendation engine? How does it work? Low-level Data is fetched from AcousticBrainz. See an exemple here for a random song: https://acousticbrainz.org/e73f3d92-4e9f-4db4-943a-41978d9db... Some features are extracted for each track (the exact list is here: https://github.com/epoupon/lms/blob/develop/src/database/Sim...) and all these features are used together to classify the tracks. You can find details here: https://en.wikipedia.org/wiki/Self-organizing_map . Once it is done, you get a map with all your tracks in it, and using the underlying SOM you can determine the neighbourhood of a given track. The recommendation engine uses this map. For example, if you want albums that are similar to a particular one, you look for the tracks of the album in the map and you retreive the albums of the tracks that are close to them.
- Does musicbrainzId support include id3 tagging? id3 is a tag format used mainly in MP3. LMS reads all the tags using taglib. Therefore it can extract the tags (id3 or whatever) it needs internally (musicbrainz ids, artist, albumartist, date, etc.) as well as custom tags the administrator want too ( albummood, mood, albumgenre, grouping, etc.) Hope that helps!