首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用jfugue重击音符

如何用jfugue重击音符
EN

Stack Overflow用户
提问于 2017-05-25 23:45:04
回答 1查看 133关注 0票数 0

我正试着用赋格来连续演奏200多个投球。所有的音符都弹奏,但它是波涛汹涌的。是否有可能让音符以一种流畅的方式演奏,就像乐器发出两个音符一样?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-02 03:58:58

如果你的音高跨越多个八度音阶,你就必须为这些音符触发新的MIDI音符。(如果你的200个音高是在一个半个相互之间,你可以使用音高轮)。因为你需要触发新的音符,你会听到音符的持续和关闭,除非你可以设置音符/音符关闭速度的方式,这是不明显的。你也可以选择一种能使自己演奏流畅的乐器(例如,长笛,但不是钢琴)。

如果您不想自己列出这200个音符中的每一个,您可以编写一个新的JFugue函数,例如":SLUR",它可能采用起始音符值、结束音符值、总持续时间以及在持续期间听到的步骤数。您的功能可能会在两个音符之间创建所有的微音调。然后,您可以调用微音预处理程序将微音转换为螺距轮并记录事件。

一旦将SlurFunction添加到预处理器上下文(请参阅StaccatoParser.java),就可以说:

代码语言:javascript
复制
// 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示例。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44191422

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档