use multiple threads for audio processing. might be a good idea to do this after or at the same time as #17