Giocoso Tips

I just thought I'd show you how I run Giocoso on my main desktop these days: see the screenshot at the left.

That's just a picture of KDE's default terminal, Konsole, running in 'split view' mode. Open Konsole, click the Split View button at the top of the program area to obtain the drop-down menu and from that select Split View Left/Right[...] 

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

Ripping Yarns

Down the rabbit hole we go! I wanted to rip a new CD I purchased recently, shown at the left, of the reconstructed Elgar 3rd Symphony. Prestoclassical had the physical CD listed at £5.75, where the FLAC download was £8.04 -which, by the by, is a very oddly specific number!- so I went for the physical product rather than the digital download because I'm a cheapskate! Physical product is rather unusual for me these days, though. So I then had to rip the purchased CD to FLAC files myself -and that's where the fun started! Bear with me as I set the scene...

My desktop PC doesn't have an optical drive, so I use USB-connected ones when I need to. I have two: a DVD-ROM (i.e., reader only) that identifies as a TEAC; and a DVD-RW (reader/burner) that identifies as an HP device. So I ripped the Elgar with each drive in turn, using my own somewhat unloved CCDR program. Out of interest, I then checked the MD5 sums per ripped file (essentially, the digital fingerprint of the audio component of each file), using the command metaflac --show-md5sum "filename" and... they were different, depending on which optical drive they'd been ripped with! [...] 

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