Giocoso - First Update

Somewhat annoyingly, I just discovered an error in Giocoso's --stats reporting function. It's not a particularly terrible one: more a question of labelling the various numbers.

The stats report shows how many recordings you've got that last for various 'time bands' (i.e., 0 to 5 minutes long, 5 to 10 minutes long and so on). One of the bands said '10 to 30 minutes'... but the actual query  submitted to the Giocoso database was querying for durations between 600 seconds and 1200 seconds. [...] 

Continue Reading

Giocoso - A New Randomising FLAC Player

Today, I'm announcing the initial release of Giocoso, the randomising FLAC player for Linux, which is a replacement for my old AMP program. Giocoso is built on much the same code-base as AMP, but with quite a few changes. The most significant differences between Giocoso and AMP are, probably:

  • AMP scrobbled by default and had to be told not to; Giocoso does not scrobble by default, and has to be told to do so if it's required.
  • AMP scrobbling required the installation and running of a separate 'amp-scrobbler' script. Giocoso uses no external functionality to scrobble: it's all built-in to the main program.
  • AMP had acquired a bunch of 'statistical overrides' (such as --levelup, --xlevelup and --xxlevelup); those are now gone from Giocoso.
  • AMP could only apply --minduration and --maxduration filters after selecting something to play. This could result in a significant pause before stumbling across something randomly selected that happened to have the correct duration. Giocoso now knows the durations of pieces from the get-go, so duration-based selections are done successfully within fractions of a second.
  • AMP only displayed album art; when Giocoso displays album art, it adds a 'caption' to it, with its text derived from the ALBUM tag of the music being played: the album art can therefore now visually provide you with all information about what, precisely, is being played.

There are lots of other differences, detailed in Appendix A of Giocoso's User Manual, which is available for download on Giocoso's new product page[...] 

Continue Reading

Niente - A New FLAC Integrity Checker

I recently signed up to a Personal Backblaze cloud backup subscription. The product has some severe limitations: it only runs on Windows, for example; and it takes no notice of -and refuses to back up- anything a Windows PC is connected to via the network. It's one huge saving grace, however, is that for US$55 per year, you get unlimited backup capacity. If, for example, you plug in a 12TB external hard disk via USB to your Windows PC... that counts as local storage and therefore gets backed up to Blackblaze within the personal backup allowance. Add two more 12TB USB drives to the PC and you've just got 36TB of cloud storage for peanuts!

Yes, not working on Linux is a bit of a drawback for someone who stopped using Windows at all in about 2016 (and had spent the 20 years before that trying to!)... but it's not exactly hard to find an old PC and throw Windows 10 on it and then script something on Linux to push my music collection across to it. Once the music collection has been copied to the Windows PC, it heads off to the cloud, courtesy of Backblaze. I already have six copies of my music collection on various NAS devices and external USB drives. I even have an offline copy, on a pair of disks which only get plugged into a PC once a month for a refresh. But thanks to Backblaze, I now have an offsite backup. You know, for those times when the house catches fire or falls into a sinkhole. [...] 

Continue Reading

AMP Per-Cycle Pause

Today, I'm releasing yet another new version of AMP (version 1.28 if you're keeping count).

It's main reason for existence is that it contains a new feature: you have been able to get AMP to do multiple 'cycles' of play since the very earliest versions, by setting the --selections=x run-time parameter. Replace 'x' with 2, for example, and AMP will randomly select one piece of music to play, play it from start to finish, then pick a second piece of music and play it from start to finish, and only then stop playing anything further. [...] 

Continue Reading

Another AMP Release

Just a day or two after the last one, there's a new AMP release (version 1.27). I am heroically trying to reduce the rate of version releases, I hasten to add! But if I come across a bug that needs fixing, my hands are rather tied to making the fixes available as soon as possible!

Sure enough, whilst this releases introduces a useful new feature, it also fixes a quite significant bug I just encountered. [...] 

Continue Reading

The Loudness Wars...

Just a quick note to report that I've just released a couple of software fixes related to the problem of sub-optimal loudness levels in music files ripped from CDs or other sources.

Firstly, MAXV has been bumped to version 1.08, because of the addition of a tiny bux-fix that stops the grep utility sometimes thinking that what it's being asked for is a binary file rather than a text file. It's not a major deal, and if you choose not to upgrade, you probably won't be missing out on much, as the bug raises its head only exceptionally rarely. But, it's there if you want it. Run maxv --checkver to get it. [...] 

Continue Reading

AMP Version 1.26 Released

Just a quick note to mention that I've today released a new version of AMP: version 1.26.

The new version contains a couple of new features, rather than any bug-fixes (for once!). Firstly, I've increased the maximum time-bar for a composer to 999 hours (up from the previous maximum of just 9 hours). That's approximately 42 days, so by running amp --timebar=999, you are effectively saying 'don't randomly select a composer for a new play that has previously had anything played within the past month or so'. Added as a new feature largely because I kept being offered Beethoven things to play and there's only so much Beethoven a man can take one month at a time! [...] 

Continue Reading

Progress...

May has been a month of progress on something I made a New Year's resolution to do (but then put off for four months!): catalogue the enormous pile of ripped CD files I've built up over the past year or so. Click on the graph at the left and you'll see how I've done: I started the month with 485.1GB of music files sitting in the 'temporary' area of my hard disk (which has been pretty permanent for at least 2 years now!), in the form of 10,007 individual FLAC files. As of this afternoon, I'm down to 13.6GB and just 625 files. Most of that is a 'collected works of Messiaen' box set, which will take ages to catalogue and tag-up properly, because French is slow to type, what with all its accents (but maybe not as slow as German. And definitely way faster than Czech!)

Undertaking all this cataloguing has meant using my own CCDT tagging program, of course. As a result, I decided to make a couple of little changes to CCDT. The important one is a new run-time switch, called --namereplace. Run CCDT with that in the launching command and CCDT changes the way it handles music files that already have a track title tag. [...] 

Continue Reading

tiny...

Yeah, I know I promised last time no more tinkering with AMP and the next release would be called version 2.

But version 1.22 is out anyway, representing a tiny, tiny, puny little bug-fix! [...] 

Continue Reading

AMP: Are we there yet?

I am aware that as new AMP feature follows new AMP feature, it can feel like a never-ending ride to who-knows-where, prompting the 'Oh God, not another one!' reaction, as well as the 'Will it never end?' one -as well as the one alluded to in the thumbnail at the right!

For the record, I think we are closing in on a feature-complete AMP that needs no major bug-fixes nor has use for substantial new pieces of functionality. [...] 

Continue Reading

CAO: A Bug Fix

A quick mention that CAO ("Composition-At-Once") has been updated to fix a mildly serious bug.

CAO turns standalone FLACs into single-file 'superFLACs' with an embedded cuesheet, so you still know within the one big file where all the separate tracks are meant to start and finish. CAO can also use that same information to split a superFLAC apart back into its constituent single-file FLACs. It's an important design requirement of CAO, in other words, that it should always be completely reversible: what it joins together, it should be able to split apart later, should the user so desire. [...] 

Continue Reading

Another round of AMP enhancements...

Let's start with a warning: this is quite a long post and covers quite a lot of ground! I don't normally 'section up' my posts, but I will on this occasion, to try to make things clearer. So, this time we have:

  • Two new override switches for AMP
  • The removal of a switch
  • The fixing of quite a nasty bug
  • The introduction of a new composition-specific selection switch
  • An increase to the number of play 'selections' you're allowed

Taking each of those in turn, therefore... [...] 

Continue Reading