功能介绍:
该代码可将单轨道的midi文件转换为以最小音符长度为单位的ROM文件(格式为Quartus的mif文件)。
具体转换方式:
例如一段简谱为:1 22 33 4,则输出为:11 22 33 44,即:音符个数=音符长度/最小音符长度。
注:MIDI文件需为单轨且为单音。
使用说明:
将MIDI文件放置在.py文件相同目录下,运行python文件即可生成:test1.txt与test2.txt(midi音符信息)、test3.txt(将音符长度转换为最小音符长度)、ROM.txt(适用与Quartus的ROM序列)。
具体文件内容如图所示:
具体代码如下:
import mido
import os
# MIDI音符值到音乐音符的映射
notes = ['C', 'Cs', 'D', 'Ds', 'E', 'F', 'Fs', 'G', 'Gs', 'A', 'As', 'B']
# 删除文件
if os.path.exists("test1.txt"):
os.remove("test1.txt")
if os.path.exists("test2.txt"):
os.remove("test2.txt")
if os.path.exists("test3.txt"):
os.remove("test3.txt")
if os.path.