FmodAudioEffectEQ

FmodAudioEffectEQ#

继承: FmodAudioEffect < Resource < RefCounted < Object

多段均衡器基类,使用 FMOD MULTIBAND_EQ DSP 组成 6、10 或 21 段 EQ。 (参见 FmodAudioEffectEQ10 ) (参见 FmodAudioEffectEQ21 ) (参见 FmodAudioEffectEQ6 )

FmodAudioEffectEQ 使用一个或多个 FMOD MULTIBAND_EQ DSP 组成多段均衡器。它可以按预设创建 6、10 或 21 个频段,也可以逐频段修改增益、中心频率、Q 值和滤波器类型。

描述#

FmodAudioEffectEQ 是基于 FMOD MULTIBAND_EQ DSP 的多频段均衡器基类。每个频段均可独立设置增益、频率、Q 值和滤波类型。

支持 6 段、10 段和 21 段配置。各频段默认使用峰值滤波器,也可配置为低通、高通、低架、高架等类型。

调用 FmodAudioEffect.apply_to() 并传入 FmodChannelGroup ,将效果器应用到音频总线。

属性#

方法#

void

set_preset(preset: Preset)

Preset

get_preset() const

int

get_band_count() const

void

set_band_gain_db(band_idx: int, gain_db: float)

float

get_band_gain_db(band_idx: int) const

void

set_band_frequency(band_idx: int, frequency: float)

float

get_band_frequency(band_idx: int) const

void

set_band_filter_type(band_idx: int, filter_type: FilterType)

FilterType

get_band_filter_type(band_idx: int) const

void

set_band_q(band_idx: int, q: float)

float

get_band_q(band_idx: int) const


枚举#

enum Preset:

Preset PRESET_6_BANDS = 0

6 段均衡器

Preset PRESET_10_BANDS = 1

十频段均衡器预设,初始频率依次为 31.25、62.5、125、250、500、1000、2000、4000、8000 和 16000 Hz。

Preset PRESET_21_BANDS = 2

21 段均衡器


enum FilterType:

FilterType FILTER_DISABLED = 0

禁用该频段

FilterType FILTER_LOWPASS_12DB = 1

12 dB 低通

FilterType FILTER_LOWPASS_24DB = 2

24 dB 低通

FilterType FILTER_LOWPASS_48DB = 3

48 dB 低通

FilterType FILTER_HIGHPASS_12DB = 4

12 dB 高通

FilterType FILTER_HIGHPASS_24DB = 5

24 dB 高通

FilterType FILTER_HIGHPASS_48DB = 6

48 dB 高通

FilterType FILTER_LOWSHELF = 7

低频搁架

FilterType FILTER_HIGHSHELF = 8

高频搁架

FilterType FILTER_PEAKING = 9

峰值滤波

FilterType FILTER_BANDPASS = 10

带通滤波

FilterType FILTER_NOTCH = 11

陷波滤波

FilterType FILTER_ALLPASS = 12

全通滤波

FilterType FILTER_LOWPASS_6DB = 13

6 dB 低通

FilterType FILTER_HIGHPASS_6DB = 14

6 dB 高通


属性说明#

Preset preset = 0

均衡器频段预设 (参见 PRESET_6_BANDS ) (参见 PRESET_10_BANDS ) (参见 PRESET_21_BANDS )


float band_0_gain = 0.0

控制 band_0_gain 。


float band_0_frequency = 32.0

控制 band_0_frequency 。


float band_0_q = 0.707

控制 band_0_q 。


FilterType band_0_filter_type = 9

控制 band_0_filter_type 。


float band_1_gain = 0.0

控制 band_1_gain 。


float band_1_frequency = 100.0

控制 band_1_frequency 。


float band_1_q = 0.707

控制 band_1_q 。


FilterType band_1_filter_type = 9

控制 band_1_filter_type 。


float band_2_gain = 0.0

控制 band_2_gain 。


float band_2_frequency = 320.0

控制 band_2_frequency 。


float band_2_q = 0.707

控制 band_2_q 。


FilterType band_2_filter_type = 9

控制 band_2_filter_type 。


float band_3_gain = 0.0

控制 band_3_gain 。


float band_3_frequency = 1000.0

控制 band_3_frequency 。


float band_3_q = 0.707

控制 band_3_q 。


FilterType band_3_filter_type = 9

控制 band_3_filter_type 。


float band_4_gain = 0.0

控制 band_4_gain 。


float band_4_frequency = 3200.0

控制 band_4_frequency 。


float band_4_q = 0.707

控制 band_4_q 。


FilterType band_4_filter_type = 9

控制 band_4_filter_type 。


float band_5_gain = 0.0

控制 band_5_gain 。


float band_5_frequency = 10000.0

控制 band_5_frequency 。


float band_5_q = 0.707

控制 band_5_q 。


FilterType band_5_filter_type = 9

控制 band_5_filter_type 。


方法说明#

void set_preset(preset: Preset)

设置 preset 。


Preset get_preset() const

返回 preset 。


int get_band_count() const

返回当前均衡器的频段数量。


void set_band_gain_db(band_idx: int, gain_db: float)

设置指定频段的增益,单位为分贝。


float get_band_gain_db(band_idx: int) const

返回指定频段的增益,单位为分贝。


void set_band_frequency(band_idx: int, frequency: float)

设置指定频段的中心频率。


float get_band_frequency(band_idx: int) const

返回指定频段的中心频率。


void set_band_filter_type(band_idx: int, filter_type: FilterType)

设置指定频段的滤波器类型。 (参见 FilterType )


FilterType get_band_filter_type(band_idx: int) const

返回指定频段的滤波器类型。 (参见 FilterType )


void set_band_q(band_idx: int, q: float)

设置指定频段的 Q 值。


float get_band_q(band_idx: int) const

返回指定频段的 Q 值。