blog.minskio.co.uk

Content and theme behind minskio.co.uk
Log | Files | Refs

commit 762cc9529fd2e98a699b6b6efbc45391957b42d3
parent 1a6a0e90fb14b191088b96541cb5513145cf9703
Author: Peter <peter@minskio.co.uk>
Date:   Fri, 23 Oct 2026 10:07:03 +0100

I thought I'd posted this page years ago

Fixes a broken link though!

Diffstat:
Acontent/posts/notes-on-sorting-music.md | 113+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 113 insertions(+), 0 deletions(-)

diff --git a/content/posts/notes-on-sorting-music.md b/content/posts/notes-on-sorting-music.md @@ -0,0 +1,113 @@ + +--- +title: "Notes on sorting music" +date: 2026-10-23T09:55:00 +tags: ["Linux", "Notes", "Software"] +--- + +# Background + +As a bit of background, I used to have an enormous music library (some 650GB of mixed quality MP3 files) stored on a local server that I could akwardly stream from (if the stars aligned). + +Now this kind of setup is great, however there are a good few downsides to this approach, namely... + +* Audio quality is fixed at whatever you originally sourced the files at +* Organisation and metadata is an ongoing nightmare +* [Bitrot](https://en.wikipedia.org/wiki/Data_degradation) is definitely a thing +* Tastes change, but the library is mostly static +* Keeping up with new releases is a full time job +* Pruning files is yet another job in itself +* Most of it just isn't listened to regularly +* There's no good middle ground between singles and albums +* Music is kind of awkward to _obtain_ versus TV shows and movies + +So, with this what I decided to do was to work my way through each and every artist in my library, adding what I liked to a Spotify playlist that I'd [export out](/music/) every few months as a form of backup just in case anything happened with my account or Spotify at large. + +# Exporting + +Exporting your liked lists isn't the simplest of things. + +There are a number of tools out there but the one I keep coming back to is [exportify](https://watsonbox.github.io/exportify/). Once you're logged in you're presented with your playlists and then you simply download the 'Liked' list and you're given a handy-dandy `liked.csv` that we're able to actually work on. + +# Processing + +As with most data and lists I work on, I've streamlined (ish) this process into [an unweildy script](https://github.com/breadcat/nix-configs/blob/main/scripts/blog-music.nix). Inside this you'll find how it converts CSV input into a reasonably coherent, sorted markdown table. + +# Future expansion + +Currently my library file holds no details regarding track metadata outside of Artist, Title and a link, it's just a list (hey, we like those!). At some point however I'd like to be able to append genres and styles to the list such as the following. + +<details><summary>Genres</summary> +<ul> +<pre> +Blues\Electric +Blues\Rock +Blues\Traditional +Classical\Minimal +Classical\Traditional +Electronic\Aggrotech +Electronic\Ambient +Electronic\Downtempo +Electronic\Drum & Bass +Electronic\Electronica +Electronic\Glitch +Electronic\House +Electronic\IDM +Electronic\Industrial +Electronic\Minimal +Electronic\Neurofunk +Electronic\Psybient +Electronic\Synthpop +Electronic\Trance +Electronic\Trip-hop +Hip-Hop\Alternative +Hip-Hop\Electronic +Hip-Hop\Rap +Metal\Blackgaze +Metal\Drone +Metal\Glam +Metal\Groove +Metal\Heavy +Metal\Melodic Death +Metal\Nu +Metal\Post +Metal\Rap +Metal\Sludge +Metal\Symphonic +Metal\Thrash +Pop\Dance +Pop\Electro +Pop\Rock +Pop\Synth +Rock\Acid +Rock\Alt +Rock\Brit +Rock\Emo +Rock\Folk +Rock\Garage +Rock\Goth +Rock\Grunge +Rock\Hard +Rock\Indie +Rock\Industrial +Rock\Kraut +Rock\Math +Rock\Post +Rock\Post-Punk +Rock\Post-Rock +Rock\Progressive +Rock\Psychedelic +Rock\Punk +Rock\Shoegaze +Rock\Ska +Rock\Space +Rock\Stoner +Rock\Surf +Soundtrack\Anime +Soundtrack\Game +Soundtrack\Movie +Soundtrack\Remix +Soundtrack\Score +Soundtrack\Television +</pre> +</details>