带有 python 的 midiutil 不会在通道 10 中写入鼓组声音?
midiutil with python doesnt write drumset sounds in channel 10?
我正在尝试使用带有 python 的 midiutil 库来编写完整的音乐。到目前为止,我已经能够通过
添加我想要的任何乐器
MIDIFile.addProgramChange(track, channel, time, program)
并从 https://www.midi.org/specifications-old/item/gm-level-1-sound-set
的 table 中获取节目编号
但是,我无法按我想要的方式添加任何鼓组声音。我知道 10 频道是为打击乐器预留的,但每当我通过
写任何东西时
MyMIDI.addNote(track, 10, pitch, time + i, duration, volume)
musescore播放的声音是钢琴声或者是ProgramChange方法定义的声音。我知道我的电脑某处有鼓组声音,因为我已经能够在 musescore 中手动添加鼓组声音。我做错了什么吗?
人类从一开始数数,所以您有频道 1 … 16。
计算机从零开始计算,因此它们有通道 0 … 15。
addNote() documentation说channel
参数是0到15的整数,所以打击乐通道必须用9
我正在尝试使用带有 python 的 midiutil 库来编写完整的音乐。到目前为止,我已经能够通过
添加我想要的任何乐器MIDIFile.addProgramChange(track, channel, time, program)
并从 https://www.midi.org/specifications-old/item/gm-level-1-sound-set
的 table 中获取节目编号但是,我无法按我想要的方式添加任何鼓组声音。我知道 10 频道是为打击乐器预留的,但每当我通过
写任何东西时MyMIDI.addNote(track, 10, pitch, time + i, duration, volume)
musescore播放的声音是钢琴声或者是ProgramChange方法定义的声音。我知道我的电脑某处有鼓组声音,因为我已经能够在 musescore 中手动添加鼓组声音。我做错了什么吗?
人类从一开始数数,所以您有频道 1 … 16。
计算机从零开始计算,因此它们有通道 0 … 15。
addNote() documentation说channel
参数是0到15的整数,所以打击乐通道必须用9