Jfugue保存MIDI文件,同时仍包括加载的仪器



我正在使用外部声音弹奏播放musicsstrings,并且一切正常。当我使用player.savemidi(等)时,文件将使用原始的MIDI Soundfont保存。

Soundbank soundbank = MidiSystem.getSoundbank(new File("SGM-V2.01.sf2"));
Synthesizer synth = MidiSystem.getSynthesizer();
synth.open();
synth.loadAllInstruments(soundbank);
Player player = new Player(synth);
Pattern pattern = new Pattern("C5majw C5majw C5majw");
player.play(pattern); // works fine with external soundbank
player.saveMidi(pattern, filename); //Doesn't save with external soundbank instruments 

是否有任何能力或内置功能支持此功能的功能?

谢谢!

请记住,MIDI是一组音乐说明。无论您是否将Soundbank加载到Java程序中,当您保存为MIDI时,您都只能保存音乐说明。(通过"音乐说明",我的意思是诸如" note on"或" instrument Change"之类的东西,但不是实际的音乐声音数据)

听起来您想做的就是使用已加载的Soundbank的声音将音乐渲染到WAV文件中。为此,您需要在此处使用MIDI2Wavrenderer:http://www.jfugue.org/code/midi2wavrenderer.java

最新更新