Pat*_*t B 15 python audio midi
我想有一个乐器库的python实现(例如,钢琴对象),我可以使用它来将音符列表和持续时间转换为声音.例如,类似于:
import Piano
pn = Piano()
pn.play([note, note, ..., note], duration)
Run Code Online (Sandbox Code Playgroud)
python 2.7是否存在类似的内容?如果没有,我想实施它.我目前有一些使用audiere的东西,但它只是正弦波,所以听起来很可怕.有没有办法挂进midi钢琴或类似的东西 - 我正在使用Windows 7?是否有任何我可能不期望的实施步骤?
小智 17
我的一个学生刚刚开始使用mingus这样做,所以这里有关于如何开始使用linux(ubuntu)的快速指南:
如果您还没有,请安装fluidsynth和mingus:
$ sudo apt-get安装fluidynth
$ sudo easy_install mingus
现在你应该能够打开python并输入:
>>> from mingus.midi import fluidsynth
>>> fluidsynth.init('/usr/share/sounds/sf2/FluidR3_GM.sf2',"alsa")
Run Code Online (Sandbox Code Playgroud)
这会从mingus导入必要的东西并初始化fluidynth以通过alsa(不是默认的jack)播放.然后:
>>> fluidsynth.play_Note(64,0,100)
Run Code Online (Sandbox Code Playgroud)
......你应该听到钢琴上弹奏的音符(参数是:音符编号,频道编号和速度).
欲了解更多信息,请点击这里:
https://code.google.com/p/mingus/wiki/tutorialFluidsynth
mik*_*iku 10
@Marcelos的一部分答案:http://code.google.com/p/mingus/
mingus是程序员,音乐家,作曲家和研究人员用来制作和研究音乐的Python软件包.mingus的核心是音乐理论,其中包括间隔,和弦,音阶和进步等主题.
MIDI包可以保存和加载MIDI文件,并且 - 但并非最不重要 - 为所有容器和FluidSynth音序器子类提供通用音序器.这允许您直接从Python中播放所有数据结构,只需几行.大多数icky时序和MIDI代码已经被抽象出来,留下了一个干净,相对简单的API.