MIDI 피아노롤 편집기
MIDI 파일은 녹음된 소리가 아니라 시간별 연주 이벤트를 담습니다. 이 편집기는 4/4박자 16마디를 피아노롤에 표시하고 각 노트의 MIDI 음높이·시작·길이·벨로시티·채널·트랙을 정확히 편집합니다. 격자를 눌러 노트를 만들거나 수치 입력으로 수정하고, 다른 음높이의 노트를 동시에 배치할 수 있습니다. 박자 위치마다 템포도 설정합니다. 브라우저 미리 듣기는 단순 사인파로 타이밍을 확인하는 용도이며 다른 MIDI 연주기의 음색과 다릅니다. 지원 범위의 MIDI 1 표준 MIDI 파일 형식 0·1을 가져오고, 템포 전용 트랙과 각 노트 트랙이 있는 형식 1 파일을 저장합니다.
주요 기능
- 4박자 16마디에 노트를 그리거나 선택하고 한 번에 4마디·2옥타브를 봅니다.
- 시작·길이·MIDI 음높이 0~127·벨로시티 1~127·채널 1~16·최대 4트랙을 편집합니다.
- 0~64박 위치에 40~240BPM 템포 이벤트를 추가·교체·삭제합니다.
- 템포 변화와 서로 다른 음높이의 중첩 연주를 따르는 Web Audio 사인파로 미리 듣습니다.
- 표준 MIDI 형식 0·1을 가져오고 유효한 형식 1 .mid, 피아노롤 PNG, 노트 시간 CSV를 저장합니다.
사용 방법
- 두 트랙 예제를 불러오거나 .mid 파일을 가져오고, 빈 격자를 눌러 노트를 만듭니다.
- 트랙·4마디 구간·음역을 고르고 격자나 목록의 노트를 선택해 정확한 값을 수정합니다.
- 박자 위치에 템포 이벤트를 추가·교체하고 로컬 미리 듣기로 타이밍을 확인합니다.
- MIDI 파일, 보이는 피아노롤 PNG, 시작·종료 시간 CSV를 저장하고 필요하면 MIDI를 다시 불러옵니다.
활용 예시
- 멜로디와 베이스를 다른 트랙·채널에 배치해 짧은 구절을 만듭니다.
- 노트를 16분음표만큼 옮기며 길이와 벨로시티 차이를 비교합니다.
- 작은 기존 MIDI 파일의 노트와 템포맵을 확인·수정한 뒤 다른 음악 프로그램에서 사용합니다.
자주 묻는 질문
미리 듣기가 MIDI 파일의 최종 음색과 같은가요?
아니요. 이 페이지는 Web Audio 사인파로 노트를 미리 듣습니다. .mid 파일에는 노트·벨로시티·채널·트랙·템포 이벤트가 들어가지만 샘플 음원은 없습니다. 다른 MIDI 연주기의 악기가 소리를 정하며, 10번 타악기 채널도 여기서는 사인파로 들립니다.
어떤 MIDI 파일을 가져올 수 있나요?
MIDI 1 표준 MIDI 파일 형식 0·1과 PPQ 24~1920 타이밍을 지원합니다. 파일은 최대 1MB, 16마디, 노트 128개, 노트 트랙 4개, 템포 이벤트 32개입니다. SMPTE 시간 분할, MIDI 2.0 UMP, SysEx 편집, 같은 채널·트랙·음높이의 모호한 중첩은 제외합니다. 다른 채널 이벤트는 건너뜁니다.
노트를 겹쳐 배치할 수 있나요?
네. 다른 음높이·트랙·채널의 노트는 겹치고 함께 재생됩니다. 같은 트랙·채널·음높이의 노트가 겹치면 MIDI note-off의 짝을 알 수 없어 거부합니다.
템포 변화는 어떻게 저장되나요?
템포 이벤트는 정수 마이크로초/박으로 저장하며 0틱에서 시작합니다. 미리 듣기는 구간별 시간을 적분합니다. 저장 파일은 템포 전용 트랙에 Set Tempo 메타 이벤트를 쓰며 노트의 틱 위치와 길이를 보존합니다.
가져온 파일에 지원 범위 밖 데이터가 있으면 어떻게 되나요?
노트나 템포를 조용히 잘라내지 않고 오류로 거부합니다. 지원 범위 안에서는 노트 음높이·시간·벨로시티·채널·템포를 유지합니다. 프로그램 변경·컨트롤러 등 다른 이벤트는 저장 시 보존하지 않습니다.
MIDI 파일이 서버에 올라가나요?
아니요. 읽기·편집·미리 듣기·파일 생성은 브라우저 메모리에서 이뤄집니다. 내보내기 버튼을 눌렀을 때만 파일 다운로드를 만듭니다.
개인정보 안내
가져온 MIDI 데이터는 이 브라우저 탭에만 남고 앱 API로 전송되지 않습니다. 로컬 미리 듣기의 임시 Web Audio 발진기는 페이지를 떠나면 정리됩니다.
댓글과 질문