2024-05-28 23:50:13 发布
网友
即使在乐谱中没有相应的元素,我怎么能有规律的歌词呢?在
我需要做的是:
myElement.lyric = 'bla bla'
我能创造无形的元素吗?在
如果你想让歌词出现在music21中的“空”位置,答案很简单。只需创建一个note.Lyric对象并将其放入base.ElementWrapper。例如:
music21
note.Lyric
base.ElementWrapper
s = stream.Measure() n = note.Note() n.lyric = "Hel-" s.insert(0, n) l = note.Lyric('-lo') ew = base.ElementWrapper(l) s.insert(1, ew)
现在你有一个音符流,在节拍1上有歌词(偏移量0),在节拍2上有一个空歌词(偏移量1)。在
我已经猜到你的下一个问题了,“为什么当我在[Finale/MuseScore/Sibelius/VexFlow/Lilypond]中展示它时,它为什么不出现?”在
在music21中可以表示的内容与可以以任何给定格式导出的内容之间是有区别的。有些格式,如Lilypond或humrum,可以将歌词直接放入乐谱中。有些格式可能支持music21(我相信只有Lilypond)。有些格式支持它,但music21不支持。还有一些格式不支持它,比如MusicXML。但是,也有一些解决方法,比如在某个位置创建一个休息,在它上面附加一个歌词,然后隐藏其余的部分。这是大多数MusicXML客户机所做的。还有一个问题是music21可能支持某个功能,格式可能支持该功能,但是音乐符号客户端可能不支持(例如,music21支持ossias;MusicXML也支持;Finale也支持;但是Finale不支持导入或导出MusicXML ossias)
最好的方法是在你的符号软件中创建你想要的,然后把它导出到musicxml。将musicxml导入music21并查看哪些类型的music21对象表示这些歌词。然后从music21导出回musicxml,并重新导入到您的notation软件中。在
抱歉,这不是一个简单的答案。这是一件比较复杂的事情。在
作为一种解决方法,许多人选择在该位置放置TextExpression()对象,并希望它看起来像一首抒情诗。在
如果你想让歌词出现在
music21
中的“空”位置,答案很简单。只需创建一个note.Lyric
对象并将其放入base.ElementWrapper
。例如:现在你有一个音符流,在节拍1上有歌词(偏移量0),在节拍2上有一个空歌词(偏移量1)。在
我已经猜到你的下一个问题了,“为什么当我在[Finale/MuseScore/Sibelius/VexFlow/Lilypond]中展示它时,它为什么不出现?”在
在
music21
中可以表示的内容与可以以任何给定格式导出的内容之间是有区别的。有些格式,如Lilypond或humrum,可以将歌词直接放入乐谱中。有些格式可能支持music21(我相信只有Lilypond)。有些格式支持它,但music21不支持。还有一些格式不支持它,比如MusicXML。但是,也有一些解决方法,比如在某个位置创建一个休息,在它上面附加一个歌词,然后隐藏其余的部分。这是大多数MusicXML客户机所做的。还有一个问题是music21
可能支持某个功能,格式可能支持该功能,但是音乐符号客户端可能不支持(例如,music21支持ossias;MusicXML也支持;Finale也支持;但是Finale不支持导入或导出MusicXML ossias)最好的方法是在你的符号软件中创建你想要的,然后把它导出到musicxml。将musicxml导入music21并查看哪些类型的music21对象表示这些歌词。然后从music21导出回musicxml,并重新导入到您的notation软件中。在
抱歉,这不是一个简单的答案。这是一件比较复杂的事情。在
作为一种解决方法,许多人选择在该位置放置TextExpression()对象,并希望它看起来像一首抒情诗。在
相关问题 更多 >
编程相关推荐