diff --git a/README.md b/README.md index ff683dc..9af09a1 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,24 @@ used by C-bliss, since it uses different, more accurate values, based on [actual literature](https://lelele.io/thesis.pdf). It is also faster. +## Dependencies + +To use bliss-rs, you'll need a few packages: a C linker, `ffmpeg`, and the associated +development packages (libavformat, libavutil, libavcodec, libavfilter, libavdevice), +as well as the clang development packages. These steps are necessary for e.g. run the +examples below. + +On Ubuntu: + + $ sudo apt install build-essential pkg-config libavutil-dev libavformat-dev \ + libavfilter-dev libavdevice-dev libclang-dev + +On Archlinux: + + $ sudo pacman -S base-devel clang ffmpeg sqlite + ## Examples + For simple analysis / distance computing, take a look at `examples/distance.rs` and `examples/analyze.rs`. @@ -47,6 +64,7 @@ this behavior by using `-a ` to store this file in a specific place. Ready to use code examples: ### Compute the distance between two songs + ``` use bliss_audio::decoder::bliss_ffmpeg::FFmpeg as Decoder; use bliss_audio::decoder::Decoder as DecoderTrait; @@ -62,6 +80,7 @@ fn main() -> Result<(), BlissError> { ``` ### Make a playlist from a song + ``` use bliss_audio::decoder::bliss_ffmpeg::FFmpeg as Decoder; use bliss_audio::decoder::Decoder as DecoderTrait; diff --git a/TODO.md b/TODO.md index 2634263..5cc344a 100644 --- a/TODO.md +++ b/TODO.md @@ -10,8 +10,9 @@ ask questions if you want to tackle an item. ## Actual TODO -- The album playlist should take into account multi-CDs albums - Add a list of dependencies / installation guide +- 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 - Check the chroma feature for anomalies (the last 4 numbers look anomalous in most of my cases - @@ -32,8 +33,6 @@ ask questions if you want to tackle an item. (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 -- 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?) - Improve bliss-python somehow / use it in a small demo project maybe? A blissify in python? @@ -44,4 +43,4 @@ ask questions if you want to tackle an item. - Make the tests that don't need it not dependent of ffmpeg - Make the Song::from_path a trait that is by default implemented with the ffmpeg feature (so you can theoretically implement the library trait without ffmpeg) - +- The album playlist should take into account multi-CDs albums