我正在研究图像到声音的项目,并尝试在SuperCollider中实现加法合成。我想使用逆 DFFT 对(数百个)正弦波求和,而不是SinOsc
为每个正弦波创建一个合成器。
所有 SuperCollider 文档都说,它消耗了由(并由函数转换)IFFT
产生的称为“FFT 链”的东西:FFT
PV_*
Time-domain signal -> FFT -> [PV_* -> PV_* -> ...] -> IFFT
但是对于我的应用,我不需要FFT 阶段,因为我已经知道我的信号在频域中是如何表示的。我想要的是:
Frequency-domain signal -> Manually constructed FFT chain -> IFFT
“频域信号”是一个 numpy 数组序列,表示我在 Python 应用程序中已经拥有的频域信号。所以,我需要将此信息传递给 SuperCollider。
据我了解, FFT 链意味着某种数据流,但我不明白如何手动将数据写入其中。
我也尝试过使用静音 FFT 链(例如 get FTT
of Silence.ar
),但我也不知道如何手动设置单个频率箱。