К тому же, интуитивно кажется, что скорость можно получить из самого сигнала.
Схема радиоприемника не подойдет для звука,потому что
алгоритм должен ожидать опорной
Нивелировать эффект Доплера не получится - это уже свершённый факт, являющийся неотъемлемой частью вашего сигнала.
передать исходный сигнал без сдвига частоты, т. е. передвигать приёмник вместе с источником.
Тогда просто уберите частотный фильтр, и сигнал полностью уместится на вашей записи.
в магнитофоне равномерно увеличивали скорость на кассете, это записали в массив
В этом случае проще всего будет изменить частоту дискретизации (задержку между воспроизведением значений в массиве) пропорционально скорости магнитофона.
вы хотите формулу сдвига частоты?
Вы хотите добавить в массив(wav файл) между значениями нули, чтобы из ускоренной записи получить замедленную?
speed = 2 # конечная скорость воспроизведения магнитофона, 2х
record = [10,15,2,0,36,...] # асимметричный массив записанных уровней напряжения в микрофоне - wav файл
t = 60 # длительность wav файла
T0 = t/len(record) # начальная задержка воспроизведения записанных уровней напряжения из wav файла
T1 = T0*speed # конечная задержка воспроизведения записанных уровней напряжения из wav файла
k = (T1-T0)/(len(record)-1) # коэффициент линейного ускорения воспроизведения
for i, u in enumerate(record):
T = k*i+T0 # задержка воспроизведения с учётом линейного ускорения
set_speaker_voltage(u)
sleep(T0/2) # не забываем помахать диафрагмой в обратную сторону
set_speaker_voltage(-u)
sleep(T) # реализуем линейное ускорение воспроизведения
for i, u in enumerate(record):
play(u, duration=k*i+T0)
T0/2
при замедлении воспроизведения wav, исправил выше. Как мне кажется, когда мы делаем sleep(time) то уровень сигнала на звуковой карте неизменяется
может преобразовывать массив в массив
мы не успеем "уложить" первый квант из массива в движение мембраны динамика туда и обратно
Я пользуюсь библиотеками, которые работают по принципу "буфер+частота", т.е. воспроизводят отрезок с заданной частотой. Но всё это вопрос удобства, который принципиально ничего не изменяет.