Error in user YAML: (<unknown>): could not find expected ':' while scanning a simple key at line 3 column 1
---
- oeasy Python 0754
- 这是 oeasy 系统化 Python 教程,从基础一步步讲,扎实、完整、不跳步。愿意花时间学,就能真正学会。
本教程同步发布在:
个人网站: `https://oeasy.org`
蓝桥云课: `https://www.lanqiao.cn/courses/3584`
GitHub: `https://github.com/overmind1980/oeasy-python-tutorial`
Gitee: `https://gitee.com/overmind1980/oeasypython`
---import mido
from mido import MidiFile, MidiTrack, Message, MetaMessage
tpb = 480
names = ['Jinghu', 'Vocal']
programs = [0, 110]
t0 = [(77, 80, 7680, 479), (75, 80, 1, 479), (75, 80, 241, 239), (72, 80, 1, 239), (70, 80, 1, 239), (67, 80, 1, 239), (67, 80, 1, 239), (67, 80, 1, 239), (70, 80, 1, 239), (72, 80, 1, 239), (67, 80, 481, 239), (67, 80, 1, 239), (70, 80, 1, 239), (72, 80, 1, 479), (67, 80, 1, 479), (75, 80, 241, 239), (70, 80, 1, 359), (72, 80, 1, 119), (70, 80, 1, 479), (67, 80, 241, 239), (67, 80, 1, 239), (70, 80, 1, 239), (75, 80, 1, 479), (72, 80, 1, 239), (70, 80, 1, 239), (75, 80, 1, 239), (75, 80, 1, 239), (67, 80, 1, 239), (70, 80, 1, 239), (72, 80, 1, 239), (68, 80, 121, 119), (67, 80, 1, 359), (70, 80, 1, 119), (72, 80, 1, 239), (67, 80, 1, 239), (67, 80, 1, 239), (75, 80, 1, 239), (70, 80, 1, 359), (72, 80, 1, 119), (70, 80, 1, 479), (75, 80, 241, 239), (72, 80, 1, 239), (70, 80, 1, 239), (67, 80, 1, 359), (70, 80, 1, 119), (70, 80, 1, 479), (72, 80, 1, 239), (75, 80, 1, 239), (67, 80, 1, 239), (70, 80, 1, 239), (72, 80, 1, 239), (68, 80, 121, 119), (67, 80, 1, 359), (70, 80, 1, 119), (72, 80, 1, 239), (67, 80, 1, 239), (67, 80, 1, 239), (75, 80, 1, 239), (70, 80, 1, 359), (72, 80, 1, 119), (70, 80, 1, 239), (67, 80, 241, 359), (70, 80, 1, 119), (75, 80, 1, 239), (75, 80, 1, 239), (67, 80, 1, 239), (70, 80, 1, 239), (72, 80, 1, 239), (74, 80, 1, 239), (72, 80, 1, 239), (70, 80, 1, 239), (70, 80, 1, 359), (72, 80, 1, 119), (67, 80, 1, 239), (70, 80, 1, 239), (72, 80, 1, 239), (70, 80, 241, 239), (72, 80, 1, 239), (75, 80, 1, 479), (70, 80, 1, 479), (72, 80, 1, 359), (75, 80, 1, 119), (70, 80, 1, 479), (70, 80, 1, 479), (89, 80, 1, 479), (87, 80, 1, 479), (87, 80, 241, 239), (84, 80, 1, 239), (82, 80, 1, 239), (79, 80, 1, 239), (79, 80, 1, 239), (79, 80, 1, 239), (82, 80, 1, 239), (84, 80, 1, 239), (79, 80, 481, 239), (79, 80, 1, 239), (82, 80, 1, 239), (84, 80, 1, 479), (79, 80, 1, 479), (87, 80, 241, 239), (82, 80, 1, 359), (84, 80, 1, 119), (82, 80, 1, 479), (79, 80, 241, 239), (79, 80, 1, 239), (82, 80, 1, 239), (87, 80, 1, 479), (84, 80, 1, 239), (82, 80, 1, 239), (87, 80, 1, 239), (87, 80, 1, 239), (79, 80, 1, 239), (82, 80, 1, 239), (84, 80, 1, 239), (80, 80, 121, 119), (79, 80, 1, 359), (82, 80, 1, 119), (84, 80, 1, 239), (79, 80, 1, 239), (79, 80, 1, 239), (87, 80, 1, 239), (82, 80, 1, 359), (84, 80, 1, 119), (82, 80, 1, 479), (87, 80, 241, 239), (84, 80, 1, 239), (82, 80, 1, 239), (79, 80, 1, 359), (82, 80, 1, 119), (82, 80, 1, 479), (84, 80, 1, 239), (87, 80, 1, 239), (79, 80, 1, 239), (82, 80, 1, 239), (84, 80, 1, 239), (80, 80, 121, 119), (79, 80, 1, 359), (82, 80, 1, 119), (84, 80, 1, 239), (79, 80, 1, 239), (79, 80, 1, 239), (87, 80, 1, 239), (82, 80, 1, 359), (84, 80, 1, 119), (82, 80, 1, 239), (79, 80, 241, 359), (82, 80, 1, 119), (87, 80, 1, 239), (87, 80, 1, 239), (79, 80, 1, 239), (82, 80, 1, 239), (84, 80, 1, 239), (86, 80, 1, 239), (84, 80, 1, 239), (82, 80, 1, 239), (82, 80, 1, 359), (84, 80, 1, 119), (79, 80, 1, 239), (82, 80, 1, 239), (84, 80, 1, 239), (82, 80, 241, 239), (84, 80, 1, 239), (87, 80, 1, 479), (82, 80, 1, 479), (84, 80, 1, 359), (87, 80, 1, 119), (82, 80, 1, 479), (82, 80, 1, 479), (77, 80, 6241, 479), (75, 80, 1, 479), (75, 80, 241, 239), (72, 80, 1, 239), (70, 80, 1, 239), (67, 80, 1, 239), (67, 80, 1, 239), (67, 80, 1, 239), (70, 80, 1, 239), (72, 80, 1, 239), (67, 80, 481, 239), (67, 80, 1, 239), (70, 80, 1, 239), (72, 80, 1, 479), (67, 80, 1, 479), (75, 80, 241, 239), (70, 80, 1, 359), (72, 80, 1, 119), (70, 80, 1, 479), (67, 80, 241, 239), (67, 80, 1, 239), (70, 80, 1, 239), (75, 80, 1, 479), (72, 80, 1, 239), (70, 80, 1, 239), (75, 80, 1, 239), (75, 80, 1, 239), (67, 80, 1, 239), (70, 80, 1, 239), (72, 80, 1, 239), (68, 80, 121, 119), (67, 80, 1, 359), (70, 80, 1, 119), (72, 80, 1, 239), (67, 80, 1, 239), (67, 80, 1, 239), (75, 80, 1, 239), (70, 80, 1, 359), (72, 80, 1, 119), (70, 80, 1, 479), (75, 80, 241, 239), (72, 80, 1, 239), (70, 80, 1, 239), (67, 80, 1, 359), (70, 80, 1, 119), (70, 80, 1, 479), (72, 80, 1, 239), (75, 80, 1, 239), (67, 80, 1, 239), (70, 80, 1, 239), (72, 80, 1, 239), (68, 80, 121, 119), (67, 80, 1, 359), (70, 80, 1, 119), (72, 80, 1, 239), (67, 80, 1, 239), (67, 80, 1, 239), (75, 80, 1, 239), (70, 80, 1, 359), (72, 80, 1, 119), (70, 80, 1, 239), (67, 80, 241, 359), (70, 80, 1, 119), (75, 80, 1, 239), (75, 80, 1, 239), (67, 80, 1, 239), (70, 80, 1, 239), (72, 80, 1, 239), (74, 80, 1, 239), (72, 80, 1, 239), (70, 80, 1, 239), (70, 80, 1, 359), (72, 80, 1, 119), (67, 80, 1, 239), (70, 80, 1, 239), (72, 80, 1, 239), (70, 80, 241, 239), (72, 80, 1, 239), (75, 80, 1, 479), (70, 80, 1, 479), (72, 80, 1, 359), (75, 80, 1, 119), (70, 80, 1, 479), (70, 80, 1, 479)]
t1 = [(60, 80, 0, 479), (60, 80, 1, 479), (67, 80, 1, 239), (70, 80, 1, 239), (70, 80, 1, 239), (72, 80, 1, 119), (70, 80, 1, 119), (67, 80, 1, 119), (70, 80, 1, 119), (72, 80, 1, 119), (75, 80, 1, 119), (70, 80, 1, 239), (75, 80, 1, 239), (67, 80, 1, 239), (65, 80, 1, 239), (63, 80, 1, 239), (65, 80, 1, 119), (63, 80, 1, 119), (60, 80, 1, 239), (70, 80, 1, 239), (70, 80, 1, 239), (70, 80, 1, 239), (70, 80, 1, 239), (72, 80, 1, 119), (70, 80, 1, 119), (67, 80, 1, 119), (70, 80, 1, 119), (72, 80, 1, 119), (75, 80, 1, 119), (70, 80, 1, 239), (75, 80, 1, 239), (67, 80, 1, 239), (65, 80, 1, 239), (63, 80, 1, 239), (65, 80, 1, 119), (63, 80, 1, 119), (60, 80, 1, 239), (70, 80, 1, 239), (53, 80, 1, 239), (53, 80, 1, 239), (51, 80, 1, 239), (48, 80, 1, 119), (53, 80, 1, 119), (51, 80, 1, 239), (63, 80, 1, 239), (60, 80, 1, 239), (58, 80, 1, 239), (55, 80, 1, 239), (48, 80, 1, 239), (55, 80, 1, 239), (58, 80, 1, 239), (60, 80, 1, 119), (58, 80, 1, 119), (55, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 239), (55, 80, 1, 239), (55, 80, 1, 239), (58, 80, 1, 239), (60, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 119), (63, 80, 1, 119), (55, 80, 1, 479), (55, 80, 1, 119), (58, 80, 1, 119), (55, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 119), (63, 80, 1, 119), (58, 80, 1, 239), (55, 80, 1, 119), (60, 80, 1, 119), (58, 80, 1, 239), (55, 80, 1, 239), (55, 80, 1, 239), (58, 80, 1, 239), (63, 80, 1, 239), (63, 80, 1, 239), (60, 80, 1, 239), (58, 80, 1, 119), (60, 80, 1, 119), (63, 80, 1, 239), (63, 80, 1, 239), (55, 80, 1, 239), (58, 80, 1, 239), (60, 80, 1, 239), (56, 80, 121, 119), (55, 80, 1, 119), (56, 80, 1, 119), (55, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 239), (55, 80, 1, 239), (55, 80, 1, 239), (63, 80, 1, 239), (58, 80, 1, 119), (55, 80, 1, 119), (60, 80, 1, 119), (63, 80, 1, 119), (58, 80, 1, 239), (55, 80, 1, 119), (60, 80, 1, 119), (58, 80, 1, 239), (63, 80, 1, 239), (60, 80, 1, 119), (63, 80, 1, 119), (60, 80, 1, 119), (58, 80, 1, 119), (55, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 119), (63, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 119), (55, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 119), (63, 80, 1, 119), (60, 80, 1, 119), (58, 80, 1, 119), (55, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 239), (56, 80, 121, 119), (55, 80, 1, 359), (58, 80, 1, 119), (60, 80, 1, 119), (58, 80, 1, 119), (55, 80, 1, 119), (58, 80, 1, 119), (55, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 119), (63, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 119), (55, 80, 1, 119), (60, 80, 1, 119), (58, 80, 1, 239), (55, 80, 241, 119), (58, 80, 1, 119), (55, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 119), (58, 80, 1, 119), (63, 80, 1, 239), (60, 80, 1, 119), (58, 80, 1, 119), (55, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 239), (62, 80, 1, 239), (60, 80, 1, 239), (58, 80, 1, 239), (58, 80, 1, 239), (58, 80, 1, 119), (60, 80, 1, 119), (55, 80, 1, 119), (58, 80, 1, 119), (55, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 359), (63, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 119), (63, 80, 1, 119), (63, 80, 1, 119), (63, 80, 1, 119), (63, 80, 1, 119), (60, 80, 1, 119), (58, 80, 1, 119), (55, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 119), (63, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 119), (55, 80, 1, 119), (60, 80, 1, 119), (58, 80, 1, 119), (63, 80, 1, 119), (60, 80, 1, 119), (58, 80, 1, 119), (53, 80, 1, 239), (53, 80, 1, 239), (51, 80, 1, 239), (48, 80, 1, 119), (53, 80, 1, 119), (51, 80, 1, 239), (63, 80, 1, 239), (60, 80, 1, 239), (58, 80, 1, 239), (55, 80, 1, 239), (48, 80, 1, 239), (55, 80, 1, 239), (58, 80, 1, 239), (60, 80, 1, 119), (58, 80, 1, 119), (55, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 239), (55, 80, 1, 239), (55, 80, 1, 239), (58, 80, 1, 239), (60, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 119), (63, 80, 1, 119), (55, 80, 1, 479), (55, 80, 1, 119), (58, 80, 1, 119), (55, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 119), (63, 80, 1, 119), (58, 80, 1, 239), (55, 80, 1, 119), (60, 80, 1, 119), (58, 80, 1, 239), (55, 80, 1, 239), (55, 80, 1, 239), (58, 80, 1, 239), (63, 80, 1, 239), (63, 80, 1, 239), (60, 80, 1, 239), (58, 80, 1, 119), (60, 80, 1, 119), (63, 80, 1, 239), (63, 80, 1, 239), (55, 80, 1, 239), (58, 80, 1, 239), (60, 80, 1, 239), (56, 80, 121, 119), (55, 80, 1, 119), (56, 80, 1, 119), (55, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 239), (55, 80, 1, 239), (55, 80, 1, 239), (63, 80, 1, 239), (58, 80, 1, 119), (55, 80, 1, 119), (60, 80, 1, 119), (63, 80, 1, 119), (58, 80, 1, 239), (55, 80, 1, 119), (60, 80, 1, 119), (58, 80, 1, 239), (63, 80, 1, 239), (60, 80, 1, 119), (63, 80, 1, 119), (60, 80, 1, 119), (58, 80, 1, 119), (55, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 119), (63, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 119), (55, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 119), (63, 80, 1, 119), (60, 80, 1, 119), (58, 80, 1, 119), (55, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 239), (56, 80, 121, 119), (55, 80, 1, 359), (58, 80, 1, 119), (60, 80, 1, 119), (58, 80, 1, 119), (55, 80, 1, 119), (58, 80, 1, 119), (55, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 119), (63, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 119), (55, 80, 1, 119), (60, 80, 1, 119), (58, 80, 1, 239), (55, 80, 241, 119), (58, 80, 1, 119), (55, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 119), (58, 80, 1, 119), (63, 80, 1, 239), (60, 80, 1, 119), (58, 80, 1, 119), (55, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 239), (62, 80, 1, 239), (60, 80, 1, 239), (58, 80, 1, 239), (58, 80, 1, 239), (58, 80, 1, 119), (60, 80, 1, 119), (55, 80, 1, 119), (58, 80, 1, 119), (55, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 359), (63, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 119), (63, 80, 1, 119), (63, 80, 1, 119), (63, 80, 1, 119), (63, 80, 1, 119), (60, 80, 1, 119), (58, 80, 1, 119), (55, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 119), (63, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 119), (55, 80, 1, 119), (60, 80, 1, 119), (58, 80, 1, 119), (63, 80, 1, 119), (60, 80, 1, 119), (58, 80, 1, 119), (70, 80, 1, 239), (72, 80, 1, 119), (70, 80, 1, 119), (67, 80, 1, 119), (70, 80, 1, 119), (72, 80, 1, 119), (75, 80, 1, 119), (70, 80, 1, 239), (75, 80, 1, 239), (67, 80, 1, 239), (65, 80, 1, 239), (63, 80, 1, 239), (65, 80, 1, 119), (63, 80, 1, 119), (60, 80, 1, 239), (70, 80, 1, 239), (70, 80, 1, 239), (70, 80, 1, 239), (70, 80, 1, 239), (72, 80, 1, 119), (70, 80, 1, 119), (67, 80, 1, 119), (70, 80, 1, 119), (72, 80, 1, 119), (75, 80, 1, 119), (70, 80, 1, 239), (75, 80, 1, 239), (67, 80, 1, 239), (65, 80, 1, 239), (63, 80, 1, 239), (65, 80, 1, 119), (63, 80, 1, 119), (60, 80, 1, 239), (70, 80, 1, 239), (53, 80, 1, 239), (53, 80, 1, 239), (51, 80, 1, 239), (48, 80, 1, 119), (53, 80, 1, 119), (51, 80, 1, 239), (63, 80, 1, 239), (60, 80, 1, 239), (58, 80, 1, 239), (55, 80, 1, 239), (48, 80, 1, 239), (55, 80, 1, 239), (58, 80, 1, 239), (60, 80, 1, 119), (58, 80, 1, 119), (55, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 239), (55, 80, 1, 239), (55, 80, 1, 239), (58, 80, 1, 239), (60, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 119), (63, 80, 1, 119), (55, 80, 1, 479), (55, 80, 1, 119), (58, 80, 1, 119), (55, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 119), (63, 80, 1, 119), (58, 80, 1, 239), (55, 80, 1, 119), (60, 80, 1, 119), (58, 80, 1, 239), (55, 80, 1, 239), (55, 80, 1, 239), (58, 80, 1, 239), (63, 80, 1, 239), (63, 80, 1, 239), (60, 80, 1, 239), (58, 80, 1, 119), (60, 80, 1, 119), (63, 80, 1, 239), (63, 80, 1, 239), (55, 80, 1, 239), (58, 80, 1, 239), (60, 80, 1, 239), (56, 80, 121, 119), (55, 80, 1, 119), (56, 80, 1, 119), (55, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 239), (55, 80, 1, 239), (55, 80, 1, 239), (63, 80, 1, 239), (58, 80, 1, 119), (55, 80, 1, 119), (60, 80, 1, 119), (63, 80, 1, 119), (58, 80, 1, 239), (55, 80, 1, 119), (60, 80, 1, 119), (58, 80, 1, 239), (63, 80, 1, 239), (60, 80, 1, 119), (63, 80, 1, 119), (60, 80, 1, 119), (58, 80, 1, 119), (55, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 119), (63, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 119), (55, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 119), (63, 80, 1, 119), (60, 80, 1, 119), (58, 80, 1, 119), (55, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 239), (56, 80, 121, 119), (55, 80, 1, 359), (58, 80, 1, 119), (60, 80, 1, 119), (58, 80, 1, 119), (55, 80, 1, 119), (58, 80, 1, 119), (55, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 119), (63, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 119), (55, 80, 1, 119), (60, 80, 1, 119), (58, 80, 1, 239), (55, 80, 241, 119), (58, 80, 1, 119), (55, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 119), (58, 80, 1, 119), (63, 80, 1, 239), (60, 80, 1, 119), (58, 80, 1, 119), (55, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 239), (62, 80, 1, 239), (60, 80, 1, 239), (58, 80, 1, 239), (58, 80, 1, 239), (58, 80, 1, 119), (60, 80, 1, 119), (55, 80, 1, 119), (58, 80, 1, 119), (55, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 359), (63, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 119), (63, 80, 1, 119), (63, 80, 1, 119), (63, 80, 1, 119), (63, 80, 1, 119), (60, 80, 1, 119), (58, 80, 1, 119), (55, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 119), (63, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 119), (55, 80, 1, 119), (58, 80, 1, 119), (60, 80, 1, 119), (63, 80, 1, 119), (58, 80, 1, 239), (58, 80, 1, 239), (58, 80, 1, 479)]
def gen():
m = MidiFile(ticks_per_beat=tpb)
for i, notes in enumerate([t0, t1]):
tr = MidiTrack()
m.tracks.append(tr)
tr.name = names[i]
tr.append(Message('program_change', program=programs[i], time=0))
for n, v, t, d in notes:
tr.append(Message('note_on', note=n, velocity=v, time=t))
tr.append(Message('note_off', note=n, velocity=0, time=d))
m.save('output.mid')
print('已生成 output.mid')
gen()
- 本文来自 oeasy Python 系统教程。
- 想完整、扎实学 Python,
- 搜索 oeasy 即可。