我想要一个乐器库(例如,钢琴对象)的 Python 实现,我可以使用它来将音符列表和持续时间转换为声音。例如,像这样的东西:
import Piano
pn = Piano()
pn.play([note, note, ..., note], duration)
Python 2.7 是否存在类似的东西?如果没有,我想实现它。我目前有一些使用 audiere 的东西,但它只是正弦波,所以听起来很糟糕。有什么方法可以连接到 midi 钢琴或类似的东西——我使用的是 Windows 7?是否有任何我可能意想不到的实现步骤?
最佳答案
我的一个学生刚刚开始使用 mingus 来做这件事,所以这里有一个关于如何在 linux (ubuntu) 上进行的快速指南:
如果您还没有 fluidsynth 和 mingus,请安装它们:
$
sudo apt-get install fluidsynth
$
sudo easy_install mingus
现在你应该可以打开 python 并输入:
>>> from mingus.midi import fluidsynth
>>> fluidsynth.init('/usr/share/sounds/sf2/FluidR3_GM.sf2',"alsa")
这从 mingus 导入必要的东西并初始化 fluidsynth 以通过 alsa(不是默认的 jack)播放。然后:
>>> fluidsynth.play_Note(64,0,100)
...您应该会听到钢琴上弹奏的音符(参数为:音符编号、 channel 编号和力度)。
有关更多信息,请访问此处:
关于python - 在 Python 中合成音符(带有钢琴声),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6487180/