首页 > 解决方案 > Python:播放 MIDI 音符流式传输到端口

问题描述

我想用 Python 实时播放一些音乐。该mido库能够将笔记流式传输到我机器上的 midi 端口:

import mido

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

但我不确定我如何才能真正播放/声化流向该端口的音符。有谁知道我怎么能做到这一点?任何指针都会非常有帮助!

标签: pythonaudiomidiaudio-playerwaveform

解决方案


你能看看LibRosa模块吗?

Librosa.stream可能对您的情况有所帮助。另一种选择是使用 PyAudio 生成音频帧或从音频端口捕获它们(我还没有尝试过),然后回调到 LibRosa 进行音频分析。这很有效,虽然丢帧在这里会是一个严重的问题,但这取决于您的需求和应用程序。

当我在做一个类似的项目时,我发现了这个博客,它没有很好的文档记录,但这可能会给你一个小小的开始。


推荐阅读