Я просто хотел выполнить вашу задачу и наткнулся на python "mido library" . С этой страницы вы видите:
import mido
output = mido.open_output()
output.send(mido.Message('note_on', note=60, velocity=64))
Я полагаю, что предполагается, что устройство по умолчанию установлено, поэтому вам может потребоваться запустить:
names = mido.get_output_names()
print(names)
Чтобы посмотреть, какие устройства midi доступны для вывода. Как только вы знаете, как называется ваше устройство, вы можете сделать:
output = mido.open_output(names[indexOfYourDeviceHere])
output.send(mido.Message('note_on', note=60, velocity=64))
Теперь, как этот интерфейс с FL Studio? Я установил LoopBe1 Virtual Midi Driver , и поэтому, когда я запускаю приведенный выше код, появляется внутреннее устройство LoopBe Midi. Точно так же в FL Studio я включил внутреннее MIDI-устройство LoopBe. Таким образом, когда ваша программа на Python записывает данные на устройство, FL Studio считывает их как ввод midi!
Увы, у меня были некоторые проблемы с настройкой мидо на моем компьютере с Windows, и я подумал, что дам вам указатель. Для чтения или записи на устройства midi вам необходимо установить «mido backend». В Linux я просто следовал инструкциям на их странице установки, чтобы установить portmidi, и он отлично работал.
Однако для windows у меня было МНОГО проблем, когда я пытался работать с portmidi или другим вариантом. В конце концов я решил установить pygame (третий вариант) для Windows, а затем установить его в качестве моего бэкэнда, используя:
mido.set_backed("mido.backends.pygame")
Тогда все работало нормально на Windows. Вы можете найти Pygame для Windows, а также страницу установки Mido легко путем поиска в Google. Надеюсь, это было полезно.