2012-02-12 193 views

回答

3

您的問題很難理解。 MIDI文件不「播放」音頻文件。我假設你正在渲染MIDI文件來創建一個音頻文件。

要更改MIDI文件的音高,請將MIDI文件中的所有音符個別轉置爲更高或更低的音高。

David's MIDI spec作爲快速參考可能很有用。

+1

爲了得到更具體一點,注意的第一個字節或音符關在場上。要進行轉置,請將等於音樂半步數的數量添加到該字節值。 – 2012-02-13 00:52:39

+0

好點菲爾。 – Shannon 2012-02-13 03:40:06

1

在MIDI標準中,您可以通過發送彎音短信來控制音高。

這是怎麼回事should look like在Java中:

int pitchBendValue; 
long eventMoment; 
ShorMessage pitchMessage = new ShortMessage(); 
pitchMessage.setMessage(ShortMessage.PITCH_BEND, channel, 7, pitchBendValue); 
receiver.send(pitchMessage, eventMoment);