gpt4 book ai didi

c# - 将 MIDI 事件添加到时钟 - Java

转载 作者:行者123 更新时间:2023-12-01 15:59:35 25 4
gpt4 key购买 nike

我正在使用 C# 创建一个简单的 MIDI 应用程序 open source library它允许用户指定 channel 、音高和速度并将它们添加到时钟中。然后,该时钟可以按照添加的顺序播放所有音符。

一切都很好,现在我正在创建应用程序的 Java 版本,我似乎遇到的唯一麻烦是我找不到任何关于时钟系统如何在 MIDI 中工作的简单教程或解释Java。

时钟是否存在于 Java Sound Framework 中,还是我必须自己实现?

谢谢!

最佳答案

自从我接触 Java Midi 东西以来已经很长时间了,但一般来说,要以编程方式构建 MIDI,您需要执行以下步骤。

假设导入javax.sound.midi;:

  1. 您需要创建一个Sequencer对象:

    Sequence seq = new Sequence(Squence.PPQ, 500000);
  2. 接下来,您需要创建一个 Track 对象(每个 channel 一个或所有内容一个,这取决于您):

    Track track = seq.createTrack();
  3. 现在,您可以向其中添加事件:

    track.add(new MidiEvent(new ShortMessage(ShortMessage.NOTE_ON, 0, 60, 127), 0));
    track.add(new MidiEvent(new ShortMessage(ShortMessage.NOTE_OFF, 0, 60, 127), 1000));
    //etc.
  4. 完成后,您就可以像平常一样播放Sequence!

查看此处的文档:http://download.oracle.com/javase/7/docs/api/index.html?javax/sound/midi/MidiSystem.html

关于c# - 将 MIDI 事件添加到时钟 - Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4286180/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com