Sinc-интерполяция
Теоретически идеальный способ вычислить значения между отсчётами сигнала с ограниченной полосой — и то, что приближает любой серьёзный ресемплер.
Теорема отсчётов гласит: сигнал ниже частоты Найквиста можно точно восстановить по его отсчётам. Рецепт даёт формула интерполяции Уиттекера — Шеннона: в каждый отсчёт помещают функцию sinc, sin(πx)/(πx), и всё складывают. Во временной области это идеальный фильтр нижних частот.
Беда в том, что sinc бесконечна, поэтому в исходном виде ею никто не пользуется. Реальные реализации обрезают её и сглаживают окном, чаще всего Кайзера, а длина определяет компромисс между резкостью, нагрузкой на CPU и предзвоном. Библиотеки вроде libsamplerate и SoX выставляют именно эту ручку. Линейная интерполяция дешевле, но пропускает алиасинг как решето, чем отчасти объясняется звук старых игровых движков.