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.0(无限低的音高,听不见)到 16(比初始音高要高 16 倍)。