On 5/2/17 4:32 PM, Eli Bildirici wrote:

> Fascinating. Thanks for explaining this. I wasn't 100% sure what non-linear meant in this context and didn't want to derail, but hey, might as well. So the output after having been remapped using decode_lp_sample or similar is 16-bit. How did e.g. Mr Taylor in that function arrive at those values for this look-up table though?

I wasn't willing to pay money for a copy of IEC standard 61119, so I 
went looking for the info elsewhere.  I believe RFC 3190 contains a 
description of the 12 bit non-linear encoding:
(see page 2).

decode_lp_sample is a lookup table which converts a 12 bit encoded value 
to a 16 bit linear value.  It appears to agree with the encoding shown 
in RFC 3190.  I haven't followed the code in read_dat.c far enough to 
understand how the 12 bit values are packed on the tape.

Sending encoded 12 bit values to a linear DAC will surely give horribly 
distorted audio.

-- John Chester