在Java中向MIDI音序器发送音调弯曲

在Java中向MIDI音序器发送音调弯曲,java,sequence,midi,pitch,synthesizer,Java,Sequence,Midi,Pitch,Synthesizer,我了解启动和运行MIDI音序器的基本知识,我希望能够在播放过程中增加/减少序列的音高,但音高弯曲是发送到合成器的消息,而不是音序器 我尝试将音序器的接收器设置为合成器的发射器,当我发送音调弯曲短消息时,音序器保持相同的音调,但随后合成器以新的音调弯曲值播放第二首曲目,产生了一些非常糟糕的声音 在播放过程中,有没有像改变节奏那样弯曲音高的好方法 另一个选择(看起来像是一个大问题)是在不同的键中准备好几个版本的MIDI文件,以便在调用时加载。您可以尝试通过调用合成器的发送方法来加载到合成器的接收器,

我了解启动和运行MIDI音序器的基本知识,我希望能够在播放过程中增加/减少序列的音高,但音高弯曲是发送到合成器的消息,而不是音序器

我尝试将音序器的接收器设置为合成器的发射器,当我发送音调弯曲短消息时,音序器保持相同的音调,但随后合成器以新的音调弯曲值播放第二首曲目,产生了一些非常糟糕的声音

在播放过程中,有没有像改变节奏那样弯曲音高的好方法

另一个选择(看起来像是一个大问题)是在不同的键中准备好几个版本的MIDI文件,以便在调用时加载。

您可以尝试通过调用合成器的
发送
方法来加载到合成器的接收器,但合成器可能不允许其接收器相互影响


最终,发送到合成器的消息被存储在音序器的音轨中,以便有音调弯曲消息来添加这些消息。

MIDI协议没有定义任何音调标准,但音调弯曲通常用作临时效果,而不是设置排列调谐的方式。听起来您正在用Java实现一个sequencer,在这种情况下,我更愿意建议使用全局失谐偏好。然后,您只需使用默认调谐(440Hz)渲染音频,然后将pitchbend应用于反弹排列。有几个库可以为您提供pitchbend,包括优秀的