Извлечение начала нот из MIDI - PullRequest
0 голосов
/ 28 мая 2010

Мне нужно извлечь музыкальные особенности (ноты -> высота, длительность, ритм, громкость, время начала ноты) из полифонического (имеющего 2 партитуры для высоких и низких частот - также могут быть аккорды) MIDI-файла. Я использую API jMusic для извлечения этих деталей из файла MIDI. Мой подход состоит в том, чтобы проходить каждую партитуру, разбивать ее на части, затем фразы и, наконец, заметки и извлекать детали.

При моем подходе сначала читаются все ноты высоких частот, а затем ноты баса - но аккорды не фиксируются (т. Е. Берется только одна нота аккорда), и я не могу определить, с какой точки ноты баса , Поэтому я попытался получить начало нот (т.е. время начала воспроизводимой ноты), поскольку время начала как высоких, так и низких нот в начале пьесы должно быть одинаковым - но я не могу извлечь начало ноты, используя jMusic API. Для каждой ноты отображается 0.0.

Можно ли как-то определить голос (высокие или низкие частоты) ноты? А также все ноты аккорда? Как звучит голос или нота для каждой ноты, хранящейся в MIDI? Это отличается для каждого файла MIDI?

Любое понимание очень ценится. Заранее спасибо

1 Ответ

2 голосов
/ 01 июня 2010

Возможно, вы захотите взглянуть на этот вопрос: Фактическая длительность ноты от длительности MIDI

Где обсуждается возможный подход к извлечению заметок из файла midi.

Учтите, что MIDI-файл может быть разбит на несколько дорожек (промежуточный файл типа 1).

После того, как вы определили ноты, определить аккорды все еще сложно. Скажем, у вас есть 3 ноты: C, E, G, происходящие «в одно и то же время» (т. Е. Идентифицированные как звук в одной и той же точке меры). Когда их следует считать до мажорным аккордом?

  • играет на том же канале
  • играется на одном и том же инструменте (даже если на разных каналах)
  • воспроизводится на одном и том же канале, даже если они появляются на разных дорожках

Формат Midifile очень прост (может быть, даже слишком прост!) Я предлагаю вам взглянуть на его описание здесь: http://duskblue.org/proj/toymidi/midiformat.pdf

...