首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Python Music21库中播放鼓声

在Python Music21库中播放鼓声
EN

Stack Overflow用户
提问于 2016-08-14 11:44:30
回答 1查看 2K关注 0票数 5

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

代码语言:javascript
复制
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声音做同样的事情,但没有声音播放:

代码语言:javascript
复制
import music21
from music21 import note, stream, pitch, duration, instrument, tempo, chord
from music21.note import Note, Rest
from music21.chord import Chord
from music21 import midi

def createInstrument(instrument, midiChannel):
    i = instrument
    i.midiChannel = midiChannel
    return i

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

drumPart = stream.Part()
drumPart.insert(createInstrument(instrument.HiHatCymbal(), 9))

drumMeasure = stream.Measure()
drumMeasure.append(n)
drumPart.append(drumMeasure)
drumPart.show('midi')

任何建议都是非常有帮助的,因为除了它的webPage之外,网上几乎没有关于这个库的任何信息。

提前谢谢你,Julián!

EN

回答 1

Stack Overflow用户

发布于 2017-01-22 15:21:59

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

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

代码语言:javascript
复制
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')
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38938938

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档