Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

AudioEffectSpectrumAnalyzer

继承: AudioEffect < Resource < RefCounted < Object

创建一个 AudioEffectInstance,用于执行频率分析并公开结果,以便进行实时访问。

描述

计算音频信号的傅里叶变换。该效果不会改变音频本身。可用于创建实时音频可视化效果,例如频谱图。

该资源配置了一个 AudioEffectSpectrumAnalyzerInstance,会在运行时执行实际的分析工作。要使用该效果,需要使用 AudioServer.get_bus_effect_instance() 获取实例。

教程

属性

float

buffer_length

2.0

FFTSize

fft_size

2


枚举

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()

要保留的缓冲区长度,单位为秒。值越大,数据保留时间越长,但所需的内存也越多。取值范围为 0.1 至 4。


FFTSize fft_size = 2 🔗

快速傅里叶变换缓冲区的大小。较高的值可以使频谱分析随时间的推移而平滑,但有较大的延迟。这种较高延迟的影响在突然的振幅变化中特别明显。