我要编写如下的iOS应用。
给定声音(.wav)(非周期性声音),我可以执行快速傅立叶变换(FFT)来将其转换为某些数据。通过使用数据,我想生成声音(合成)并输出。
我对FFT不太熟悉,并且有几个问题。
执行FFT后,数据是什么样的?
当我阅读一些文章时,FFT将返回频率和幅度的数组。
var frequencyArr:[double_t] = []
var amplitudeArr:[double_t] = []
如何确定数组的长度,这意味着它将返回多少频率?
还是决定其长度的因素是什么?
另一个问题是该数据是否会随时间变化?
例如:
t1 =>频率Arr = [a,b,c,d]
t2 => frequencyArr = [e,f,g,h]
会是那样吗? amplitudeArr
是否正确?