Reaching the limits

The graph at the left tells a tale! The context for that tale is that since June 3rd 2021, I've been using Giocoso to play (almost exclusively) only those recordings which have not previously been recorded as having been played, in an attempt to ensure that by the time I come to kick the bucket, I can say, hand-on-heart, that I've listened to every recording I ever bought. On the one hand, the tale is of good news: the graph shows that only 7.1% of my entire collection has not yet been played by Giocoso. So, I've played around 93% of it, which is pretty good going.

It's even better going when you consider that for much of the time since June 2021, I've had time restrictions on my plays: in other words, I've told Giocoso 'play unplayed recordings that last less than 20 minutes' or something similar. As a result, I haven't listened to Wagner's Ring cycle with Giocoso, but I know for certain I've played those recordings multiple, multiple times in the years before 2021. Which is to say: even the 7.1% I haven't 'officially' played contains substantial chunks of recorded music which I know I've played using different tools... so the amount of my collection which is truly unplayed is significantly less than 7%. [...] 

Continue Reading

Work in Progress: Semplice Version 2

It's finally time to mention what I've been up to for the past couple of months: re-writing Semplice, my digital music file manager. It's the tool that lets you tag your FLACs, volume boost them, merge them into 'SuperFLACs' (and split them back out into per-track FLACs if you prefer), convert them into MP3s or most other audio formats, analyse them to make sure they're really high resolution FLACs, and much more besides.

To be honest, I didn't think there was a lot wrong with the original version of Semplice (currently sitting at version 1.02). There wasn't a huge amount of functionality that was missing, in other words: it was more that the user interface was a bit klunky and old-fashioned, particularly in light of the user interface advances I'd implemented when developing Giocoso Version 3. So, Semplice Version 2 was going to be more of a user interface refresh than anything else... but, as I suspected it would, mission creep has resulted in a few additions to Semplice functionality that it turns out I'm rather fond of! [...] 

Continue Reading

Further Giocoso News

Version 3.04 of Giocoso has just been released. It's a small bug fix and a minor addition.

Dealing with the bug fix first: Giocoso has always checked that, if you say you're using a database called (say), classical_music.db, a file of that name actually exists in the appropriate folder on your hard disk. If it didn't (perhaps because you hadn't created it yet!), it would display a nice error message and quit cleanly. Unfortunately, and unbeknownst to me, some database commands cause sqlite to create a zero byte file of the right name which isn't, internally, a database. That means Giocoso's file check passes, because a file of the right name exists. However, that means Giocoso goes on to query it for music to play -and since the file is just a blank file, those queries fail horribly: [...] 

Continue Reading

Is AccurateRip Accurate?

I mentioned last time that when ripping an audio CD to digital files, it's important to know that this optical drive reads the first audio sample from (say) sample 103, whereas that optical drive reads the same first audio sample from sample 6. The inability to precisely and accurately read the first audio sample from, er... the first audio sample is, unfortunately, inherent in the design of the audio CD standard in the first place (which has no absolute positioning information encoded in the data stream) and in the vagaries of hardware manufacturing, where tolerances vary between manufacturers, designs and even batches of the same design by the same manufacturer!

On the whole, however, a given optical device product will be consistent about its failings. If one specific ASUS DRW-20B1 device reads its first sample from actual sample -6, then you can be fairly sure that almost all ASUS DRW-20B1's will do the same thing. You can therefore build up a database of known optical device models with a record of what their read positioning errors are -and this is exactly what the AccurateRip database of CD drive offsets is. Knowing these 'offset corrections', you can then tell your device to read (say) sample 103 knowing that this will actually make it read sample 0 (computers usually start counting at zero!), which means you now know you're actually reading the correct 'start of audio'. Thus, once you know the read offset that applies to each make of optical drive, then the same audio CD can be read from the same absolute starting position in the audio signal no matter which make of drive is doing the reading. AccurateRip therefore lets you produce consistent rips with different optical drives, because applying the read offsets always ensures each drive can read the start of the audio data on the CD correctly. The story of me doing precisely this (once my code was correct and tools like EAC and dbPowerAMP were configured correctly!) is what my last blog post was all about, after all. [...] 

Continue Reading

Cataloguing Schubert Symphonies

Schubert's symphonies are surprisingly tricky things to catalogue correctly, although as someone who hasn't exactly been been a huge a fan of the man or his works, it's taken me quite a long time to realise the extent of the problem!

I noticed it today, though, as Giocoso decided to randomly select Schubert for a couple of plays: [...] 

Continue Reading

Giocoso Version 3.02 Released

A relatively small, but nevertheless significant, enhancement to Giocoso has just been released, bringing the program up to Version 3.02.

To understand the new update, you first have to understand the specifics of how Giocoso makes a random selection of a recording to play. It's a two-stage affair: first, a composer is selected at random; second, a recording by that composer is selected. This ensures that an obscure composer has as much chance of being played as the likes of Bach, Beethoven or Brahms. [...] 

Continue Reading

End-of-Year Report

As 2023 draws to its close, I thought I'd trawl through my Giocoso music player's database and work out what I've spent the past twelve months doing, as far as listening to classical music goes.

The headline news is that I've played 3,007 unique recordings this year which, cumulatively, lasted for about 69 days (68.93 if you want to be accurate about it!). [...] 

Continue Reading

Giocoso Version 3.01 Released

I uncovered a silly bug in Giocoso Version 3 on Boxing Day: I had switched off random-play mode and instead instructed the program to play a playlist constructed from anything containing the word 'Christmas' in its ALBUM tag. The music itself all played fine, and everyone was pleased with the festive mood thus created 🙂 Unfortunately, I noticed that by the time the eighth piece was being played, Giocoso was reporting its duration to be over 10 hours! Going back over the play history for that day (now fixed), I saw that Percy Grainger's Sussex Mummers' Christmas Carol was recorded as having played for over 11 hours -when it's actually a piece that lasts about 5 minutes, tops!

What I immediately spotted was that the recorded durations for each piece was in fact the cumulative duration for all pieces played up to that point, from the playlist. If the playlist had said to play pieces that were (say) 5, 20, 13, 12 and 15 minutes long, the first piece would have been recorded as lasting for 5 minutes; the next as lasting for 25 minutes; the third as being 38 minutes in length; the fourth as being 50 minutes long; and the last would be recorded as having played for 1 hour 5 minutes. And so on. Throw a couple of Christmas Oratorios into the mix and a piece that should have been recorded as lasting 15 minutes would instead have been recorded as lasting for 10+ hours! [...] 

Continue Reading

Happy Benjamin Britten Giocoso 3 Release Day

Today is November 22nd 2023. It happens to be Benjamin Britten's 110th birthday; the feast day of St. Cecilia, the patron saint of music and musicians... and, at last, the release day of Giocoso Version 3, this website's homebrew classical music listening software. It all seems so spookily appropriate!

The user manual for it is now therefore available in the usual place. I encourage you to read all of it, of course: but if not that, then at least Sections 2, 3 and 4. [...] 

Continue Reading

Documentation pending...

I'm now in Giocoso 3 documentation mode: writing up what functionality exists; what functionality doesn't exist; and how best to use the software to do its principal job of playing classical music in a quasi-intelligent way.

There are (pause to count...) 28 distros to install onto, perform functional tests and make notes on quirks, weirdnesses and showstoppers. Each distro tends to ship with three or four desktop environments (KDE, Gnome, Budgie, Pantheon, XFCE and the like), so the number of permutations at this stage is a bit bewildering. Not to say, time consuming. [...] 

Continue Reading


At last, I've just added the 600th composer to my music collection. The composer in question is Cipriano Potter, whose grim visage you see at the left. Despite his first name, he was born and bred in London, UK (in 1791, in fact, dying some 80 years later, in 1871). His music is not especially well-known, though he was on first name terms with Beethoven (who thought him 'a good fellow') and Wagner called him an 'amiable contrapuntist'. His obscurity owes much to his decision to stop composing completely around his 45th year so that he could concentrate on his administration duties at the Royal Academy of Music, of which he was then principal. He was thus influential on English music, without necessarily having composed a lot of it (though he still managed to write nine symphonies, three piano concertos and a bazillion solo piano pieces).

I mention the new addition only because I remember being ticked off by a good friend of mine in Sydney, back in around 2005, that the fact that my music collection consisted mostly of Britten and Handel was "a bit sad". A pursuit of musical diversity on my part thus ensued, and I think my friend would be pleased today with the sexta-centennial results of his gentle nagging! [...] 

Continue Reading

Offline Warning!

Just a short note to advise that at some point today, we're having solar panels fitted. That means the electricity will have to be turned off for (so we are told) "a number of hours". That in turn means the web server hosting this site will... er, stop hosting it, for a number of hours!

The short version is: I'll have to go off-line at some point today, but normal service should resume a few hours thereafter. [...] 

Continue Reading