나는이 MIDI.js 라이브러리를 사용하고 있습니다 : https://github.com/mudcube/MIDI.js어떻게 미디 파일을 트랜스 포즈합니까?
이 플러그인을로드하고 미디 파일을 재생하기를, 나는이 일을 해요 :
window.onload = function() {
MIDI.loadPlugin({
soundfontUrl: "./soundfont/",
instruments: [ "acoustic_grand_piano" ],
callback: function() {
MIDI.programChange(0, 0);
_player = MIDI.Player;
}
});
};
function playSong(){
_player.timeWarp = 1; // speed the song is played back
_player.loadFile(song[songid], _player.start);
_player.addListener(function(data) {
var now = data.now; // where we are now
var end = data.end; // time when song ends
var channel = data.channel; // channel note is playing on
var message = data.message; // 128 is noteOff, 144 is noteOn
var note = data.note; // the note
var velocity = data.velocity; // the velocity of the note
});
}
var songid = 0;
var song = ['data:audio/mid;base64,TVRoZAAAAA...
제 질문은 재생하기 전에이 미디 파일을 조 변경하려면 무엇입니까? 기본적으로 midi 파일 (.mid 파일 또는 base64 형식)을 구문 분석하고 +1로 모든 노트를 변경 한 다음 플레이어에게 보냅니다. 어떤 방법으로 자바 스크립트 에서이 일을?