【问题标题】:Sending pitch bend to MIDI sequencer in Java在 Java 中将弯音发送到 MIDI 音序器
【发布时间】:2023-03-17 01:12:02
【问题描述】:

我了解启动和运行 MIDI 音序器的基本知识,我希望能够在播放期间增加/降低音序的音高,但弯音是发送到合成器而不是音序器的消息.

我尝试将音序器的接收器设置为合成器的发送器,当我发送弯音短消息时,音序器保持相同的音高,但随后合成器以新的弯音值播放了第二首曲目,创造了一些非常糟糕的- 动听的音乐。

有没有像改变速度那样在播放过程中弯曲音高的好方法?

另一种选择(这似乎是一个大杂烩)是在不同的键中准备好几个版本的 MIDI 文件,以便在调用时加载。

【问题讨论】:

    标签: java sequence midi pitch synthesizer


    【解决方案1】:

    您可以尝试通过调用其send 方法将send the messages directly 连接到合成器的接收器,但合成器可能不允许其接收器相互影响。

    最终,发送到合成器的消息存储在音序器的音轨中,因此要获得弯音消息,edit the sequence 添加这些消息。

    【讨论】:

      【解决方案2】:

      MIDI 协议没有定义任何音高标准,但弯音除外,弯音通常用作临时效果,而不是设置编曲调音的一种方式。听起来您正在用 Java 实现定序器,在这种情况下,我宁愿建议使用全局失谐首选项。然后,您只需使用默认调音 (440Hz) 渲染音频,然后将弯音应用到反弹排列。有几个库可以为你做弯音,包括优秀的DIRAC。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多