2

我有一个带有注释(音高和持续时间)的流对象。我想将和弦添加到 - 例如 - 每 4 次的第一个音符。但我希望它们同时发声。

问题是我发现的唯一相关的东西是如何将和弦附加到流中但顺序。

所以...有什么建议吗?

4

1 回答 1

2

如果您想在现有音符中添加额外的音高,请使用以下stream.Stream.insertIntoNoteOrChord方法:

http://web.mit.edu/music21/doc/moduleReference/moduleStream.html#music21.stream.Stream.insertIntoNoteOrChord

例如:

s = stream.Stream()
n = note.Note('C4') # qtr note default
s.append(n)

c = chord.Chord('E4 G4') # qtr
s.insertIntoNoteOrChord(0.0, c)
s.show('t')
{0.0} <music21.chord.Chord C4 E4 G4>

如果您需要做一些更复杂的事情,那么我建议您只需将所有音符和和弦插入您想要的任何位置,然后.chordify()在 Stream 上运行以使一切正常。

第三种选择是对stream.Voice()不同的层使用不同的对象。

于 2016-04-08T12:49:53.597 回答