I built my own music player

Hi everybody, a couple of months ago I started using AI. The goal was to make a Google calendar with all the release dates of my albums, and also the birth and death dates of the musicians, and set it to remind me “On this day this or that album was released” or “Today is this musician’s birthday”
I started with Github copilot web and notepad++ but it bothered me that Copilot wouldn’t have “memory” or context. So I found out it worked with VS Code, getting context and also making inline suggestions and corrections.
But then I thought “what if I could get the information from Musicbrainz, Discogs, Metal Archives, and other sites and make my own catalog” so now the calendar became a local website.
After a couple of versions, I thought “wouldn’t it be great if I could listen to the music from the catalog?” So I asked the AI if it could be possible to build a bitperfect player that integrated all this data.
Well, I don’t want to bother you with the step by step. Let’s say that escalated quickly and I ended up with Claude in VS code and a very clear idea in mind.

I’m really happy with it and I thought I share it with a community that could appreciate it, so this is what I ended up with :

HOME
This is the Home screen, there’s a collapsible menu on the left, a carousel with the birthdays, death dates and release aniversaries for the day. they keep sliding left and if you click on any of them you’ll go to the dedicated page (examples below)
There’s Upcoming Shows, only for the artists on my library, and only for Argentina, from bandsintown, Upcoming Releases also only for the artists in my library, from musicbrainz, and the Album of the Day a random album based on release date, birth or death date of any of the members.

Then the Latest Added to the library, and below that there’s a New Releases from Qobuz:


These are just links from the API, and are filtered to show only Metal releases.

I love Focus so I tried to keep it, basically it works the same as in Roon

I made it identify Hi Res releases and add a badge (it also adds badges for Live, Compilation or Bootleg, on top of the covers. I have to set it mannually from the admin section)


ARTISTS
This is the Artists section. I have to get the logos and customize them. If you press on the letters it will filter that letter instead of “taking” you to that letter.


This is the artist profile. A small bio from Wikipedia, tab navigation (Releases, Videos, Members, Statistics) and a links section on the right

Here you can see the Members tab with current and former members (from musicbrainz) and also a Related Artists section on the right

This is the Stats tab for the band

MUSICIANS

This is the musicians section, you can filter by role (Musician, Mixing, Mastering, Production, Others) and change the view from grid to list


Here’s the musician profile with the albums from the bands the person is in, and also the Collaborations with the roles the musician had in that release. On the left personal information including real name, date and place of birth, bands the person participated in and the links

ALBUMS

This is the album profile, with links and similar releases on the right, information and more from the artist on the left of the tracklist


the credits tab where all the artists are linked to their profile

and the versions tab. I used to add the Qobuz versions but since it was only a link I decide I would only keep versions for local copies

GENRES
A description of the genre with some bands and releases. Clicking the genre would take you to the Discography section with the applied filter

When I saw the documentary “Metal: A Headbanger’s Journey” by Sam Dunn I loved the Metal Family Tree they used so…why not? (needs more work)

VIDEOS
These are the ripped DVDs I have (Music, Documentaries, Series and Movies, all music related of course) It gets the metadata from TMDB. Only informative, you can’t watch them on the app (for now :thinking:)

STATISTICS
This section is linked to ListenBrainz, and it’s just numbers…The app also has a local play count tracking.

last played, more numbers and format

by decade, artist by country, by genre and a listening heatmap

ADMIN
I loved LRCGET, but I was getting a lot of errors so, I made it in the app. You search for the album, can get the lyrics from lcrlib.net and save them to the flac. If they’re syncronized and need adjustmente you can do it mannually, if they’re plain you can sync them with whisper, and if there are no lyrics you can try also whisper to generate them. Of course you can monitor the result with the Play icon there. You can also mark the track as instrumental

There’s also a Diagnose section that would tell me the albums without personnel, genre, year or MBID and also without lyrics (I can load them from here to the Lyrics tab)

This is the musician editor (the dots are for the links this profile have)

This is the Band editor with the ability to set current or former members (sometimes this is missing in MB or it’s wrong)

LYRICS
The synced lyrics added in the admin are shown with an icon on th track and if yu click it it will display them. There’s also a headphone icon with the number of LB listens


or in the panel on the side if you want to keep browsing

Here’s a detail of the play section (the screenshots keep cutting it) The mic is the lyrics panel, the clock is the play history, the lines is for the queue, and the arrows for shuffle play.

and of course our beloved Signal Path

Well I left some things out but in general, this is what have kept me entertained this past months. I’m really happy about it, I’ve learned a lot and also still ignore a lot.
Of course it needs work, don’t forget that this wasa supposed to be a Google calendar script, but I think I got carried away.

I almost forgot, there’s a remote control app too:
Home


Explore

Signal Path

I know it still needs tweaking, and it relies heavily on manual input/correction but it has to do with being in control of the information.
I hope you like it…thank you for your attention, have a nice day!

:sign_of_the_horns:

11 Likes

Strong work!!!

Wow! That looks excellent! :love_you_gesture: