public IList <float> Resample(IList <float> data, float sourceRate, float targetRate)
        {
            var unfiltered = _baseResampler.Resample(data, sourceRate, targetRate);

            if (targetRate > sourceRate)
            {
                var filter  = _filterProvider.Get(FilterType.LowPass).First();
                var context = filter.Create(targetRate, sourceRate / 2);
                return(context.Filter(unfiltered));
            }
            else
            {
                return(unfiltered);
            }
        }