Semplice Version 2 - Ripping

Semplice now includes a CD ripping functionality. The rip is basic, in the sense that it doesn't try to do any metadata or album art fetching: for classical music, all Internet-sourced metadata is complete rubbish and you'll end up spending more time correcting it than you would in simply typing it in from scratch in the first place.

Basic it may be, however, but it is still accurate: the ripper uses the cdparanoia tool to ensure that defective parts of a source CD are read and re-read as many times as needed to arrive at a 'true' output. Technically, there's a default limit of 40 reads before declaring an un-fixable read error: without this, the CD would spin forever, never quite being read correctly! That default number of re-reads should be enough for most relatively undamaged CDs to complete in reasonable time, but you can set READ_RETRIES in the Semplice configuration file to any lower or higher number that suits your purposes, if you want or need to.

Semplice always rips entire CDs: there is no 'only rip this set of tracks' functionality. However, every rip starts with a prompt where you specify which tracks mark the start of a new composition/recording. For example, on a CD containing two Beethoven symphonies, you'd say that the first symphony starts at track 1 and you'd probably say that the second symphony starts at track 5. Each composition/recording then gets ripped into its own separate folder (called things like RIP_01, RIP_02 and so on), so the Beethoven symphonies CD would end up with tracks 1 to 4 ripped to folder RIP_01 and tracks 5 to the end of the disk being ripped to folder RIP_02.  If there's only one composition on the entire CD, then you just say 'start at track 1' and the entire set of tracks ends up in folder RIP_01.

No matter how many separate recordings are contained on the one CD and stored in separate sub-folders, however, the entire rip is compared with the AccurateRip database to determine whether the rip matches what other people have achieved in the past for the same CD. A 'confidence' rating is thereby worked out: how sure are we that your rip is consistent with those produced by other people.  Low confidence means that your CD may be damaged or your CD drive isn't reading things reliably. High confidence means your CD is good, your CD drive is working well and the audio signal obtained from them is therefore reliably accurate. If your CD is a bit specialised, it may well be that there are no other details of rips of it in the AccurateRip database: you won't be able to tell if it's a good or bad rip, therefore, because there's nothing to compare it to. Semplice will advise you of that fact if it happens.

The output from any rip is a set of tracks, stored in one or more sub-folders, in lossless FLAC format (you can choose to also leave a complete set of tracks in raw WAV format, if you set DELETE_WAVE=0 in the Semplice configuration file, though it's set to 1 by default and thus the source WAVs are deleted by default leaving only the FLACs).

Other parameters set in the configuration file that affects how Semplice rips:


By default, Semplice will expect to rip from the first optical device found and will do so automatically. If your system has more than one optical drive, however, you might wish Semplice to use a specific one of them, and that's what this parameter does. It takes a device name or path argument, such as /dev/cdrom, /dev/dvd or /dev/sr0. You will have to experiment with your PC to find out the name of the optical drive you want to use. The command lsblk | grep rom can give you clues:

hjr@novak:~$ lsblk | grep rom
sr0           11:0    1   587M  0 rom
sr1           11:1    1   506M  0 rom

In this example, I have two 'rom' devices called /dev/sr0 and /dev/sr1. I can't tell from this which model of drive belongs to which device name, but trial and error can sort that out. Regardless, from this I can tell that I'll have to set OPTICAL_DEVICE=/dev/sr0 or OPTICAL_DEVICE=/dev/sr1 to use, by default, one or other of them.

Whatever is set as the default optical device with the OPTICAL_DEVICE parameter in the configuration file can be over-ridden per-rip by taking Option 2 from Semplice's Rip menu.


Semplice will attempt to identify your chosen optical drive and compare it with a list of known devices stored in the AccurateRip drive database. If it manages to identify your drive, it will be able to look up what 'read offset' to apply to it. When your drive tries to read the first audio sample off a CD, it will 'miss' by a known, regular amount: try to read sample 1, it might read sample 7 or sample 103 instead. To correct for this tendency to read-ahead of where it's meant to, we apply a read offset (of -6 or -102 in these examples), and this will ensure that the drive actually starts reading where want it to. Working out what the correct read offset is, however, a lengthy process that Semplice does not attempt to do: it simply identifies the manufacturer's name of your optical drive and looks for that in the database. If it finds a unique match, great. If not, then Semplice will not be able to apply a read offset automatically (i.e., it will actually use a read offset of zero, which almost certainly won't be correct). If Semplice is unable to determine a read offset for you, you can instead set OPTICAL_OFFSET to a numeric value of your own devising. Positive numbers just go in as numbers, negative ones with a minus-sign prefix: so you might type in '6' for 'positive 6' or '-6' for 'negative six', for example. If you type in a leading plus-sign, however, Semplice will automatically understand what you meant, so typing "+6" works, too.


By default, this is set to 0, meaning "it's not enabled", and I strongly recommend you leave it that way! For a long explanation of what this feature is and why you might want to enable it, please read this blog post. The short version is, the read offsets determined automatically might be slightly incorrect -and setting hyper_accuraterip=1 corrects for this by subtracting 30 from whatever the determined number might be. This will render your CD rip completely incapable of being compared to those achieved by anyone else, and thus you won't know whether or not it is a 'good' rip, free from digital errors. It may, however, mean that your rip contains about 600 microseconds of audio data that other people's rips skip.

For hopefully obvious reasons, if you've specified a value for OPTICAL_OFFSET manually, you should leave HYPER_ACCURATERIP set to 0: there's no point making Semplice subtract 30 from a value that you've already previously set!


By default, Semplice re-reads suspect parts of a CD 40 times before giving up, but you can set this to a higher or lower value. Lower values make the ripping process go faster, but at the cost of accuracy and achieving a 'bit-perfect' rip. Higher values mean even quite badly damaged CDs can yield accurate rips, but it will take quite a long time to get there.


By default, Semplice will output its CD rips to automatically-named folders stored within your $HOME/Music folder. If you wish them to be written somewhere else, you can set this parameter to a different full path (for example, RIP_FOLDER=/music-rips/USB-reader).


If you are ripping an ordinary CD, then the audio signal coming from that disk will be sampled at 44,100 times a second, with each sample being stored as a 16-bit value. Standard CDs are thus '16-bit, 44.1KHz' data. This is considered 'standard' CD resolution, and yields standard resolution FLACs of equivalent bit depth and sampling rate. The value 'standard' is therefore what FLAC_RESOLUTION defaults to.

You can, however, also set the parameter to values of 'high' (which will produce FLACs encoded at 24-bits and an 88.2KHz sampling rate); or 'extreme' (which will produce 24-bit FLACs sampled at 192KHz). There is no value in ripping a standard CD to either of these higher resolutions, but the options are there to account for people who might be ripping non-standard CDs.


When Semplice rips a CD, it outputs all the tracks on it to WAV files: these are 'raw audio', containing exactly as much data as was stored on the source CD. It then processes these WAVs into compressed FLACs, which contains the same information as was on the source CD, without any loss, but stored in a way that it takes up around half the space on hard disk as the original WAV file would do.

By default, Semplice then discards (i.e., deletes) these source WAVs, leaving only the FLACs behind (on the grounds that you can exactly re-construct the WAV by de-compressing the FLAC, should it ever be necessary to do so).

If you set DELETE_WAV=0, however, then Semplice will not delete the source WAVs, and you'll end up with a folder containing both the WAVs and the FLACs.