今天下载了个midi,用domino打开提示:

上网查询资料得知这是作者为了防止被编辑而设计的
了解了相关的midi知识以后,我便写了以下Python程序:
import mido,sys #此程序需要mido库,安装请输入:pip install mido
print("作者:Minecraftku_hei")
infile=mido.MidiFile(input("输入:"))
outfile=mido.MidiFile()
print("正在检测是否在单个音轨中有多个通道")
i=0
multiChannel=False
for track in infile.tracks:
	channel=None
	for note in track:
		if hasattr(note,"channel"):
			if channel==None:
				channel=note.channel
			elif channel!=note.channel:
				print(f"轨道{i}有多个通道!")
				multiChannel=True
				break
			else:
				pass
	i+=1
	print(f"轨道{i}没有多个通道!")
if not multiChannel:
	print("该midi文件一切正常!")
	sys.exit(0)
tracks=[mido.MidiTrack() for i in range(17)]
for track in infile.tracks:
	for note in track:
		if hasattr(note,"channel"):
			tracks[note.channel+1].append(note)
		else:
			tracks[0].append(note)
outfile.tracks=tracks
outfile.save(input("输出:"))
成功解决!
 
      
    
