샘플 악기 만들기
한 음원으로 모든 건반을 같은 방식으로 울리면 악기의 강약과 음역 차이를 표현하기 어렵습니다. 이 도구는 로컬 샘플을 최대 8개 읽고 각 샘플의 기준 MIDI 음, 적용할 낮은·높은 음, 연주 강도 범위와 공격·해제 시간을 편집합니다. 건반을 누르면 해당 구간의 실제 샘플을 선택하고 반음당 2^(1/12) 비율로 재생 속도를 바꿉니다. 같은 음에서 최대 8개 동시 재생하며 원본 파일·SHA-256·구간 설정을 ZIP으로 함께 내려받습니다. 범용 SFZ/SF2 파일로 변환하거나 루프·크로스페이드·시간 늘리기를 하지는 않습니다.
주요 기능
- WAV·MP3·OGG·FLAC·M4A 등 브라우저가 디코딩할 수 있는 로컬 샘플 최대 8개를 읽고 원본 바이트의 SHA-256을 계산합니다.
- 기준 MIDI 음·적용 음역·1~127 강도 구간·샘플 게인·공격/해제 시간을 샘플별 최대 16개 구역에 배치합니다.
- 24개 화면 건반을 포인터나 키보드로 누르고 떼며 동시에 최대 8음을 연주합니다.
- 겹치는 구역은 좁은 음역, 좁은 강도 범위, 목록 순서로 선택하고 겹침 개수를 알립니다.
- 매핑 JSON과 원본 파일·SHA-256이 포함된 ZIP 패키지를 저장합니다.
사용 방법
- 샘플 파일을 선택하거나 강도별 C4 WAV 두 개 예제를 불러오세요.
- 샘플마다 기준 음·최저/최고 음·강도 범위·게인·공격/해제를 조정하고 필요하면 구역을 추가하세요.
- 강도 슬라이더를 움직이고 화면 건반을 누르고 떼며 다른 레이어와 음높이를 들어 보세요.
- 매핑 JSON 또는 원본 음원과 해시가 함께 들어간 ZIP을 저장해 결과를 보관하세요.
활용 예시
- 약하게 누를 때와 세게 누를 때 다른 타격음 샘플이 나오도록 배치합니다.
- 악기의 낮은 음역과 높은 음역에 별도 녹음 샘플을 연결합니다.
- 음원 원본의 SHA-256과 매핑 설정을 함께 기록해 다른 제작 환경에 옮깁니다.
자주 묻는 질문
구역이 겹치면 어떤 샘플을 재생하나요?
현재 MIDI 음과 강도에 맞는 구역 중 음 범위가 더 좁은 것을 먼저 고르고, 같으면 강도 범위가 더 좁은 것, 그래도 같으면 화면/JSON 목록에서 앞선 구역을 선택합니다. 겹침을 화면에 알리므로 의도한 소리인지 건반으로 확인하세요.
기준 MIDI 음과 재생 음은 어떻게 연결되나요?
기준 음에서는 원본 속도 1배이고 반음 차이마다 2^(차이/12)배로 재생합니다. 적용 구역은 기준 음에서 최대 36반음 이내로 제한합니다. 이렇게 재생하면 음높이와 재생 길이가 함께 변하며 별도 시간 늘리기는 하지 않습니다.
건반을 뗐는데 소리가 이미 끝났다면 어떻게 되나요?
샘플은 원샷으로 재생됩니다. 샘플이 먼저 끝나면 더 연장할 수 없습니다. 아직 재생 중일 때 건반을 떼면 구역의 해제 시간 동안 게인을 내려 정지합니다. 탭을 떠나거나 중지 버튼을 누르면 활성 음을 정리합니다.
어떤 파일과 크기 제한이 있나요?
파일당 4MiB, 전체20MiB, 최대8개를 받습니다. 브라우저가 실제 디코딩한 샘플은 0.03~10초, 모노/스테레오, 8~96kHz 및 최대96만 프레임이어야 합니다. 코덱 지원은 브라우저마다 다릅니다.
ZIP 안에 무엇이 들어 있나요?
원본 오디오 바이트가 samples 폴더에 보존되고 instrument-map.json에는 각 원본의 파일 이름·경로·바이트 길이·SHA-256·디코딩 정보와 모든 음역·강도 구역이 들어갑니다. 범용 악기 형식은 아니며 다른 프로그램에서 매핑 규칙을 적용해야 합니다.
파일이 서버에 전송되나요?
아니요. 읽기·디코딩·SHA-256 계산·건반 재생·ZIP 만들기는 브라우저에서 처리합니다. 내보내기 버튼을 누를 때만 기기에 파일을 저장합니다.
개인정보 안내
선택한 음원은 브라우저 메모리에서만 읽고 서버로 전송하지 않습니다. 매핑 JSON에는 원본 오디오 샘플이 없고 SHA-256과 메타데이터만 담습니다. ZIP은 사용자가 저장 버튼을 눌렀을 때만 원본 바이트를 기기에 내려받습니다. 페이지를 닫으면 오디오 그래프와 임시 URL을 정리합니다.
댓글과 질문