Создание миди-файлов в Python, которые являются полифоническими и разными инструментами

Я ищу миди-библиотеку в Python, которая позволила бы мне создать полифонический миди-файл с использованием различных инструментов.

То, что здесь рекомендуется, это MidiUtil. Хотя, кажется, есть поддержка полифонии, я не могу изменить инструмент с фортепиано.

Кто-нибудь может порекомендовать альтернативную миди-библиотеку или посоветовать, как сменить инструмент?

1 ответ

Решение

Для этого каждый из разных тембров, которые вы хотите использовать в своем файле, должен иметь свои события на отдельном MIDI-канале. Прежде чем какие-либо ноты звучат на каждом канале, используйте addProgramChange()метод объекта MIDIFIle, чтобы выбрать правильный патч на каждом канале.

addProgramChange (трек, канал, время, программа)

Добавьте событие изменения программы MIDI.

использование MyMIDI.addProgramChange(track,channel, time, program)

аргументы

дорожка: дорожка, к которой добавляется событие. [Целое число, 0-127].
канал: канал, которому назначено событие. [Целое число, 0-15].
время: время, когда событие добавляется, в тактах. [Поплавок].
программа: номер программы. [Целое число, 0-127].

См. http://www.emergentmusics.org/mididutil-class-reference для документации всех методов, поддерживаемых этим классом.

Другие вопросы по тегам