Redesigned the audio encoding/decoding classes to get rid of libsndfile