我正在修改NodeJS CLI应用程序以用作livecoder/sequencer
:https://github.com/khusseini/livecoder
目前,它仅在给定时间播放和弦,例如"i@1/4 ii@1/8"
等
这只是目前的概念证明,但我遇到了一个问题。我正在使用Debian 9,并且启用了snd_virmidi
通过虚拟Midi设备向 Bitwig 发送 midi 消息。在 Bitwig 中,我添加了第一个设备作为通用键盘,并在“同步”部分中勾选了“时钟”和“开始/停止”按钮。当我运行应用程序时,我可以发送和弦并获取时钟,但是,接收到的 midi 并不真正与应用程序内部运行的序列一致。我认为发送和接收Midi信号之间似乎存在一些延迟,但是即使弄乱了 Bitwig 中的 MIDI Clock 延迟也没有显示任何变化。有人有主意吗?
以下是i@1/4
中每个时钟滴答的顺序示例:
Sequence:
0 { on:
[ Note { name: 'C', mod: '', octave: 2 },
Note { name: 'E', mod: '', octave: 2 },
Note { name: 'G', mod: '', octave: 2 } ],
off: [] }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 { on: [],
off:
[ Note { name: 'C', mod: '', octave: 2 },
Note { name: 'E', mod: '', octave: 2 },
Note { name: 'G', mod: '', octave: 2 } ] }