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.

AudioEffectPitchShift

继承: AudioEffect < Resource < RefCounted < Object

向音频总线添加一个音高偏移音频效果。

提高或降低输入音频的音高。

描述

允许在不改变速度的前提下调制音高。所有频率均可进行升降,且对瞬态的影响极小。

教程

属性

FFTSize

fft_size

3

int

oversampling

4

float

pitch_scale

1.0


枚举

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 枚举的大小。


属性说明

FFTSize fft_size = 3 🔗

快速傅里叶变换缓冲区的大小。较高的数值可以使效果随时间平滑,但有较大的延迟。这种较高的延迟对有突然幅度变化的音频信号的影响特别明显。


int oversampling = 4 🔗

  • void set_oversampling(value: int)

  • int get_oversampling()

要使用的过采样系数。更高的值会带来更好的质量,但对 CPU 的要求更高,如果 CPU 跟不上,可能会导致音频破裂。


float pitch_scale = 1.0 🔗

  • void set_pitch_scale(value: float)

  • float get_pitch_scale()

要使用的音高缩放比例。1.0 为默认音高,播放的声音不受影响。pitch_scale 的取值范围为 0(音高极低,无法听见)到 16(比初始音高高 16 倍)。