最近买了一台MIDI键盘,想用MIDI键盘接上电脑当电子琴用,现在可以接MIDI键盘的音乐类软件倒也不少,但可以二次开发的就很少见了。
我想通过编程的方式控制MIDI键盘的输入,发现了一个python库正好满足我的要求。
这个库是 python-rtmidi, rtmidi是C++开发的一个midi工具包,python-rtmidi是对rtmidi的一个轻量级包装。
网址:https://pypi.org/project/python-rtmidi/
我的电脑上安装了python3.7 ,直接执行 pip install python-rtmidi 就OK 了。
结合官网上给的例子,写了一个MIDI键盘输入回放的小程序
#!/usr/bin/env python
#
# loopMidiInput.py
#
"""Show how to receive MIDI input by setting a callback function and send data to midi output ."""
from __future__ import print_function
import logging
import sys
import time
import rtmidi
midiout = rtmidi.MidiOut()
available_ports = midiout.get_ports()
if available_ports:
midiout.open_port