跳转到主要内容

交互式MIDI在Jupyter中

项目描述

logo

IpyMIDI

交互式MIDI在Jupyter中

IpyMIDI通过WEBMIDI.js将Web MIDI接口(Web MIDI API)作为Jupyter小部件暴露给Python。连接您的MIDI设备(例如,键盘、控制器等),然后在Jupyter中与之交互!

注意:这还是一个正在进行中的工作(目前没有什么可看的)!

用法示例

创建一个Jupyter笔记本并导入库。

import ipymidi

获取对Web MIDI接口的访问权限。

midi = ipymidi.get_interface()

启用MIDI接口(您的Web浏览器可能要求您访问权限)。

midi.enable()

获取所有连接的MIDI输入设备的列表。

midi.inputs
MIDI Inputs (2)
0:
    id: 92212230
    name: Virtual MIDI
    manufacturer: Apple Inc.
    connection: open
    state: connected
1:
    id: -1491552641
    name: Arturia KeyStep 37
    manufacturer: Arturia
    connection: open
    state: connected

跟踪一个来自输入设备的特定MIDI事件(例如,来自MIDI键盘的“noteon”事件)。

ev = midi.inputs["Arturia KeyStep 37"].track_event("noteon", ["note_identifier"])

像使用任何其他Jupyter小部件一样使用ev对象,例如,在输出小部件中打印刚刚在输入设备上演奏的MIDI音符。

import ipywidgets

output = ipywidgets.Output()

@ev.observe
def print_message(change):
    output.clear_output()
    with output:
        print(f"Note {change["owner"].note_identifier} played!")

output

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

ipymidi-0.0.1.tar.gz (25.4 kB 查看哈希)

上传于 源码

构建版本

ipymidi-0.0.1-py2.py3-none-any.whl (26.9 kB 查看哈希值)

上传于 Python 2 Python 3

由以下支持