我正试着用赋格来连续演奏200多个投球。所有的音符都弹奏,但它是波涛汹涌的。是否有可能让音符以一种流畅的方式演奏,就像乐器发出两个音符一样?
发布于 2017-06-02 03:58:58
如果你的音高跨越多个八度音阶,你就必须为这些音符触发新的MIDI音符。(如果你的200个音高是在一个半个相互之间,你可以使用音高轮)。因为你需要触发新的音符,你会听到音符的持续和关闭,除非你可以设置音符/音符关闭速度的方式,这是不明显的。你也可以选择一种能使自己演奏流畅的乐器(例如,长笛,但不是钢琴)。
如果您不想自己列出这200个音符中的每一个,您可以编写一个新的JFugue函数,例如":SLUR",它可能采用起始音符值、结束音符值、总持续时间以及在持续期间听到的步骤数。您的功能可能会在两个音符之间创建所有的微音调。然后,您可以调用微音预处理程序将微音转换为螺距轮并记录事件。
一旦将SlurFunction添加到预处理器上下文(请参阅StaccatoParser.java),就可以说:
// Start with Note 20, end at Note 80,
// play for 2.5 * whole durations, and hear 20 steps in between.
// (Be sure there are no spaces in your function call)
new Player().play(":SLUR(20,80,2.5,20)"); 用JFugue编写一个新函数是强大的,但绝对是一个高级特性。如果您感兴趣,请参阅源代码中的TrillFunction示例。
https://stackoverflow.com/questions/44191422
复制相似问题