Midi от Python для студии FruityLoops - PullRequest
1 голос
/ 13 августа 2010

я работаю над проектом и я хочу создать виртуальный миди-вход с python для flstudio (fruityloops) Я немного погуглил, но все модули, которые я смог найти, были о создании миди-файлов, что не моя проблема.

так какой модуль я должен использовать для ввода / вывода MIDI с Python?

Ответы [ 2 ]

2 голосов
/ 06 июня 2016

Я просто хотел выполнить вашу задачу и наткнулся на 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. Надеюсь, это было полезно.

2 голосов
/ 30 августа 2010

Ахмет, я рекомендую MIDI Yoke для этого. Создание драйвера виртуального MIDI-устройства - непростая задача, и вы не будете этим заниматься с Python.

http://www.midiox.com/myoke.htm

Изменить 2011: Некоторые вещи изменились за последний год. Я рекомендую использовать драйвер Тобиаса Эриксена, который позволяет создавать виртуальные порты и отправлять на них данные. Если вы можете использовать DLL, вы можете использовать его драйвер.

Информация здесь: http://www.tobias -erichsen.de / rtpMIDI.html

Свяжитесь с ним для API.

...