Я рекомендую против Drupal из-за его неэффективности. Да, это может сделать почти что-либо, но это медленно делает это. Для любого, но самого простого из сайтов, drupal не создаст почти столь эффективную цепочку запросов и страниц, как сделанный на заказ сайт будет. Что-то, что может быть сделано вручную с двумя соединениями SQL и единственным циклом PHP, вероятно, будет обработано Drupal с пятью соединениями и вложенным циклом.
Однако я люблю Drupal и продолжу использовать его в некорпоративной среде, и я не могу рекомендовать никакой другой CMS, который не имеет подобных проблем, когда подарено сложные задачи.
PyGame включает встроенный midi-модуль , доступный для Linux, Windows и MacOS и очень хорошо поддерживаемый.
Например, вот документация для pygame.midi.Input :
Input is used to get midi input from midi devices.
Input(device_id)
Input(device_id, buffer_size)
Input.close - closes a midi stream, flushing any pending buffers. closes a midi stream, flushing any pending buffers.
Input.poll - returns true if there's data, or false if not. returns true if there's data, or false if not.
Input.read - reads num_events midi events from the buffer. reads num_events midi events from the buffer.
Если вы ищете альтернативу, посмотрите PythonInMusic в вики Python.
Существуют различные проекты связанные с вводом и выводом MIDI, некоторые также для Windows. (Щелкайте маленький значок> после каждого проекта, чтобы перейти по ссылке на домашнюю страницу проекта)
Я не использовал ни один из них лично, но уверен, что это поможет вам начать работу.