K>1. Пропускать/Добавлять отсчеты — проблемы K>с качеством звука и его длиной.
Проблема с длинной мне кажется неизбежна, по той причине что увеличивается/уменьшается период
а wav как правило с одной и той же частотой дискретизации будет занимать места ~t.
А пропуск/добавление как реализовано ?
Я бы сделал так ( не знаю что из этого получиться реально ).
Изначально имеем набор значений амплитут от времени T причем T=t*n, где n — целое число , t — константа зависящая от частоты дискретизации = 1/f.
Соотв. общее время звучания будет = t*Nmax. Nmax — количество амплитуд в файле.
затем изменяем время t и расставляем амплитуды по новой шкале где T = t'*n.
Получаем общее время звучания = t'*Nmax
Теперь на эту шкалу накладываем старую (c t), как правило у нас не будет точных попаданий в новую шкалу ( c t').
Т.е. получается что конечное Nmaxres = (t'*Nmax)/t.
Вот пробегаем по всем n от 0 до Nmaxres-1.
Имеем время Tres = t*n, для каждого времени нужно заново расчитать амплитуду. для этого берем из новой шкалы
два ближайших значения для времени ...т.е. находим n' такое чтобы t'*n'<Tres<t'*(n'+1). для этих двух точек мы
имеем амплитуду An и An+1 ...соотв. нужно для Tres запомнить амплитуду Ares=((A(n'+1)-A(n'))/t')*(Tres-t'*n')