Jul*_*ian 5 python audio midi midi-instrument music21
自从我开始阅读“用计算机制作音乐:Python 中的创意编程”这本书已经有几个星期了,现在我在尝试用这个库播放鼓声时陷入困境。我正在使用 Mit 的 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)
Run Code Online (Sandbox Code Playgroud)
我尝试在 music21 中用 Hi Hat 声音做同样的事情,但没有播放声音:
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')
Run Code Online (Sandbox Code Playgroud)
任何建议都会非常有帮助,因为除了它的网页之外,网络上几乎没有关于这个库的信息。
提前致谢,朱利安!
你好,朱利安,我做了一点小改动就让它在我的 Mac 上运行了。我希望这会有所帮助!我基本上只改变了你的一行代码,现在它可以在我的 Mac 上运行了。当我说它有效时,我的意思是它正在mid
正确创建文件,但无法打开它。
无法打开它的原因是默认播放器(在我的例子中为 QuickTime)无法运行中间文件。您可以安装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')
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1833 次 |
最近记录: |