AudioEffectSpectrumAnalyzer

继承: AudioEffect < Resource < RefCounted < Object

可用于实时音频可视化的音频效果。

描述

此音频效果不会影响声音输出,但可用于实时音频可视化。

此资源配置一个AudioEffectSpectrumAnalyzerInstance,它在运行时执行实际分析。可以使用AudioServer.get_bus_effect_instance()获取实例。

参见AudioStreamGenerator程序生成声音。

属性


枚举

enum FFTSize: 🔗

FFTSize FFT_SIZE_256 = 0

使用256个样本的缓冲区进行快速傅里叶变换。延迟最低,但随着时间的推移最不稳定。

FFTSize FFT_SIZE_512 = 1

使用包含512个样本的缓冲区进行快速傅里叶变换。延迟低,但随着时间的推移不太稳定。

FFTSize FFT_SIZE_1024 = 2

使用包含1024个样本的缓冲区进行快速傅里叶变换。这是延迟和稳定性随时间的折衷。

FFTSize FFT_SIZE_2048 = 3

使用包含2048个样本的缓冲区进行快速傅里叶变换。延迟高,但随着时间的推移稳定。

FFTSize FFT_SIZE_4096 = 4

使用4096个样本的缓冲区进行快速傅里叶变换。延迟最高,但随着时间的推移最稳定。

FFTSize FFT_SIZE_MAX = 5

表示FFTSize枚举的大小。


属性说明

float buffer_length = 2.0 🔗

  • void set_buffer_length(value: float)

  • float get_buffer_length()

要保留的缓冲区长度(以秒为单位)。较高的值使数据保持更长时间,但需要更多内存。


FFTSize fft_size = 2 🔗

快速傅里叶变换缓冲区的大小。随着时间的推移,较高的值会使频谱分析变得平滑,但会有较大的延迟。这种较高延迟的影响在幅度突然变化时尤其明显。


float tap_back_pos = 0.01 🔗

  • void set_tap_back_pos(value: float)

  • float get_tap_back_pos()