及时发出信号的频率列表



我正在尝试从单个音调,频率变化的(随时间变化)发出(音频)信号。

我的音调为1D numpy数组:freq = [100、102、103、100、115、113,...,430]

每个值通讯无n(例如100)样本。我知道如何确保它匹配每个模式(n = 1)。(它可以在此期间生长和跌落)

现在我需要此频率"曲线"转换为正弦信号。

我知道scipy.signal.sweep_poly(和类似)函数,但我无法将频率描述为polynom。

请,您能帮我,我如何从频率列表中生成信号?

非常感谢!

不确定我100%您想要什么,但是:

freqs = np.random.uniform(100, 400, (20,))
times = np.cumsum(np.random.uniform(0.01, 0.02, (20,)))
# or np.arange(20) / sample_freq if evenly sampled
grid, dt = np.linspace(0, times[-1], 10000, retstep=True)
signal = np.sin(2*np.pi*dt*np.cumsum(np.interp(grid, times, freqs))) 

这使用采样时间点之间的线性插值。scipy.interpolate

提供了其他方法

最新更新