Простая, кросс-платформенная библиотека MIDI для [закрытого] Python

Для меня проблема заключалась в том, что когда я скопировал решение в новую папку и открыл его, в нем отсутствовала папка Nuget, как показано ниже. Я скопировал эту папку, и все сработало. Примечание. Эта же папка была в нашем исходном элементе управления, но не в этом проекте решений, это был один каталог.

26
задан Cristian 20 February 2009 в 11:54
поделиться

5 ответов

Библиотека Midiutil (размещена здесь в Google Code) делает то, что вы хотите: напишите файлы MIDI из чистой библиотеки Python. Однажды хорошая вещь об этом (и полное раскрытие информации: я автор) заключается в том, что вам не нужно следить за средними событиями нижнего уровня, такими как Note-On и Note-Off: это обрабатывает их для вас.

Как пример написать записку, вы сделаете что-то вроде:

MyMIDI = MIDIFile(1)
track = 0
channel = 0
pitch = 60
time = 0
duration = 1
volume = 100
MyMIDI.addNote(track,channel,pitch,time,duration,volume)

Надеюсь, это поможет

33
ответ дан 28 November 2019 в 06:36
поделиться

pyPortMidi является оберткой Python PortMidi, который описан как "межплатформенная библиотека C для управления MIDI в реальном времени". Я не использовал его сам, но это выглядит очень перспективным. Явное упоминание о способности представить данные MIDI, в реальном времени.

8
ответ дан unwind 15 October 2019 в 07:32
поделиться

Взгляд cSounds.

-3
ответ дан S.Lott 15 October 2019 в 07:32
поделиться

Midi support (in and out) has been added to pyGame 1.9, though it's mainly in the development stage and isn't very well documented yet, but it works.

Midi support is also being developed in the pyGame successor, pgreloaded (or pygame2).

Also note that even though pyGame has 'game' in the title, its uses stretch far beyond just game design.

4
ответ дан 28 November 2019 в 06:36
поделиться

Я искал библиотеку на чистом Python для генерации файла MIDI, mxm MIDI-библиотека Python как раз и есть.

Из этот фрагмент dzone , имеется однофайловая версия указанной выше библиотеки, smidi.py ( здесь для потомков)

Использование довольно простое:

>>> import smidi
>>> m = smidi.MidiOutFile('out.mid')
>>> m.header()
>>> m.start_of_track()
>>> m.update_time(0)
>>> m.note_on(note=0x40)  # single note
>>> m.update_time(192)
>>> m.note_off(note=0x40) # stop it after 192
>>> m.update_time(0)
>>> m.end_of_track()
>>> m.eof()

Предположительно работает в Windows (поскольку в исходном примере в качестве имени выходного файла используется C: \ out.mid ), я тестировал его на OS X

10
ответ дан 28 November 2019 в 06:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: