Fleshing out and fixing some core fns

* always make a new WAV file, don't return input file
* fns to dynamically read rate/chans of any audio expr