繁体   English   中英

如何更改合成器/音序器的“主”音量?

[英]How to change the 'master' volume of a synthesizer/sequencer?

我希望能够控制我播放的Midi文件的“主”或总音量。

设置:

  • 我的Java gui程序中有一个要播放的midi文件
  • 我也有一些界面,允许用户通过键盘/鼠标/ MIDI设备输入来播放声音
  • 最后我也采样了音频效果

我想要的是:

  • 能够在后台播放时实时控制midi文件的整体音量,而不会影响任何其他音频元素的音量

通常的解决方案:

  • 在用于播放midi文件的合成器中更改每个通道的通道音量
  • 此方法的问题是,如果midi文件将任何音量消息发送到Synthesizer,则我的音量设置将被覆盖

我的解决方案(尚未完成)

  • 实现一个本地旋转的接收器/发送器,以插入定序器和合成器之间
  • 我计划拦截来自Sequencer的与通道音量相关的消息,应用我的JSlider设置的增益,然后将编辑后的消息中继到Synthesizer。

相关问题:

  • 如果我的解决方案是唯一的方法,而不是频道音量消息,那么我还必须拦截和编辑它们的其他任何与音量相关的消息吗?

主要问题:

如何更改Midi文件的“主”音量?

在MIDI中,所有与音量相关的控制器(音符,表情,音量,主音量)都被组合在一起; 每个都可以独立更改。

每个与GM兼容的合成器都应支持Master Volume消息:

F0 7F 7F 04 01 LL MM F7

其中LLMM是14位值的低7位和高7位。 (大多数设备具有7位主卷,只是忽略LL 。)

大多数MIDI文件不会更改主音量; 您应该可以盲目发送此消息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM