Giter Club home page Giter Club logo

Comments (21)

cyanreg avatar cyanreg commented on May 30, 2024 1

Thanks, sorry you had to call in your last favor.
That helped a lot, I now know what to do.

from cyanrip.

diizzyy avatar diizzyy commented on May 30, 2024

I agree that it doesn't seem make much sense but maybe I'm missing something obvious. I do remember that some emulators supported this with separate audio tracks however such as Kega Fusion.

from cyanrip.

Stu060223 avatar Stu060223 commented on May 30, 2024

A little late to the party on this sorry but oddly had intended to enquire re whether there was any appetite for this feature. The limit of my understanding, admittedly chiefly informed by historic use of EAC, was that a ('non-compliant') .CUE sheet can include the necessary Pre-Gap info for either Images or individually ripped Tracks thus enabling folks to then burn an 'accurate' copy of the source medium.. again for the most part via EAC, which can (also) compensate for drive Write Offsets.

Whilst I acknowledge there's a significant amount of Sub-Channel stuff (and more besides that I can just about grasp) that will never be captured during rips, I had been led/chosen to believe, rightly or wrongly, that having a .CUE was useful in that regard. FWIW I know Whipper supports producing .CUE sheets and additionally TOCs. For purists/believers these can be useful in so far as a Nix user could conceivably if inclined use mktoc for example to adjust for Drive Write Offsets using a TOC thereby (purportedly) achieving the same results as EAC.

from cyanrip.

sky1ab avatar sky1ab commented on May 30, 2024

CUE Sheets are essential/standard stuff, so "yes" just make it happen (please)

You are so close to a nearly perfect audio rip tool, but then you come up with this:

CUE files only support a single source file,

No, this is wrong, look up https://wiki.hydrogenaud.io/index.php?title=Cue_sheet#Examples
"Multiple files with corrected gaps"
"Multiple files with gaps left out"
"Multiple files with gaps (Noncompliant)"

the first two should be doable, while the noncompliant one is more work.
i wont even comment on the purists/believers stuff above

from cyanrip.

cyanreg avatar cyanreg commented on May 30, 2024

Thanks, that was the convincing argument I was looking for.
I implemented CUE file writing by default. Works fine for regular CDs with no hidden tracks. I implemented the logic needed to handle those, but I'd like someone to explicitly test that.

@sodface do you happen to have CDs with pregaps and the time to test this? I also implemented preemphasis signalling (if deemphasis is disabled).

from cyanrip.

sodface avatar sodface commented on May 30, 2024

I went through this list and was quite sure I had the Blink-182 CD so I dug out my box of CDs and managed to come up with only the jewel case insert (jewel cases long ago replaced with plastic sleeves), but no CD.

In the process I did find another CD from the list which I didn't remember owning:

~$ cyanrip -s 6 -R 2 -p 1=track
Checking /dev/cdrom for cdrom...
		CDROM sensed: ASUS     SDRW-08U7M-U     A101

Opening drive...
...
-- snip (see below) --
...
Found MusicBrainz release: A Place in the Sun - Lit
Downloading front cover art...
Downloading back cover art...
Unable to get cover art "back": not found!
cyanrip 0.9.0 (release)
System device:  /dev/cdrom
Device model:   ASUS     SDRW-08U7M-U     A101
Offset:         +6 samples
Overread:       +1 frame
Overread mode:  fill with silence in lead-in/lead-out
Speed:          default (unchangeable)
C2 errors:      supported by drive
Paranoia level: max
Frame retries:  25
HDCD decoding:  disabled
Album Art:      Front (From: Cover Art DB)
Outputs:        flac
Disc number:    1
Total discs:    1
Disc tracks:    12
Tracks to rip:  all
DiscID:         6b_BoYYLbLU2.qUNJhDRpA427aM-
Release ID:     fcafccbc-ae03-3c33-8c96-f6f71e775845
CDDB ID:        8F0A340C
Disc MCN:       0000000000000
Album:          A Place in the Sun
Album artist:   Lit
AccurateRip:    found
Total time:     00:45:19.270

Gaps:
    8032 frame unmarked gap between lead-in and track 1, marking as a pregap
    8032 frame pregap in track 1, splitting off into a new track, number 0

Cover art destination(s):
    A Place in the Sun [FLAC]/Front.jpg

Tracks:
Ripping and encoding track 0, progress - 97.71%, ETA - 37m    
cdio error: 007: Unknown, unrecoverable error reading data
007: Unknown, unrecoverable error reading data

It does end up getting by the errors and ripping all the tracks.

There's quite a bit of "unrecognized" stuff at the beginning of the output, not sure I remember that from other CDs... (just a snip of it here):

Opening drive...
Unrecognised disc element: 'offset-list'
Unrecognised artist attribute: 'type-id'
Unrecognised release element: 'release-event-list'
Unrecognised release element: 'cover-art-archive'
Unrecognised disc element: 'offset-list'
Unrecognised disc element: 'offset-list'

Log and CUE sheet attached.
A Place in the Sun.log
A Place in the Sun.cue.txt

from cyanrip.

cyanreg avatar cyanreg commented on May 30, 2024

The errors happen when reading the TOC, so thankfully they don't affect the audio data. Is the disk scratched?
Could you make a rip with EAC so I can look at what a valid CUE sheet would look like?
I'll push a fix for the hidden track numbering in a few hours.

from cyanrip.

sodface avatar sodface commented on May 30, 2024

I don't have a Windows box immediately available to put EAC on, but here's the results of reading the TOC with cdrdao and converting to CUE with toc2cue. Does that help?

There seems to be a pregap with tracks 1, 4, and 12... I thought it was just 1? 🤷‍♂️

~ $ cdrdao read-toc lit.toc
Cdrdao version 1.2.4 - (C) Andreas Mueller <[email protected]>
/dev/sr0: ASUS SDRW-08U7M-U	Rev: A101
Using driver: Generic SCSI-3/MMC - Version 2.0 (options 0x0000)

Reading toc data...

Track   Mode    Flags  Start                Length
------------------------------------------------------------
 1      AUDIO   0      01:47:07(  8032)     03:21:18( 15093)
 2      AUDIO   0      05:08:25( 23125)     02:49:02( 12677)
 3      AUDIO   0      07:57:27( 35802)     03:43:70( 16795)
 4      AUDIO   0      11:41:22( 52597)     04:16:25( 19225)
 5      AUDIO   0      15:57:47( 71822)     02:32:63( 11463)
 6      AUDIO   0      18:30:35( 83285)     03:32:37( 15937)
 7      AUDIO   0      22:02:72( 99222)     04:06:60( 18510)
 8      AUDIO   0      26:09:57(117732)     04:09:13( 18688)
 9      AUDIO   0      30:18:70(136420)     03:18:47( 14897)
10      AUDIO   0      33:37:42(151317)     02:50:38( 12788)
11      AUDIO   0      36:28:05(164105)     04:30:60( 20310)
12      AUDIO   0      40:58:65(184415)     04:20:27( 19527)
Leadout AUDIO   0      45:19:17(203942)

PQ sub-channel reading (audio track) is supported, data format is BCD.
Raw P-W sub-channel reading (audio track) is supported.
Cooked R-W sub-channel reading (audio track) is supported.
Analyzing track 01 (AUDIO): start 01:47:07, length 03:21:18...
Found pre-gap: 01:47:07
Found 11 Q sub-channels with CRC errors.
Found ISRC code.
Control nibbles of track match CD-TOC settings.
Analyzing track 02 (AUDIO): start 05:08:25, length 02:49:02...
Found 7 Q sub-channels with CRC errors.
Found ISRC code.
Control nibbles of track match CD-TOC settings.
Analyzing track 03 (AUDIO): start 07:57:27, length 03:43:70...
Found 9 Q sub-channels with CRC errors.
Found ISRC code.
Control nibbles of track match CD-TOC settings.
Analyzing track 04 (AUDIO): start 11:41:22, length 04:16:25...
Found pre-gap: 00:01:10
Found 12 Q sub-channels with CRC errors.
Found ISRC code.
Control nibbles of track match CD-TOC settings.
Analyzing track 05 (AUDIO): start 15:57:47, length 02:32:63...
Found 1 Q sub-channels with CRC errors.
Found ISRC code.
Control nibbles of track match CD-TOC settings.
Analyzing track 06 (AUDIO): start 18:30:35, length 03:32:37...
Found 8 Q sub-channels with CRC errors.
Found ISRC code.
Control nibbles of track match CD-TOC settings.
Analyzing track 07 (AUDIO): start 22:02:72, length 04:06:60...
Found 9 Q sub-channels with CRC errors.
Found ISRC code.
Control nibbles of track match CD-TOC settings.
Analyzing track 08 (AUDIO): start 26:09:57, length 04:09:13...
Found 12 Q sub-channels with CRC errors.
Found ISRC code.
Control nibbles of track match CD-TOC settings.
Analyzing track 09 (AUDIO): start 30:18:70, length 03:18:47...
Found 12 Q sub-channels with CRC errors.
Found ISRC code.
Control nibbles of track match CD-TOC settings.
Analyzing track 10 (AUDIO): start 33:37:42, length 02:50:38...
Found 3 Q sub-channels with CRC errors.
Found ISRC code.
Control nibbles of track match CD-TOC settings.
Analyzing track 11 (AUDIO): start 36:28:05, length 04:30:60...
Found 12 Q sub-channels with CRC errors.
Found ISRC code.
Control nibbles of track match CD-TOC settings.
Analyzing track 12 (AUDIO): start 40:58:65, length 04:20:27...
Found pre-gap: 00:02:48
Found 23 Q sub-channels with CRC errors.
Found ISRC code.
Control nibbles of track match CD-TOC settings.
        	
Reading of toc data finished successfully.

lit.toc.txt
lit.cue.txt

from cyanrip.

sodface avatar sodface commented on May 30, 2024

There seems to be a pregap with tracks 1, 4, and 12... I thought it was just 1?

I guess I should RTFM:

By default, track 1 pregap is ignored, while any other track's pregap is merged into the previous track.

from cyanrip.

cyanreg avatar cyanreg commented on May 30, 2024

Sort of helps, but that cue does look weird. Can you run EAC under Wine?

from cyanrip.

chuckufarley73 avatar chuckufarley73 commented on May 30, 2024

FWIW, I don't own any of the HTOA releases listed on the Wiki but I did previously have a copy of the Public Enemy release.

The.cue sheet for that below for reference. Unfortunately I don't have the media anymore so can't re-rip (after restoring a Win image with EAC still installed).

REM GENRE Hip-Hop
REM DATE 1994
REM DISCID 1310E415
REM COMMENT "ExactAudioCopy v0.99pb5"
PERFORMER "Public Enemy"
TITLE "Muse Sick-N-Hour Mess Age [Flac]"
FILE "Public Enemy - 1994 - Muse Sick-N-Hour Mess Age [Flac]\01 Public Enemy - Whole Lotta Love Goin On In The Middle Of Hell.wav" WAVE
TRACK 01 AUDIO
TITLE "Whole Lotta Love Goin On In The Middle Of Hell"
PERFORMER "Public Enemy"
PREGAP 02:22:60
INDEX 01 00:00:00
FILE "Public Enemy - 1994 - Muse Sick-N-Hour Mess Age [Flac]\02 Public Enemy - Theatrical Parts.wav" WAVE
TRACK 02 AUDIO
TITLE "Theatrical Parts"
PERFORMER "Public Enemy"
INDEX 01 00:00:00
FILE "Public Enemy - 1994 - Muse Sick-N-Hour Mess Age [Flac]\03 Public Enemy - Give It Up.wav" WAVE
TRACK 03 AUDIO
TITLE "Give It Up"
PERFORMER "Public Enemy"
INDEX 01 00:00:00
FILE "Public Enemy - 1994 - Muse Sick-N-Hour Mess Age [Flac]\04 Public Enemy - What Side You On .wav" WAVE
TRACK 04 AUDIO
TITLE "What Side You On?"
PERFORMER "Public Enemy"
INDEX 01 00:00:00
FILE "Public Enemy - 1994 - Muse Sick-N-Hour Mess Age [Flac]\05 Public Enemy - Bedlam 13-13.wav" WAVE
TRACK 05 AUDIO
TITLE "Bedlam 13:13"
PERFORMER "Public Enemy"
INDEX 01 00:00:00
FILE "Public Enemy - 1994 - Muse Sick-N-Hour Mess Age [Flac]\06 Public Enemy - Stop In The Name....wav" WAVE
TRACK 06 AUDIO
TITLE "Stop In The Name..."
PERFORMER "Public Enemy"
INDEX 01 00:00:00
FILE "Public Enemy - 1994 - Muse Sick-N-Hour Mess Age [Flac]\07 Public Enemy - What Kind Of Power We Got .wav" WAVE
TRACK 07 AUDIO
TITLE "What Kind Of Power We Got?"
PERFORMER "Public Enemy"
INDEX 01 00:00:00
FILE "Public Enemy - 1994 - Muse Sick-N-Hour Mess Age [Flac]\08 Public Enemy - So Whatcha Gone Do Now .wav" WAVE
TRACK 08 AUDIO
TITLE "So Whatcha Gone Do Now?"
PERFORMER "Public Enemy"
INDEX 01 00:00:00
FILE "Public Enemy - 1994 - Muse Sick-N-Hour Mess Age [Flac]\09 Public Enemy - White Heaven - Black Hell.wav" WAVE
TRACK 09 AUDIO
TITLE "White Heaven - Black Hell"
PERFORMER "Public Enemy"
INDEX 01 00:00:00
FILE "Public Enemy - 1994 - Muse Sick-N-Hour Mess Age [Flac]\10 Public Enemy - Race Against Time.wav" WAVE
TRACK 10 AUDIO
TITLE "Race Against Time"
PERFORMER "Public Enemy"
INDEX 01 00:00:00
TRACK 11 AUDIO
TITLE "They Used To Call It Dope"
PERFORMER "Public Enemy"
INDEX 00 03:20:47
FILE "Public Enemy - 1994 - Muse Sick-N-Hour Mess Age [Flac]\11 Public Enemy - They Used To Call It Dope.wav" WAVE
INDEX 01 00:00:00
FILE "Public Enemy - 1994 - Muse Sick-N-Hour Mess Age [Flac]\12 Public Enemy - Aintnuttin Buttersong.wav" WAVE
TRACK 12 AUDIO
TITLE "Aintnuttin Buttersong"
PERFORMER "Public Enemy"
INDEX 01 00:00:00
FILE "Public Enemy - 1994 - Muse Sick-N-Hour Mess Age [Flac]\13 Public Enemy - Live And Undrugged (Pt. 1 & 2).wav" WAVE
TRACK 13 AUDIO
TITLE "Live And Undrugged (Pt. 1 & 2)"
PERFORMER "Public Enemy"
INDEX 01 00:00:00
FILE "Public Enemy - 1994 - Muse Sick-N-Hour Mess Age [Flac]\14 Public Enemy - Thin Line Between Law & Rape.wav" WAVE
TRACK 14 AUDIO
TITLE "Thin Line Between Law & Rape"
PERFORMER "Public Enemy"
INDEX 01 00:00:00
FILE "Public Enemy - 1994 - Muse Sick-N-Hour Mess Age [Flac]\15 Public Enemy - I Ain't Mad At All.wav" WAVE
TRACK 15 AUDIO
TITLE "I Ain't Mad At All"
PERFORMER "Public Enemy"
INDEX 01 00:00:00
FILE "Public Enemy - 1994 - Muse Sick-N-Hour Mess Age [Flac]\16 Public Enemy - Death Of A Carjacka.wav" WAVE
TRACK 16 AUDIO
TITLE "Death Of A Carjacka"
PERFORMER "Public Enemy"
INDEX 01 00:00:00
FILE "Public Enemy - 1994 - Muse Sick-N-Hour Mess Age [Flac]\17 Public Enemy - I Stand Accused.wav" WAVE
TRACK 17 AUDIO
TITLE "I Stand Accused"
PERFORMER "Public Enemy"
INDEX 01 00:00:00
FILE "Public Enemy - 1994 - Muse Sick-N-Hour Mess Age [Flac]\18 Public Enemy - Godd Complexx.wav" WAVE
TRACK 18 AUDIO
TITLE "Godd Complexx"
PERFORMER "Public Enemy"
INDEX 01 00:00:00
FILE "Public Enemy - 1994 - Muse Sick-N-Hour Mess Age [Flac]\19 Public Enemy - Hitler Day.wav" WAVE
TRACK 19 AUDIO
TITLE "Hitler Day"
PERFORMER "Public Enemy"
INDEX 01 00:00:00
FILE "Public Enemy - 1994 - Muse Sick-N-Hour Mess Age [Flac]\20 Public Enemy - Harry Allen's Interactive Super Highway Phone Call To Chuck D.wav" WAVE
TRACK 20 AUDIO
TITLE "Harry Allen's Interactive Super Highway Phone Call To Chuck D"
PERFORMER "Public Enemy"
INDEX 01 00:00:00
TRACK 21 AUDIO
TITLE "Living In A Zoo (Remix)"
PERFORMER "Public Enemy"
INDEX 00 02:52:52
FILE "Public Enemy - 1994 - Muse Sick-N-Hour Mess Age [Flac]\21 Public Enemy - Living In A Zoo (Remix).wav" WAVE
INDEX 01 00:00:00

from cyanrip.

sodface avatar sodface commented on May 30, 2024

I called in my last favor for using my wife's laptop, these are all the options from EAC's create cue sheet menu.
A Place in the Sun.cue.txt
A Place in the Sun - Single Wav.cue.txt
A Place in the Sun - Multiple with Gaps - Noncompliant.cue.txt
A Place in the Sun - Multiple with Leftout Gaps.cue.txt
A Place in the Sun - Multiple with Corrected Gaps.cue.txt

from cyanrip.

sodface avatar sodface commented on May 30, 2024

I just received another CD off the pregap list above, Wintersleep - Untitled which is one of my favorite albums and since I never owned the CD, only the digital download version, I figured I'd better get it. Just ripped it and listened to the pregap track for the first time! Awesome. Thanks for cyanrip.

from cyanrip.

sodface avatar sodface commented on May 30, 2024

Attached is the info from cyanrip for the blink-182 CD. Does that look like it matches the description from the pregap list?

"Stockholm Syndrome Interlude" (Spoken-word interlude before track 5, Stockholm Syndrome)

blink-182.cdinfo.txt

from cyanrip.

cyanreg avatar cyanreg commented on May 30, 2024

Hey, sorry for the delay.
I've fixed CUE sheet generation. Should be fully compliant now.
By default, the "noncompliant" variant is used. The files are separate, so playback is unaffected, and it carries over the pregaps perfectly, hence it makes sense to use it.

Switching the pregap mode will change the mode accordingly (into either "corrected gaps" or "dropped", depending on the pregap mode setting).
Hidden tracks in the pregap are marked as silence (as they're ignored, and don't exist by default in the ripped audio).
Using the "track" mode will mark them as just being a regular track (which strips the information that the track was in fact a hidden pregap track - CUE sheets have no way of signalling this).

Could you test with your CDs and post the log and CUE files somewhere?

I'll implement track replaygain v2 analysis (just need to hook up ffmpeg's code) and then version 1.0 will be ready.

from cyanrip.

sodface avatar sodface commented on May 30, 2024

Here is the default cue sheet and default log, plus a stdout/stderr redirect log

Am I correct that there is no way to generate a cue sheet without actually ripping the whole disk? I concluded there isn't so I ripped to wav thinking it might be quicker but it was still pretty slow with this USB drive I'm using.

Can you let me know specifically what other variations you want me to test?

lit.cue.txt
lit.log
lit.redirect.log

from cyanrip.

chuckufarley73 avatar chuckufarley73 commented on May 30, 2024

FWIW I've not ever come across an instance where an(y) App will (rather than can) produce a cue for individual tracks.. Interesting question but best guess I'd assume it's predominantly down to convention and the intent behind why the user wants a CUE in the first place, if you go back to legacy Goldenhawk BIN/CUE days.. more so than any practical limitations in the first instance.

from cyanrip.

chuckufarley73 avatar chuckufarley73 commented on May 30, 2024

Question.. Only just occurred to me. When one rips a CD to flac (default if memory serves, which suits me fine..) and produces a .CUE, will the resultant file reference the .wav file suffix or .flac?

I know that's a pretty daft question but one thing that always irked me about EAC back in the day was the it's default behaviour was to rip uncompressed/to .WAV, the end result being that even if you chose the Compressed option, the .CUE sheet would always only reference the .WAV extension, presumably as a consequence of EAC producing those first then compressed them, discarding the .WAV thereafter if one chose to.

from cyanrip.

cyanreg avatar cyanreg commented on May 30, 2024

The flac, of course. Not that you should need to use the generated CUE files that way.

from cyanrip.

cyanreg avatar cyanreg commented on May 30, 2024

sodface: thanks for testing, everything matches fine with EAC
Do you happen to have a disc with a postgap? It's the only part I haven't been able to check how EAC does.

from cyanrip.

sodface avatar sodface commented on May 30, 2024

Do you happen to have a disc with a postgap?

I've been looking around. I haven't found any lists or anything to reference so I'm scratching my head a little on how to help with this test.

from cyanrip.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.