OT: RE: Pulled out an old song..

2006-06-26 Thread Schöberle Dániel
snip, snip

 Since computers like to work in portions, ripping audio from
 a CD can 
 cause the requests to start and stop, instead of constantly stream. 
 But the format is not designed to gracefully handle that. This can 
 cause errors (repeated data or lost data) which differ with
 each rip, 
 due to conditions not necessarily being the same each time (and of 
 course a single bit error will cause a different hash).

 This is why CD paranoia exists. CD paranoia reads back a little with 
 each new portion of the stream read and then tries to find where the 
 overlapping data at the end of the previous stream matches the 
 beginning of the new stream. It then joins them so that there should 
 hopefully be no repeated or lost data, discarding the redundant data 
 in the process. The use of CD paranoia will increase the chances of 
 getting the same hash from a rip, but it can only do the best with 
 what it is given from the drive under variable conditions.

 Also, CD audio data has weaker error detection/correction than CDROM 
 data, so marginal reads have a greater chance of giving differing 
 results. Combine the random nature of noise with marginal data and 
 weak error detection and that noise can colour the output in an 
 unpredictable fashion which is not constantly repeatable.

Or you could find a drive with a good implementation of C2 error
correction. Reed-Solomon code used for storing raw CD data is almost 
capable of miracles.

 It would not surprise me if you could get exact same hashes on 
 subsequent rips, but it also would not surprise me if you did not.

Enter EAC (as I said it's Windows only but it allows bit-perfect rips). 
I'll quote some things from the EAC's website[1]:
In secure mode, this program reads every audio sector at least twice. 
That is one reason why the program is so slow. But by using this 
technique non-identical sectors are detected. If an error occurs (read 
or sync error), the program keeps on reading this sector, until eight 
of 16 retries are identical, but at maximum one, three or five times 
(according to the error recovery quality) these 16 retries are read. So,
in the worst case, bad sectors are read up to 82 times! But this will 
help the program to obtain best result by comparing all of the retries. 
If it is not sure that the stream is correct (at least it can be said 
at approx. 99.5%) the program will tell the user where the (possible) 
read error occurred. The program also tries to adjust the jitter 
artefacts that occur on the first block of a track, so that each 
extraction should be exactly the same. On drives found to have the 
accurate stream feature, this is guaranteed.

And in order to get the same hash on different drive models or even a
bit identical CD-R copy of the pressed CD it supports read/write 
offsets:
'Sample Offset' is another new feature of EAC, it will help to 
always get the same WAVs compared to a different reader and to prevent 
generation losses. Nearly all drives can not position the head 
correctly. That means if the program tells the drive to read block 1 
it will probably read data somewhere in block 9998 instead. But this is 
not visible to the reading program, it won't know if it is really the 
data it wanted. Usually the head will be set always to a fixed offset 
before or after the correct read position. So it is possible to detect 
this offset once and use it for all CDs coming afterwards.

[1] http://www.exactaudiocopy.de/ 



Re: Pulled out an old song..

2006-06-25 Thread Shane J Pearson

Hi Jason,

On 2006.06.16, at 6:05 PM, Jason Stubbs wrote:

Very interesting article. However, I still don't see how ripped  
audio might change on each ripping.


CD audio data was designed to be constantly streamed. Read into a  
FIFO buffer, which in turn is read from a DAC with quartz precision.  
The disc spinning speed does not need to be constantly accurate since  
the FIFO employs low and high watermarks. This causes the disc to be  
constantly sped up and slowed down with the result being a duty cycle  
of slower and faster spinning which averages out to the correct spin  
speed. This is to keep data in the FIFO, but never completely filled  
or allowed to empty.


Without the FIFO, this would not be acceptable since the sound would  
speed up and slow down and pitch would suffer. As a result CD's would  
need to spin very accurately and this would be a lot harder and more  
expensive to do and not be able to match the accuracy allowed with a  
FIFO. These particular FIFO's can be written to, read from and  
provide watermark signals independently at differing speeds, without  
either blocking any other.


This constant streaming design is perfect for what CD audio was  
designed for: to play audio CD's in audio CD players.  ; )


CD audio data was not designed to allow stopping and starting with  
the expectation that the data will marry bit perfect without any  
redundancy or loss. When you press pause/play on a CD player, it is  
unlikely that you are going to notice a small portion of data loss or  
a small portion of music which already played, so the limited  
addressing (not block perfect) is acceptable in the intended  
application. However, if you could capture each portion and then play  
them one after the other without the pause, you are likely to notice  
a stutter (redundancy occurs) and/or a click/pop (redundancy or loss  
occurs).


Since computers like to work in portions, ripping audio from a CD can  
cause the requests to start and stop, instead of constantly stream.  
But the format is not designed to gracefully handle that. This can  
cause errors (repeated data or lost data) which differ with each rip,  
due to conditions not necessarily being the same each time (and of  
course a single bit error will cause a different hash).


This is why CD paranoia exists. CD paranoia reads back a little with  
each new portion of the stream read and then tries to find where the  
overlapping data at the end of the previous stream matches the  
beginning of the new stream. It then joins them so that there should  
hopefully be no repeated or lost data, discarding the redundant data  
in the process. The use of CD paranoia will increase the chances of  
getting the same hash from a rip, but it can only do the best with  
what it is given from the drive under variable conditions.


Also, CD audio data has weaker error detection/correction than CDROM  
data, so marginal reads have a greater chance of giving differing  
results. Combine the random nature of noise with marginal data and  
weak error detection and that noise can colour the output in an  
unpredictable fashion which is not constantly repeatable.


It would not surprise me if you could get exact same hashes on  
subsequent rips, but it also would not surprise me if you did not.



Shane



Re: Pulled out an old song..

2006-06-16 Thread Michael Coulter
On Fri, Jun 16, 2006 at 12:01:35PM +0900, Jason Stubbs wrote:
 Unless the quality of the CD has deterioated, where does the 
 random element come from?

http://www.stereophile.com/features/827/

If you start reading about the low-level details of C/DVDs and
you don't have a lot of faith in math, you'll be scared to death
you ever put data on an optical disc.



Re: Pulled out an old song..

2006-06-16 Thread vladas

On 16/06/06, Michael Coulter [EMAIL PROTECTED] wrote:

On Fri, Jun 16, 2006 at 12:01:35PM +0900, Jason Stubbs wrote:
 Unless the quality of the CD has deterioated, where does the
 random element come from?

http://www.stereophile.com/features/827/

If you start reading about the low-level details of C/DVDs and
you don't have a lot of faith in math, you'll be scared to death
you ever put data on an optical disc.


Jason,

Thank you for the link!



Re: Pulled out an old song..

2006-06-16 Thread Jason Stubbs

On 16/06/06, Michael Coulter [EMAIL PROTECTED] wrote:

On Fri, Jun 16, 2006 at 12:01:35PM +0900, Jason Stubbs wrote:
 Unless the quality of the CD has deterioated, where does the
 random element come from?

http://www.stereophile.com/features/827/

If you start reading about the low-level details of C/DVDs and
you don't have a lot of faith in math, you'll be scared to death
you ever put data on an optical disc.


Very interesting article. However, I still don't see how ripped audio 
might change on each ripping. The article states that E11 and E12 errors 
are common but that the original data is fully inferrable(sp?) and that 
E22 errors are usually caused by damage. I can see how audibal changes 
could occur if CD players use the amplitude obtained from the CD 
directly without first going fully digital, but otherwise...


Anyway, enough idle conjecture. When I get home I'll give it a try 
myself and then do further research. :)


vladas wrote:

Jason,

Thank you for the link!


Thank Michael. ;)

--
Jason Stubbs



Re: Pulled out an old song..

2006-06-16 Thread vladas

On 16/06/06, Jason Stubbs [EMAIL PROTECTED] wrote:

On 16/06/06, Michael Coulter [EMAIL PROTECTED] wrote:
 On Fri, Jun 16, 2006 at 12:01:35PM +0900, Jason Stubbs wrote:
  Unless the quality of the CD has deterioated, where does the
  random element come from?

 http://www.stereophile.com/features/827/

 If you start reading about the low-level details of C/DVDs and
 you don't have a lot of faith in math, you'll be scared to death
 you ever put data on an optical disc.

Very interesting article. However, I still don't see how ripped audio
might change on each ripping. The article states that E11 and E12 errors
are common but that the original data is fully inferrable(sp?) and that
E22 errors are usually caused by damage. I can see how audibal changes
could occur if CD players use the amplitude obtained from the CD
directly without first going fully digital, but otherwise...

Anyway, enough idle conjecture. When I get home I'll give it a try
myself and then do further research. :)

vladas wrote:
 Jason,

 Thank you for the link!

Thank Michael. ;)


Oh. Sorry:

Thank you, Michael.



--
Jason Stubbs



vladas



Re: Pulled out an old song..

2006-06-16 Thread Schöberle Dániel
 On Behalf Of Jason Stubbs
 Sent: Friday, June 16, 2006 10:06 AM
 On 16/06/06, Michael Coulter [EMAIL PROTECTED] wrote:
  On Fri, Jun 16, 2006 at 12:01:35PM +0900, Jason Stubbs wrote:
   Unless the quality of the CD has deterioated, where does the
   random element come from?
 
  http://www.stereophile.com/features/827/
 
  If you start reading about the low-level details of C/DVDs and
  you don't have a lot of faith in math, you'll be scared to death
  you ever put data on an optical disc.
 
 Very interesting article. However, I still don't see how ripped audio 
 might change on each ripping. The article states that E11 and 
 E12 errors 
 are common but that the original data is fully 
 inferrable(sp?) and that 
 E22 errors are usually caused by damage. I can see how 
 audibal changes 
 could occur if CD players use the amplitude obtained from the CD 
 directly without first going fully digital, but otherwise...
 
 Anyway, enough idle conjecture. When I get home I'll give it a try 
 myself and then do further research. :)

You can get bit identical rips of audio CDs, meaning you can compare
the track's CRC, hash or anything else. EAC (www.exactaudiocopy.de)
is one solution but it's Windows only. I haven't ripped under OpenBSD so 
I have no recommendation for it. www.hydrogenaudio.org is my source of
authoritative information regarding digital audio. Check it out.

Regards, Daniel.



Re: Pulled out an old song..

2006-06-15 Thread Han Boetes
Peter Philipp wrote:
 I was just going through my OpenBSD cd's and came across the
 first cd with a song... Interestingly enough I didn't find an
 mp3 with it as combined with newer releases.  Anyhow can anyone
 confirm this rmd160 checksum after the song is cdparanoia'd?

 # rmd160 track02.cdda.wav
 RMD160 (track02.cdda.wav) = 1053805b53962e22028768516285da1cba5e4454

CD-tracks don't work that way. Rip it again and you'll probably
find another checksum.



# Han



Re: Pulled out an old song..

2006-06-15 Thread Jason Stubbs

Han Boetes wrote:

Peter Philipp wrote:

I was just going through my OpenBSD cd's and came across the
first cd with a song... Interestingly enough I didn't find an
mp3 with it as combined with newer releases.  Anyhow can anyone
confirm this rmd160 checksum after the song is cdparanoia'd?

# rmd160 track02.cdda.wav
RMD160 (track02.cdda.wav) = 1053805b53962e22028768516285da1cba5e4454


CD-tracks don't work that way. Rip it again and you'll probably
find another checksum.


Forgive my ignorance but how could CD-tracks not work that way? As far 
as I understand it, the only difference between a data track and an 
audio track is that a data track divides a sector into a data portion 
and a checksum portion whereas an audio track uses the entire sector for 
data. Unless the quality of the CD has deterioated, where does the 
random element come from?


--
Jason Stubbs



Pulled out an old song..

2006-06-13 Thread Peter Philipp
Hi all,

I was just going through my OpenBSD cd's and came across the first cd with
a song... Interestingly enough I didn't find an mp3 with it as combined
with newer releases.  Anyhow can anyone confirm this rmd160 checksum after 
the song is cdparanoia'd?

# rmd160 track02.cdda.wav
RMD160 (track02.cdda.wav) = 1053805b53962e22028768516285da1cba5e4454

Thanks OpenBSD;  keep up the great work!

-peter