저는 자바 미디을 처음 접했습니다. 문제가 생겼습니다. 각 트랙에 사용 된 각 악기의 이름으로 몇 개의 라벨을 설정하고 MIDI 파일을로드하고 싶습니다. 예를 들어 MIDI 파일에 5 개의 트랙이 있다면 (각 트랙에는 하나의 악기 만 있습니다.) 각 트랙에 사용 된 악기의 이름이있는 5 개의 레이블이 있습니다.로딩 악기
MIDI 파일 (기능, 방법 ...)의 각 트랙에 어떤 악기가 사용되었는지 확인할 수있는 방법이 있습니까?
저는 자바 미디을 처음 접했습니다. 문제가 생겼습니다. 각 트랙에 사용 된 각 악기의 이름으로 몇 개의 라벨을 설정하고 MIDI 파일을로드하고 싶습니다. 예를 들어 MIDI 파일에 5 개의 트랙이 있다면 (각 트랙에는 하나의 악기 만 있습니다.) 각 트랙에 사용 된 악기의 이름이있는 5 개의 레이블이 있습니다.로딩 악기
MIDI 파일 (기능, 방법 ...)의 각 트랙에 어떤 악기가 사용되었는지 확인할 수있는 방법이 있습니까?
배치에서 각 트랙을 분리하면이를 재생할 악기를 결정하는 두 가지 다른 방법이 있습니다.
하나는 ID가 0x04
인 MIDI 메타 메시지가 악기 이름과 함께 문자열로 표시된다는 것입니다. 자세한 내용은 great page detailing the MIDI file format을 참조하십시오.
두 번째 방법은 트랙 시작 부분에 MIDI 프로그램 변경 메시지가 표시된다는 것입니다. MIDI 파일이 GM (일반 MIDI) 악기를 사용하도록 설정되었다고 가정하면 프로그램 변경 메시지의 데이터를 GM instrument에 연결할 수 있습니다.
프로그램 변경은 MIDI 트랙의 어느 곳에서나 나타날 수 있으므로 시퀀서는 그에 따라 처리해야합니다. 야생에서 볼 수있는 대부분의 MIDI 파일은 트랙 중간에서 프로그램 변경 사항을 사용하지 않지만 표준에 따라 허용되며 발생할 수 있음을 명심하십시오.
Sequence
입니다.Track
시퀀스의 개체를 가져옵니다.MidiEvent
개체를 확보하십시오.MidiMessage
을 받으십시오. 여기에는 (다른 것들 중에서) 도구 변경에 대한 정보가 포함됩니다.