MIDI和Android:您能实现个人吗?仅通过为正在播放的每个音符分配一个单独的频道?
我正在设计一些与音乐有关的Android应用程序的想法。
它可能会使用内部MIDI声音库采用播放(我想使用免费的配件件,但是我不确定在基于样本而不是合成的情况下完全实现任何音高转移有多容易),而且问题是我想确保,当一个音符在另一个情况下滑到另一个情况而没有其余的转移时,它将在情况下正确播放。
据我了解,控制音高转移的MIDI消息是Portamento CC。现在,它定义为MIDI最多支持16个频道,并且通常是每个仪器的通道。在多站播放期间,是否可以在单独的MIDI播放器实例中将每件乐器播放中的每一个乐器都可以在该乐器中生成的每个音符到可用的16个不同频道的任何时刻映射?
谢谢。
I'm in the process of devising my idea for some music-related Android app.
It will probably feature playback using the internal MIDI sound bank (I thought of using free soundfonts but then I'm not sure how easy it is to achieve any pitch shifting at all as it's sample-based rather than synthesized), and the issue is that I want to assure it would play correctly in situations when one note slides to another without the rest shifting as well.
To my understanding the MIDI messages controlling pitch shifting are the portamento CC. Now, it's defined that MIDI supports up to 16 channels, and it's usually a channel per instrument. Could a possible solution during multitrack playback be to have every instrument within a piece play in a separate MIDI player instance and then map at any moment every note generated within that instrument to a different channel of the available 16?
Thank you.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在MIDI 1.0中,每张音高弯曲的唯一方法是将音符放在自己的频道中。这在官方MIDI 1.0规格中称为MPE。
In MIDI 1.0, the only way to have per-note pitch bend is to put the note, whose pitch you want to bend, in its own channel. This is called MPE in the official MIDI 1.0 spec.