@io_position is consistently 7 bytes short of the actual start of audio data. This is because io_position is calculated
from tag_length and the original position after the "ID3" at the beginning of the file. It should also take
into consideration the 3 byte version and flags as well as the 4 byte tag_length.
I changed the @io_position calculation as follows:
@io_position = @io.pos + @tag_length # GK - position relative to start of data, must skip 10-bytes of header
|