A read channel for an optical recorder. Data is recorded on the media in a fixed block code. The data is read and the location of the holes within a symbol are determined for the odd and even symbol positions separately. The location of the hole is determined for an odd or an even hole by using two sample and hold cells to hold the signal value received at a symbol position and compare it to the signal value received at a previous position. If the comparison results in a new higher valued signal being found, the output of the comparator changes. If the output of the comparator changes, the address of the change is recorded. The last such change denotes the location of the symbol position having the highest signal value, which is the address of the hole. The address of the holes, even and odd, are used to directly convert from the fixed block code to binary. Two symbols convert to 8 binary bits.