I noticed the MI clouds implementation, includes a SR converter
its used for downsampling and then upsampling... (i.e a pair of converters) , for each you give it a ratio for conversion, and some filter coefficients.
(you can find its usage in the clouds code, when 'low fi' is activated, as this downsamples by 2x)
there is some python code which helps you calculate these co-effecitents, given a bunch of parameters (including sample rate and ratios)
the only thing is, it does appear to be quite expensive in cpu operation.
but it still might be interesting to look at
(sorry, I dont know enough about filters/downsampling to tell you what method it uses)