MIDI에서 SFZ 포맷이란?
MIDI에서 SFZ 포맷이란?
SFZ 포맷
SFZ 파일은 가상 악기용 샘플 기반 음원을 정의하는 텍스트 기반 포맷입니다. 주로 **샘플러(VSTi 등)**에서 다양한 악기 소리를 재생하기 위해 사용됩니다.
🔍 SFZ란?
- 확장자:
.sfz - 형식: 텍스트(ASCII)
- 역할: 오디오 샘플(WAV 등)의 배치/맵핑 정보를 정의
- 개발자: Cakewalk (RGC:audio)
🎵 어떻게 동작하나요?
- 여러 개의 WAV 샘플이 있음 (예: 각 음정별로 녹음된 피아노 소리).
sound.sfz파일에서 각 샘플을 어떤 음정, 어떤 속도, 어떤 벨로시티에서 재생할지를 정의.- 샘플러(예: Sforzando, ARIA, Kontakt 등)가
.sfz를 읽어 악기처럼 재생.
예시:
<region>
sample=note_C4.wav
lokey=60
hikey=60
pitch_keycenter=60
이건 C4(MIDI 60)에서만 note_C4.wav 샘플이 재생되도록 설정한 예입니다.
📌 SFZ의 특징
| 장점 | 단점 |
|---|---|
| 텍스트 기반으로 가볍고 수정 쉬움 | GUI 지원 부족 (직접 코딩해야 함) |
| 무료 사용 및 확장 용이 | 복잡한 기능은 표현에 제약이 있음 |
| 다양한 무료/유료 라이브러리 존재 | 제작 시 구조를 잘 이해해야 함 |
🔧 어디에 쓰이나요?
- 디지털 오디오 워크스테이션(DAW)에서 가상악기 로딩
- 무료/오픈소스 샘플러에서 악기 정의
- 게임 사운드 또는 개인 음악 제작용
🧾 코드 예제
<group>lokey=0 hikey=127 pitch_keycenter=57 pitch_keytrack=100
<region>lovel=000 hivel=127 amp_velcurve_127=1 loop_mode=loop_continuous loop_start=0 loop_end=220 sample=basicSamples/saw220.wav
🔍 해설
1. <group> 라인
<group>lokey=0 hikey=127 pitch_keycenter=57 pitch_keytrack=100
<group>: 이 뒤에 오는<region>들에 공통으로 적용될 설정을 정의합니다.lokey=0: 이 그룹의 음역 최소값은 MIDI 키 0 (C-1)입니다.hikey=127: 최대값은 MIDI 키 127 (G9)입니다. → 모든 건반에 적용됨pitch_keycenter=57: 이 샘플의 기준 피치는 MIDI 57 (A3)입니다.pitch_keytrack=100: 피치 트래킹 100% → 누르는 키에 따라 정확히 해당 음정으로 피치 변경됩니다.
2. <region> 라인
<region>lovel=000 hivel=127 amp_velcurve_127=1 loop_mode=loop_continuous loop_start=0 loop_end=220 sample=basicSamples/saw220.wav
<region>: 실제 샘플을 매핑하는 설정입니다.lovel=000/hivel=127: 이 region은 모든 velocity(세기) 구간(0~127)에서 작동합니다.amp_velcurve_127=1: velocity가 127일 때는 **볼륨 1.0(최대)**로 재생됩니다. → velocity에 따른 볼륨 곡선을 정의하는 파라미터.loop_mode=loop_continuous: 샘플을 끝없이 루프 재생합니다.loop_start=0/loop_end=220: 0프레임부터 220프레임까지 루프합니다. → wav 파일 내에서 해당 영역이 반복됨.sample=basicSamples/saw220.wav: 실제 재생할 샘플 파일 경로입니다. →basicSamples폴더에 있는saw220.wav라는 웨이브 파일 사용.
🎹 결과적으로 어떤 소리가 나나요?
- 사용자가 어떤 키를 누르든 (
0~127), 어떤 velocity로 누르든 (0~127) saw220.wav파일이 기준음 A3로 pitch-shift 되어 재생됨.- 소리는 0~220 프레임 사이를 무한 루프하며 지속됨.
- velocity가 클수록 소리 크기는 커짐 (최대 127에서 1.0)
This post is licensed under
CC BY 4.0
by the author.