python根据midi音符和相关时间生成mid文件
时间: 2023-05-24 22:01:22 浏览: 81
可以使用Python库Mido来根据midi音符和相关时间生成mid文件,你可以使用以下代码:
import mido
from mido import MidiFile, MidiTrack, Message
mid = MidiFile()
track = MidiTrack()
mid.tracks.append(track)
# 设置音符和时间
notes = [
{'note': 'C', 'duration': 1},
{'note': 'D', 'duration': 1},
{'note': 'C', 'duration': 2},
]
# 音符到MIDI号码的映射表
note_to_num = {
'C': 60,
'D': 62,
'E': 64,
'F': 65,
'G': 67,
'A': 69,
'B': 71,
}
# 将音符和时间转换为MIDI消息并添加到MIDI轨道中
for note in notes:
note_num = note_to_num[note['note']]
note_duration = note['duration']
time = 0
vel = 64
track.append(Message('note_on', note=note_num, velocity=vel, time=time))
time = int(note_duration * mid.ticks_per_beat)
track.append(Message('note_off', note=note_num, velocity=vel, time=time))
# 保存MIDI文件
mid.save('output.mid')
这将生成一个包含指定音符和时间的MIDI文件。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)