通过Python检测钢琴MIDI输入

问题描述 投票:0回答:1

我正在尝试创建一个程序,它从我的钢琴获取输入,并让 Python 检测我刚刚按下的 MIDI 音符。

我不需要代码本身的帮助,但我似乎找不到任何可以检测到这一点的包。

我有一架电钢琴,可以通过USB-B将数据输出到我电脑上的USB-A。

我知道检测是可能的,因为像 FL Studio 这样的软件也可以识别它,所以我认为也应该有一种方法可以用 Python 来做到这一点。

这里有人可以帮助我吗?

我尝试过在线搜索软件包,但我尝试搜索的每一种方式都导致主要结果是关于如何使用 PC 键盘作为虚拟钢琴。我想搜索比我正在寻找的东西要普遍得多。

python package midi piano
1个回答
0
投票

我使用 Mido 进行大量 Python MIDI 处理。 您可能还需要安装 python-rtmidi 来处理实时处理位,但是这样您就可以开始了!

这是我刚刚在我的系统上测试的示例,以确保它已启动并运行最新的库更新:

!pip install mido
!pip install python-rtmidi

不确定您的具体设置,但您需要先确保它们已安装在您的环境中。 然后实时阅读:

import mido

mido.get_output_names() # Provides the list of connected MIDI outputs

inport = mido.open_input('KL Essential 49 mk3 MIDI') # Specify MIDI port

with inport:  # Keeps looping until you close connection/program
    for msg in inport: 
        print(msg)

当我使用 MIDI 控制器时,按下按键时会得到这样的输出

note_on channel=0 note=48 velocity=97 time=0
,并且 释放时
note_off channel=0 note=48 velocity=0 time=0

希望它有帮助,祝你好运! ✨

© www.soinside.com 2019 - 2024. All rights reserved.