Actionscript 3 使用AS3';对任意数据的s computeSpectrum()调用?

Actionscript 3 使用AS3';对任意数据的s computeSpectrum()调用?,actionscript-3,signal-processing,fft,Actionscript 3,Signal Processing,Fft,我有一些任意的信号数据,我想对它们进行频率分析。这不是音频数据。有没有办法强迫AS3的computeSpectrum()调用为我做这项工作 蒂亚 orioncomputeSpectrum函数似乎对当前播放的音频进行采样,以执行FFT。因此,您必须将非音频数据转换为某种类型的声音文件并播放。由于似乎无法同步播放和捕获,因此您必须在声音文件中多次循环数据,使其播放足够长的时间,并希望幸运地使用computeSpectrum调用捕获数据。非常怀疑这是否有效,是否会给您带来有意义的结果。computeS

我有一些任意的信号数据,我想对它们进行频率分析。这不是音频数据。有没有办法强迫AS3的computeSpectrum()调用为我做这项工作

蒂亚


orion

computeSpectrum函数似乎对当前播放的音频进行采样,以执行FFT。因此,您必须将非音频数据转换为某种类型的声音文件并播放。由于似乎无法同步播放和捕获,因此您必须在声音文件中多次循环数据,使其播放足够长的时间,并希望幸运地使用computeSpectrum调用捕获数据。非常怀疑这是否有效,是否会给您带来有意义的结果。

computeSpectrum()看起来像是Sound类的一个方法,所以我猜不会。但是,也许您可以将信号数据保存为bytearray并将其转换为音频?我看到的唯一问题是实际的计算-我不知道computeSpectrum()是否适用于单个字节、我们的四字节组或音频剪辑指定的内容,或者其他什么。谢谢您的回复。不幸的是,传递给computeSpectrum()的bytearray是函数的输出,而不是输入。afaict分析当前播放的任何声音。@orion elenzil更正。您可以通过tearray将您的信号数据转换为音频,播放它,并在其上运行computeSpectrum-这是我最初的想法,但同样,我不知道它是否能满足您的需要。Hotpaw在这方面可能是正确的……不过,也许可以在声音上放置一个事件处理程序,以便它在播放时调用函数?这似乎合乎逻辑,但我还没有在AS3中使用声音的经验。(我就要到了)别客气。我只是阅读了AdobeLiveDocs,没有“开始”事件,只有完成。很抱歉,我绝对不应该做出这样的假设(我将把它转换成任何需要的格式,但它可以很容易地成为一个数字数组,其中每个元素代表一个样本。