first pass at audio API