У меня есть миди-файл для аудиофайла. Я хочу знать, какие компоненты этого MIDI-файла я должен изменить, чтобы воспроизвести этот аудиофайл с более высоким или более низким тоном, чем исходный тон
как изменить высоту звука аудиофайла, манипулируя его миди-данными
Ответы (2)
Ваш вопрос трудно понять. MIDI-файлы не «воспроизводят» аудиофайлы. Я предполагаю, что вы визуализируете файл MIDI для создания аудиофайла.
Чтобы изменить высоту тона вашего MIDI-файла, транспонируйте все ноты в MIDI-файле по отдельности на более высокую или более низкую высоту тона.
спецификация MIDI Дэвида может быть полезна в качестве быстрого справочника.
person
Shannon Matthews
schedule
12.02.2012
Чтобы быть более конкретным, первый байт Note On или Note Off — это высота тона. Чтобы транспонировать, добавьте к этому значению байта количество, равное количеству музыкальных полутонов.
- person Phil Freihofner; 13.02.2012
В стандарте MIDI вы можете управлять высотой тона, отправляя короткое сообщение изменения высоты тона.
Вот как это должно выглядеть в Java:
int pitchBendValue;
long eventMoment;
ShorMessage pitchMessage = new ShortMessage();
pitchMessage.setMessage(ShortMessage.PITCH_BEND, channel, 7, pitchBendValue);
receiver.send(pitchMessage, eventMoment);
person
EuAndreh
schedule
09.12.2012