So, if file is 400 MB size, it will return 400MB binary? Much more convenient is such protocol: wave:pread(File, Offset) -> {ok, header, Header} | {ok, frame, Frame} | eof Maybe so?