Alistral: Power tools for Listenbrainz

For the past few months I have been working on upgrading Listenbrainz Cli Tools to use a SQLite database, and now that the (release) dust as settled, time for a community annoucement!

The caching system as been completely redone using SQLite, which brings better performance, less used disk space, and most importantly, easier development.

A new command has been introduced, which allows you to see what your favorite Monstercat releases of this year are, and have an easier time voting for this year’s Best of 2024!
Note: Plenty of releases are missing from Musicbrainz still. So go add them/map your listens. The command checks for the labels “Monstercat”, “Monstercat Instinct”, ‘Monstercat Uncaged’ and " Monstercat Silk".

This command is under the “unstable” command. Unstable commands are commands which are either buggy, unpolished, need user testing, or too hardcoded. The plan being to finish them later, while still letting users experiment with them.

Some things were changed during the migration:
- The work stats do not recurse anymore. Next update I plan to add a new command to restore the previous behaviour.
- The underrated radio has been temporary disabled, as listenbrainz is still broken, and updating it without testing will lead to bugs (and I’m lazy. This update is long overdue already)
- The listen mapper wasn’t upgraded, as I’m not still certain if I’m keeping it or it will be replaced by another way to map listens.
- Importing data dumps is disabled due to the new importer not providing MBID mapping anymore.

Lastly, new name! It’s more like it has a proper name now…

I’ll try to only use one topic (this one) to bring updates on the app. So subscribe if you are interested

Github:

Latest release:

3 Likes

sounds interresting, would it maybe be possible to create a mac build?

I’ll try. I do know I wanted to make one on the first release, but I got problems.
I haven’t retried since then, so I’ll retry

It’s done. The new release has the macos build.
For the others, not need to update. There’s nothing significant updated

1 Like

how do i run it?
(i have no idea what i’m doing)

I haven’t touched a mac in my life so not that sure if it’s possible but:

Open a terminal in the folder where you put the file, so if you put it into your download folder, right click, open in terminal(?).
Or you can open your terminal, put cd <full path of your folder>, aka something like cd /home/rustynova/download

Then you can simply use alitral by typing alistral-macos <command>

The list of commands are here, or you can add --help to get a list of commands

And tip: rename alistral-macos to alistral to make it shorter to type~

Oh and good luck. 140000 listens must be a lot of recording to fetch… And the app is limited to one recording/second. My puny 25k already takes an hour to get only the recordings

Release v0.3.3

New features:

  • listens remap-mbid: Remap all the listens mapped to an mbid to another.
  • daily: Show “today in history” for your listens, and first discoveries birthdays
  • Radios: You can now restrict the seed listens to a shorter period with the --seed-listen-range argument. This will only use seed listens from this period. There is also --min-seed-listens to keep a minimum of listens (default 3) from before the period if there is not enough

Changes:

  • lookup now refresh the recording. So if you know there’s changes on the data, you can use lookup to refresh it
  • lookup: Overdue score is now from 0. 1 now means that the recording is overdue. Fixes weird behaviours with bumps

Builds are cooking and will be ready soon

3 Likes

Release v0.4.0

Changelog:

  • The cache now properly migrate between versions. This require to recreate the whole cache, so expect to be refetching everything.
  • Now more names are being linked to musicbrainz/listenbrainz pages, and colors have been added to make it easier to read and distinguish entity types.
  • lookup now shows the total time a recording has been listened, and its rank in the top listen counts, and the global number of listens
  • Fixed a bug where stats weren’t properly fetching recording data
  • Updated the URL in the radio playlists
  • Migrated the underrated radio! (Global stats seems to be broken again too…)

Most of the work has been on removing the old cache and musicbrainz clippy. More on the later here

2 Likes

Release v0.4.1

Changelog:

  • lookup: fixed overdue line getting offset
  • Renamed “Time listened” to “Total Playtime”
  • Removed the print of the database path on start

And forgotten from the previous changelog:

  • You can now sort stats by total playtime instead of listens (recording-playtime).
1 Like

Release v0.4.2

Listens tools

Added listens wrong-mapping. This tool finds listens that have been submitted with a different name than the mapped recording. This can be useful to find listens mapped to te wrong recording.

Radios

Added --at-listening-time argument to the overdue radio. This force the score of the recording to be calculated after the previous track have been listened to, instead of the current time. This makes the radio a lot more accurate for long playlist, but may slow down the generation a lot

Future

As Brainzplayer might loose the ability to play youtube videos, the next major release will focus on youtube export of playlists / radio generation. It will probably come in january.

1 Like