audresample remixes or resamples your signals.
Resampling is supported for signals in single precision floating-point format, and based on the soxr implementation as provided by audresamplelib.
Have a look at the installation and usage instructions.
>>> import numpy as np
>>> import audresample
>>> signal = np.zeros((2, 8000), dtype='float32')
>>> signal.shape
(2, 8000)
>>> audresample.remix(signal, mixdown=True).shape
(1, 8000)
>>> audresample.remix(signal, channels=[0, 0, 1, 1]).shape
(4, 8000)
>>> audresample.resample(signal, 8000, 16000).shape
(2, 16000)