[Abcde-users] Problem with 'abcde -d disc.flac'

Bjørn Forsman bjorn.forsman at gmail.com
Sat Nov 17 12:34:52 GMT 2018


Hi Matthias,

Thanks for the info! (Responses inline below.)

On Fri, 16 Nov 2018 at 00:00, Matthias König <mk at silverserver.at> wrote:
> With this command you can test if your CD has a pregap:
>
> $ cdrdao read-toc cd.txt

$ cdrdao read-toc cd.txt
Cdrdao version 1.2.3 - (C) Andreas Mueller <andreas at daneb.de>
/dev/sr0: HL-DT-ST DVDRAM GSA-H62N      Rev: CL00
Using driver: Generic SCSI-3/MMC - Version 2.0 (options 0x0000)

Reading toc data...

Track   Mode    Flags  Start                Length
------------------------------------------------------------
 1      AUDIO   0      00:00:32(    32)     04:12:00( 18900)
 2      AUDIO   0      04:12:32( 18932)     03:39:50( 16475)
 3      AUDIO   0      07:52:07( 35407)     04:54:38( 22088)
 4      AUDIO   0      12:46:45( 57495)     03:38:10( 16360)
 5      AUDIO   0      16:24:55( 73855)     03:50:72( 17322)
 6      AUDIO   0      20:15:52( 91177)     04:39:28( 20953)
 7      AUDIO   0      24:55:05(112130)     02:20:67( 10567)
 8      AUDIO   0      27:15:72(122697)     04:02:43( 18193)
 9      AUDIO   0      31:18:40(140890)     03:57:70( 17845)
10      AUDIO   0      35:16:35(158735)     02:52:05( 12905)
11      AUDIO   0      38:08:40(171640)     02:59:20( 13445)
Leadout AUDIO   0      41:07:60(185085)

PQ sub-channel reading (audio track) is supported, data format is BCD.
Raw P-W sub-channel reading (audio track) is supported.
Analyzing track 01 (AUDIO): start 00:00:32, length 04:12:00...
Found pre-gap: 00:00:32
[...]

Ok, so no doubt this CD (and my copy of it) has pregap=32.

> An example cuesheet from a CD with pregap:
>
> PERFORMER ""
> TITLE ""
> FILE "" WAVE
>   TRACK 01 AUDIO
>     INDEX 00 00:00:00
>     TITLE ""
>     INDEX 01 00:00:32
>   TRACK 02 AUDIO
>     TITLE ""
>     INDEX 01 09:33:05
>   TRACK 03 AUDIO
>     TITLE ""
>     INDEX 01 19:02:10
>
> And from a CD without pregap:
>
> PERFORMER ""
> TITLE ""
> FILE "" WAVE
>   TRACK 01 AUDIO
>     TITLE ""
>     INDEX 01 00:00:00
>   TRACK 02 AUDIO
>     TITLE ""
>     INDEX 01 09:33:05
>   TRACK 03 AUDIO
>     TITLE ""
>     INDEX 01 19:02:10
>
> You can export the cuesheet contained in the flac file with this
> command:
>
> $ metaflac --export-cuesheet-to=- cd.flac

Ah, I wondered why the abcde manual talked about _embedded_ cuesheet
when all I saw was the .cue sidecar file.

$ metaflac --export-cuesheet-to=- U2-October/October.flac
FILE "U2-October/October.flac" FLAC
  TRACK 01 AUDIO
    INDEX 01 00:00:00
  TRACK 02 AUDIO
    INDEX 01 04:12:00
  TRACK 03 AUDIO
    INDEX 01 07:51:50
  TRACK 04 AUDIO
    INDEX 01 12:46:13
  TRACK 05 AUDIO
    INDEX 01 16:24:23
  TRACK 06 AUDIO
    INDEX 01 20:15:20
  TRACK 07 AUDIO
    INDEX 01 24:54:48
  TRACK 08 AUDIO
    INDEX 01 27:15:40
  TRACK 09 AUDIO
    INDEX 01 31:18:08
  TRACK 10 AUDIO
    INDEX 01 35:16:03
  TRACK 11 AUDIO
    INDEX 01 38:08:08
REM FLAC__lead-in 88200
REM FLAC__lead-out 170 108829980

So no pregap there. But that makes sense, since the sidecar .cue file
lacks pregap too.

On Fri, 16 Nov 2018 at 01:43, Matthias König <mk at silverserver.at> wrote:
> By default abcde uses mkcue to create the initial cuesheet. Just run
> mkcue to see if it is created correctly.
>
> $ mkcue
> FILE "dummy.wav" WAVE
>   TRACK 01 AUDIO
>     INDEX 00 00:00:00
>     INDEX 01 00:00:32
>   TRACK 02 AUDIO
>     INDEX 01 09:33:05
>   TRACK 03 AUDIO
>     INDEX 01 19:02:10

$ mkcue
FILE "dummy.wav" WAVE
  TRACK 01 AUDIO
    INDEX 01 00:00:00
  TRACK 02 AUDIO
    INDEX 01 04:12:00
[...]

I see my mkcue output lacks the "INDEX 01 00:00:32" part. So it's
mkcue that gets it wrong!

I found this page[1], which says that

"""Well, abcde uses mkcue rather than cdrdao to extract the disc's
TOC, and mkcue does not do the fancy sub-channel reading that cdrdao
does. You will miss out on pregaps, ISRC-codes and such. More
importantly (because this actually affects the audio), I don't think
mkcue handles the PRE_EMPHASIS flag at all.
"""

(The quote is from 2011, but it seems nothing has changed wrt. abcde
using mkcue.)

So there it is. mkcue has issues. An it fails on my CD, where cdrdao succeeds.

So why doesn't abcde use cdrdao instead of mkcue?

In abcde manpage I find

    CUEREADERSYNTAX
        Specifies the syntax of the program we use to read the CD CUE
sheet. Right now we only support 'mkcue', but in the future other
readers might be used.

I guess I have to look at other ripper programs. I see there is a
project called whipper, and it seems to use cdrdao instead of mkcue.

-- 
Best regards,
Bjørn Forsman

[1]: https://hydrogenaud.io/index.php/topic,88238.0.html



More information about the Abcde-users mailing list