manipulation functions are samplerate/channel agnostic