Support custom audio inputs

This code gave me access I needed for my project, maybe it is helpful in general. (note sure about the semicolons after some of the method headers in the implementation file...)