导出到Midi文件时,如何计算Csound中的Midi时间?

问题描述

我是新来参加堆栈交换的人,所以请多多包涵。

我正在尝试使用midion或midion2从csound乐谱导出到midi文件。我发送到midi文件的音符值在乐器时间更新,例如:

instr 1
inote init 18
inote = inote + 1
ktrig metro 1
knote = k(inote)
midion 1,int(knote),int(1),ktrig

endin


i1 0 1
i1 + 1
i1 + 1
i1 + 1
i1 + 1
i1 + 1

我想,由于ktrig每1秒钟触发一次,并且乐器每秒触发一次,所以音符应该以上升音阶,四分音符(或相等的分度)的速度输出,并且它们的持续时间应该相同。但是,当我导出时,每个音符的持续时间,任意时间都略有不同,似乎根本不适合节奏的时间。也许我是错误地使用Midion或触发错误。我知道,传统的音符时序在midion或midion2中可能没有任何意义,因为它们可能以不同的方式处理时序。

是否有更好的方法来实现这一目标? 每次调用该乐器时,我只是具有一个变化的值,并希望将其发送到midi文件中,作为与整个音符相等的音符。我敢肯定这是有可能的。

非常感谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)