An intuitive, portable and open source music player

Music for Ballet

My dear wife is a Ballet teacher. Top-notch Ballet schools have professional pianists, who play during lessons. One can can not use random music tracks: music is timed and measured to fit very specific exercices: Dégagés, Fondus, AdageHere is an example.

In all other schools, the Ballet teacher plays recordings they usually bought on good old CDs. It’s rare to find such specialized music on famous cloud platforms.

So my wife has a decent, legit MP3 library ripped from her CDs. She extracts a selection on an USB key and go give her lessons. To make her life easier, we considered storing MP3 on a Windows-powered laptop she could bring with her. One of the requirements was to display album covers first, so she could find tracks the way she would do with physical CDs.

I’m working on an Ubuntu-powered laptop, and was ripping and organizing the library. Surprisingly, finding a portable, decent music player with a cover display was… very hard.

And this is how Mélodie is born.

A quick tour

Mélodie’s features are unsurprisingly boring. In a gist, it plays music.

You’ll find more on the promo page, here are some key highlights:

The Album Galery, the player and the track queue

The Album Galery, the player and the track queue

Under the hood, Mélodie is:

I gave a conference at NodeConf 2021 to hightlight some of these.

Challenges faced

As for all my side projects, Mélodie is an excuse for learning and up-skilling.

This time, my goals were to learn Svelte and to sharpen my testing practices.

Maintaining a side project over a long period is always an interesting challenge, at it allows technical debt to arise, gives multiple opportunities for new, contradicting features. Like in “real” life.

In particular:

Going further

You can download the app from the promo page, and the code is hosted on github.

You can also find it on Snapcraft and on Windows Store.