Синусоидальная волна, которая экспоненциально изменяется между частотами f1 и f2 в заданное время/количество выборокPython

Программы на Python
Anonymous
Синусоидальная волна, которая экспоненциально изменяется между частотами f1 и f2 в заданное время/количество выборок

Сообщение Anonymous »

Я пытаюсь реализовать метод Python, который генерирует синусоидальную волну, которая экспоненциально возрастает между двумя частотами.
Линейное изменение было решено в [этом вопросе] с помощью следующего кода Python:

Код: Выделить всё

from math import pi, sin

def sweep(f_start, f_end, interval, n_steps):
for i in range(n_steps):
delta = i / float(n_steps)
t = interval * delta
phase = 2 * pi * t * (f_start + (f_end - f_start) * delta / 2)
print t, phase * 180 / pi, 3 * sin(phase)

sweep(1, 10, 5, 1000)
Как изменить этот линейный кумулятивный подход фазы/дельты на экспоненциальную развертку частоты и сделать его более плавным для человеческого уха.

Вернуться в «Python»