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) |
get_preset() const |
|
get_band_count() const |
|
void |
set_band_gain_db(band_idx: int, gain_db: float) |
get_band_gain_db(band_idx: int) const |
|
void |
set_band_frequency(band_idx: int, frequency: float) |
get_band_frequency(band_idx: int) const |
|
void |
set_band_filter_type(band_idx: int, filter_type: FilterType) |
get_band_filter_type(band_idx: int) const |
|
void |
set_band_q(band_idx: int, q: 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 值。