From 7c7cfc8ae591cf618f712981a80fe1e624a8a3a3 Mon Sep 17 00:00:00 2001 From: Polochon_street Date: Sat, 28 Sep 2024 23:00:20 +0200 Subject: [PATCH] Make categories in TODO --- TODO.md | 48 ++++++++++++++++++++++++++++++------------------ 1 file changed, 30 insertions(+), 18 deletions(-) diff --git a/TODO.md b/TODO.md index 4132abe..09c22ed 100644 --- a/TODO.md +++ b/TODO.md @@ -5,40 +5,52 @@ While most of the features are already there, there is still some work to be done, mostly around optimizing, but also in feature summarization, feature evaluation, and distance metrics. -Feel free to submit a PR editing this list if you have some wishes, and to +Feel free to submit a PR editing this list if you have some wishes, or to ask questions if you want to tackle an item. ## Actual TODO -- Add a list of dependencies / installation guide for windows and mac -- bliss: A way to learn a metric with a "user survey" on their own libraries using code from the thesis - (probably reuse the interactive-playlist in blissify?) -- Maybe add playlist functions for single songs as convenience methods? -- Regularly update the python bindings with the new code +### New features + +- Find a proper "objective" way to evaluate how good bliss playlists are. Probably + no better way than making mini bliss playlists and make local surveys so each + users can evaluate these playlists. +- A way to learn a metric with a "user survey" on their own libraries using code from the thesis: + in progress here https://github.com/Polochon-street/bliss-metric-learning/. +- A waypoint feature: go from song1 to song2, both picked by the users, in n songs, without any repetitions between playlist 1 and playlist 2 +- A direction feature ("I want the tempo to go down or stay the same") +- Publish the genre clustering / evaluation code, and try to enhance it. +- A "song group" feature (I want to make a playlist that's in the vibe of these n songs [like 4-5]) + (can probably recycle the "album" feature) +- Use genre clustering (cf already existing code) to find an appropriate M matrix, and put it as alternative. + Hopefully will make playlists not drift +- Have some presets like "upbeat music" "melancholic music", etc + +### "Under-the hood" features + - Check the chroma feature for anomalies (the last 4 numbers look anomalous in most of my cases - compare with https://www.audiolabs-erlangen.de/resources/MIR/FMP/C5/C5S2_ChordRec_Templates.html etc) -- Freebsd support? (see https://github.com/Polochon-street/bliss-rs/issues/60) -- Try to trim out the crates (it is a bit too big right now) -- grep TODO and see what can be fixed - Better duplicate finding in the playlist module (sometimes songs have different across albums but should have the same footprint) -- Split library's test module (the file is too big right now) - Optimize / lower RAM consumption - Take a look at https://nnethercote.github.io/perf-book/ to see if optimizing is possible - Find a way to differenciate classic vs contemporary music (new feature? Or better use of existing features?) -- Publish the genre clustering / evaluation code, and try to enhance it. For instance, Cigarettes after sex / Sweet doesn't seem to give similar enough tracks? -- A waypoint feature: go from song1 to song2, both picked by the users, in n songs, without any repetitions between playlist 1 and playlist 2 -- A direction feature ("I want the tempo to go down or stay the same") -- A "song group" feature (I want to make a playlist that's in the vibe of these n songs [like 4-5]) - (can probably recycle the "album" feature) -- Use genre clustering (cf already existing code) to find an appropriate M matrix, and put it as alternative - Hopefully will make playlists not drift + +### Maintenance tasks + +- Add a list of dependencies / installation guide for windows and mac +- Maybe add playlist functions for single songs as convenience methods? +- Regularly update the python bindings with the new code +- Freebsd support? (see https://github.com/Polochon-street/bliss-rs/issues/60) +- Try to trim out the crates (it is a bit too big right now) +- grep TODO and see what can be fixed +- Split library's test module (the file is too big right now) - Improve bliss-python somehow / use it in a small demo project maybe? A blissify in python? - Investigate what type SAMPLE_RATE is in Aubio - maybe u16 is enough -- Have some presets like "upbeat music" "melancholic music", etc ## Done + - Split out ffmpeg (see https://github.com/Polochon-street/bliss-rs/issues/63 and https://users.rust-lang.org/t/proper-way-to-abstract-a-third-party-provider/107076/8) - Make ffmpeg an optional (but default) feature - The library trait must be Decoder-agnostic, and not depend on FFmpeg