在使用C#Code生成Midi Track时,如何才能播放音调,而不是淡出?

时间:2011-01-27 17:08:13

标签: c# midi

我正在使用Stanford Library构建一个小型MIDI编辑器应用程序。它几乎完成了,除了一个小问题:NoteOn命令后声音消失,但是我希望音符继续播放,直到我释放按钮。

3 个答案:

答案 0 :(得分:4)

使用MIDI,您应该听到音符一直持续到发送NoteOff命令为止。如果你听到一个音符开始然后淡出(没有发送NoteOff消息),那么可能是该频道被设置为一个自然淡化的乐器 - 如马林巴或钢鼓声。 / p>

答案 1 :(得分:1)

这将归功于您正在寻址的MIDI设备。您可以通过MIDI NRPN或SysEx告诉它增加信封的延音级别,但这可能是设备特定的。一般来说,弦乐或鼓垫的声音会保持很高的延音,而钢琴或其他打击乐的声音会持续渐渐变为零,无论持续水平如何。

答案 2 :(得分:1)

所以,你说当你演奏音符时它会正常衰减(好像你低下钢琴键)并且你不想要它?

这是合成器的一个功能,与MIDI无关。您需要选择不执行此操作的修补程序。器官补丁应该可以正常工作。

如果你说你的音符立即停止(好像你按下了键并立即释放),那么你会发送一个音符关闭命令或一个0速度的音符命令。检查以确保您实际上是为速度发送7位值,而不是。