Я пытаюсь написать Java-программу, которая считывает данные с изображения и превращает его в MIDI-данные.Я дошел до того, что создал несколько треков с должными миди-нотами и сообщениями-заметками.Однако я также хочу записывать непрерывные данные контроллера для каждой дорожки (неиспользуемый ползунок или регулятор, а не один из заранее определенных каналов, таких как modwheel или pitchbend).Я предполагаю, что мне нужно сделать что-то с коротким сообщением CONTROL_CHANGE, но я могу ошибаться.(http://docs.oracle.com/javase/7/docs/api/javax/sound/midi/ShortMessage.html#CONTROL_CHANGE). На самом деле у меня нет знаний по Java-программированию, чтобы понять это. Вот что я имею до сих пор для создания примечаний о включении / выключении 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);
}