Python: воспроизведение миди-заметок, передаваемых в порт - PullRequest
1 голос
/ 14 июля 2020

Я хотел бы сыграть музыку c в реальном времени с Python. Библиотека mido имеет возможность передавать заметки в порт midi на моем компьютере:

import mido

msg = mido.Message('note_on', note=60)
port = mido.open_output('Port Name')
port.send(msg)

Но я не уверен, как я могу на самом деле воспроизводить / озвучивать заметки, которые передаются в этот порт. Кто-нибудь знает, как я могу этого добиться? Любые указатели были бы очень полезны!

1 Ответ

1 голос
/ 14 июля 2020

Не могли бы вы изучить модуль LibRosa.

Librosa.stream может помочь в вашем случае. Другой вариант - использовать PyAudio для генерации звуковых кадров или захвата их также из звукового порта (я не пробовал этого), а затем обратный вызов в LibRosa для анализа звука. Это работает, хотя потеря кадров здесь будет серьезной проблемой, это зависит от ваших потребностей и приложения.

Когда я работал над подобным проектом, я нашел этот [блог], он плохо документирован, но это может дать вам небольшой старт. 1

...