For use with template based code, it would be useful if the AudioBuffer had a member typedef that is the same as its Type. (Like std::vector has the value_type which tells which type of elements the vector is holding.)
It involves just adding something like this line into the public section of AudioBuffer :
using Value_Type=Type;