music21:如何同时将和弦附加到流中?

时间:2016-04-08 00:22:11

标签: python music21

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

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

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

1 个答案:

答案 0 :(得分:1)

如果要在现有笔记中添加其他音高,请使用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>

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

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