gpt4 book ai didi

java - 在 MIDI 编码中改变乐器?

转载 作者:行者123 更新时间:2023-11-29 09:23:02 27 4
gpt4 key购买 nike

我正在尝试编写一个函数来在 Android 上动态创建 midi 文件。由于没有 javax.sound.midi 库,我只是将字节写出来给自己归档。我找到了一些很棒的指南(见下文),所以我已经能够创建多轨 midis。但是我一直无法弄清楚如何为任何音轨切换乐器,所以 everythign 只是使用默认乐器。我认为从我阅读的文档中我需要的代码是“程序更改”,后跟程序编号。

到目前为止我尝试的是将以下内容写入字节输出流数组:

track.write((byte) 192); // 128 + 64
track.write((byte) x); // x is the instrument number between 1-128.

我已经把它放在音符开/音符轨道信息开始之前,但它似乎没有做任何事情,除了让 midi 需要很长时间才能开始。我是在正确的轨道上,还是错过了什么?任何帮助表示赞赏。

http://faydoc.tripod.com/formats/mid.htmhttps://ccrma.stanford.edu/~craig/articles/linuxmidi/misc/essenmidi.html

最佳答案

终于明白了。这只是一件简单的事情,但我忘记在程序更改之前包括跟踪时间。一旦我添加了 0 字节,它就起作用了。

关于java - 在 MIDI 编码中改变乐器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4929545/

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