【问题标题】:Is it possible to produce a sound from frequency spectrum data?是否可以从频谱数据中产生声音?
【发布时间】:2019-05-28 02:45:57
【问题描述】:

借助 AnalyzerNode,您可以使用 getByteFrequencyData / getFloatFrequencyData 方法将声音转换为频谱数据。

是否可以反方向,从频谱数据中播放声音?

【问题讨论】:

  • 我猜不是,因为没有用于频率数据的 set 函数。
  • 但是,您可以获取一些频率数据并自己对其执行逆 FFT 以获得波形并进行播放。
  • 是的,你可以。见这里:marcgg.com/blog/2016/11/01/javascript-audio
  • @Dai 这不是他要问的。
  • @Herohtar 文章描述了从单个正弦波形合成声音。这不是 OP 问题的直接解决方案,但使用 OP 的频谱数据,只需将此技术扩展到 FFT 揭示的每个频率即可。

标签: javascript fft web-audio-api


【解决方案1】:

频谱数据必须包含相位信息。如果是这样,您可以使用OscillatorNode 重现周期性声音。将幅度和相位信息(极坐标形式)转换为实部和虚部(矩形)分量,以创建适当的PeriodicWave,并使用该周期波初始化OscillatorNode

来自AnalyserNode 的信息是不够的,因为它只包含频谱的幅度部分。

【讨论】:

    猜你喜欢
    • 2021-05-13
    • 1970-01-01
    • 2019-05-20
    • 2019-05-25
    • 1970-01-01
    • 2011-09-17
    • 1970-01-01
    • 1970-01-01
    • 2017-09-07
    相关资源
    最近更新 更多