在Python Music21库中播放鼓声

2024-09-30 20:34:56 发布

您现在位置:Python中文网/ 问答频道 /正文

自从我开始阅读《用计算机制作音乐:Python中的创造性编程》这本书已经有几个星期了,现在我在尝试用这个库来演奏鼓声的时候被绊倒了。我使用的是麻省理工学院的music21库,因为这本书提出的那个库不适合我(它被简单地称为“音乐”)。 这是本书用来播放低音鼓声音的代码示例:

from music import *
drumPart = Part("Drums", 0, 9)
note = Note(ACOUSTIC_BASS_DRUM, QN) # a bass drum strike
drumPhrase = Phrase()
drumPhrase.addNote(note)
drumPart.addPhrase(drumPhrase)
Play.midi(drumPart)

我试着在music21中用Hi-Hat声音做同样的事情,但是没有声音播放:

^{pr2}$

任何建议都会很有帮助,因为除了这个图书馆的网页外,网上几乎没有关于这个图书馆的信息。在

提前谢谢你, 朱利安!在


Tags: 代码from声音示例图书馆音乐编程计算机
1条回答
网友
1楼 · 发布于 2024-09-30 20:34:56

嗨,朱利安,我在我的Mac电脑上做了个小改动。我希望这会有帮助!我基本上只修改了你的一行代码,现在它在我的Mac电脑上运行。当我说它工作时,我的意思是它正确地创建了mid文件,但无法打开它。在

它无法打开它的原因是默认播放器(在我的例子中是QuickTime)无法运行mid文件。您可以安装MuseScore(它是免费的)并将其设置为mid文件的默认程序,那么一切都会顺利进行。在

from music21 import stream, instrument
from music21.note import Note

n = Note("A2", type='quarter')

drumPart = stream.Part()
drumPart.insert(0, instrument.Woodblock())

drumMeasure = stream.Measure()
drumMeasure.append(n)
drumPart.append(drumMeasure)

# This line actually generate the midi on my mac but there is no relevant software to read it and the opening fail
drumPart.show('midi')

相关问题 更多 >