commit 8baabbe3924d189a5f06f6ced33512b8e8f35a4c Author: Matteo Cypriani Date: Wed Dec 7 05:07:13 2016 +0100 Update page 'Home' diff --git a/Home.md b/Home.md new file mode 100644 index 0000000..42bc4a7 --- /dev/null +++ b/Home.md @@ -0,0 +1,62 @@ +# About the NRG image format + +A good reference about the metadata format is the corresponding Wikipedia +article: . + +The source code and comments of NRGrip also provide some information, of +course. + + +# Manual audio data extraction howto + +Just for fun, it is possible to extract manually the audio data from an NRG +image, after displaying its metadata with NRGrip. You will need to know: + +- The first audio byte (`dd skip`): + `daox.first_track.index1` (or `index0` if you wish to include the pre-gap) + +- The last audio byte: + `daox.last_track.end_of_track` + +- The number of audio bytes (`dd count`): + `Last audio byte - First audio byte` + +To extract the raw audio data (substitute `${FIRST_AUDIO_BYTE}` and +`${NB_AUDIO_BYTES}` with the numbers found above: + + dd iflag=count_bytes,skip_bytes if=image.nrg of=image.raw \ + bs=4M skip=${FIRST_AUDIO_BYTE} count=${NB_AUDIO_BYTES} + + +# Notes on cue sheet extraction + +From Wikipedia: + +- A CD can contain up to 99 tracks. +- Each track can in turn have up to 100 indexes. +- The vast majority of songs are recorded under index 1, with the pre-gap being + index 0. +- Sometimes hidden tracks are placed at the end of the last track of the disc, + often using index 2 or 3. +- In an NRG cue sheet, the _index0_ points are present even when they are + identical to the _index1_ ones. +- The _index0_ points in audio tracks are incorrect if Nero has been asked to + record all the sub-channel data (in that case the sector size is 2448 bytes). +- No index other than 0 or 1 has been encountered, although the chunk format + allows for such cue points to be recorded; thus the number of cue blocks seems + to always be `2 * (number of tracks + 1)`: two indices for each track, an + _index0_ for the lead-in and an _index1_ for the lead-out. + +From this information and other observations: + +- The cue sheet should include all the indices for each track, but _index0_ + should be ignored if: + - _index0_ = _index1_, or + - _index0_'s position is negative. +- It is possible to have incoherent track numbering (observed: track 10 is + numbered 16 in CUEX). +- The lead-in area (track 0) and the lead-out area (track 0xAA) should not + appear in the cue sheet. + +How will multi-session CDs be handled? Is it worth implementing, since +multi-session audio CDs must be very rare? \ No newline at end of file