오디오 효과 타입(Enum AudioEffectType)
GameMaker에서 제공하는 빌트인 Enum 중 하나인 AudioEffectType에 대해 설명합니다. 이 Enum에서 값을 audio_effect_create 함수에 전달하면 생성할 오디오 효과의 유형을 결정할 수 있습니다. 아래는 현재 선택할 수 있는 오디오 효과 목록입니다. 각 효과에 대해 설정할 수 있는 매개변수는 AudioEffect Struct를 참조해 주세요.
오디오 효과 목록
| 효과 타입 | 설명 |
|---|---|
| Bitcrusher | 왜곡 효과로, 입력 신호에 순서대로 Gain → Clipper → 샘플 레이트 축소 → 해상도 축소를 적용합니다. |
| Delay | 입력 신호를 지정된 시간만큼 지연시키고, 이 지연된 버전을 원본 신호와 혼합합니다. |
| Gain | 입력 신호를 주어진 게인 계수로 증폭하는 효과입니다. |
| HPF2 (High-pass) | 높은 주파수를 통과시키고 낮은 주파수를 음소거하는 고역 통과 필터입니다. |
| LPF2 (Low-pass) | 낮은 주파수를 통과시키고 높은 주파수를 음소거하는 저역 통과 필터입니다. |
| Reverb1 | 원본 신호와 반향된 신호를 결합하는 반향 효과입니다. |
| Tremolo | 저주파 발진기(LFO)를 사용하여 오디오 파라미터의 진폭을 조절하는 효과입니다. |
| EQ | 여러 필터를 결합하여 오디오의 주파수 콘텐츠를 수정하는 파라메트릭 EQ 효과입니다. |
| PeakEQ | 특정 중앙 주파수를 기준으로한 이득으로 스펙트럼에서 피크 또는 dip을 생성하는 필터입니다. |
| HiShelf | 모든 주파수를 통과시키지만, 기준 주파수 이상에서 이득을 조절하는 필터입니다. |
| LoShelf | 모든 주파수를 통과시키지만, 기준 주파수 이하에서 이득을 조절하는 필터입니다. |
| Compressor | 오디오의 다이나믹 레인지를 줄여 출력의 레벨 차이를 작게 만드는 효과입니다. |
오디오 효과 활용 예제
Bitcrusher 사용 예제
var bitcrusherEffect = audio_effect_create(AudioEffectType.Bitcrusher);
audio_effect_set_gain(bitcrusherEffect, 0.5);
audio_effect_set_sample_rate_reduction(bitcrusherEffect, 4);
audio_effect_set_resolution_reduction(bitcrusherEffect, 2);
Delay 사용 예제
var delayEffect = audio_effect_create(AudioEffectType.Delay);
audio_effect_set_delay(delayEffect, 0.5); // 0.5초 지연
Gain 사용 예제
var gainEffect = audio_effect_create(AudioEffectType.Gain);
audio_effect_set_gain(gainEffect, 2.0); // 2배 증폭
HPF (고역 통과 필터) 사용 예제
var hpfEffect = audio_effect_create(AudioEffectType.HPF2);
audio_effect_set_cutoff_frequency(hpfEffect, 2000); // 2000 Hz에서 걸러냄
LPF (저역 통과 필터) 사용 예제
var lpfEffect = audio_effect_create(AudioEffectType.LPF2);
audio_effect_set_cutoff_frequency(lpfEffect, 300); // 300 Hz에서 걸러냄
Reverb 사용 예제
var reverbEffect = audio_effect_create(AudioEffectType.Reverb1);
audio_effect_set_room_size(reverbEffect, 0.5); // 방 크기 설정
Tremolo 사용 예제
var tremoloEffect = audio_effect_create(AudioEffectType.Tremolo);
audio_effect_set_rate(tremoloEffect, 5); // 5Hz로 진폭 조절
EQ 사용 예제
var eqEffect = audio_effect_create(AudioEffectType.EQ);
audio_effect_set_parametric(eqEffect, 500, 2.0); // 500 Hz에서 이득 2.0
이와 같은 방법으로 다양한 오디오 효과를 생성하고 설정할 수 있습니다. 각 효과의 매개변수를 조정하여 원하는 사운드를 만들어보세요.