我正在嘗試編寫一個Java程序,用於從圖像讀取數據並將其轉換爲MIDI數據。我已經創建了多個音軌,並帶有適當的MIDI音符和音符消息。但是,我也想將連續控制器數據寫入每個軌道(一個未使用的滑塊或旋鈕,而不是諸如modwheel或pitchbend之類的預定通道)。我假設我需要用CONTROL_CHANGE ShortMessage做一些事情,但我可能是錯的。 (http://docs.oracle.com/javase/7/docs/api/javax/sound/midi/ShortMessage.html#CONTROL_CHANGE)。我真的沒有java編程知識來解決這個問題。這是我迄今爲止創建音符開/關MIDI數據。我假設連續的控制器數據將是一個類似的設計。任何幫助,將不勝感激。將連續控制器數據寫入MIDI文件
private static MidiEvent createNoteOnEvent(int nKey, long lTick)
{
return createNoteEvent(ShortMessage.NOTE_ON,
nKey,
VELOCITY,
lTick);
}
private static MidiEvent createNoteOffEvent(int nKey, long lTick)
{
return createNoteEvent(ShortMessage.NOTE_OFF,
nKey,
0,
lTick);
}
private static MidiEvent createNoteEvent(int nCommand,
int nKey,
int nVelocity,
long lTick)
{
ShortMessage message = new ShortMessage();
try {
message.setMessage(nCommand,
0,
nKey,
nVelocity);
}
catch (InvalidMidiDataException e)
{
e.printStackTrace();
System.exit(1);
}
MidiEvent event = new MidiEvent(message,
lTick);
return event;
}
private static void out(String strMessage)
{
System.out.println(strMessage);
}
找出來,以防其他人遇到同樣的問題: – 2012-03-10 19:15:49