python中发送信号的时间频率列表

2024-09-24 22:27:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着用单音,频率,来产生(音频)信号,它会随着时间而变化。你知道吗

我的音调是1d numpy数组: 频率=[100,102,103,100,115,113,…,430]

每个值对应N(如100)个样本。我知道如何确保它匹配每个模式(N=1)。(它可以生长和下降的时间)

现在我需要把频率曲线转换成正弦信号。你知道吗

我知道scipy.signal.sweep_poly(和类似的)函数,但我不能用多项式来描述频率。你知道吗

请问,你能帮我,我怎样才能从频率表生成信号?你知道吗

非常感谢!你知道吗


Tags: numpysignal信号时间模式scipy数组音频
1条回答
网友
1楼 · 发布于 2024-09-24 22:27:42

我不确定我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中提供

相关问题 更多 >