# -*- coding: utf-8 -*- """ 音·创 v3 内置的 Midi 读取插件的数值常量 """ """ 版权所有 © 2026 金羿、玉衡Alioth、偷吃不是Touch Copyright © 2026 Eilles, YuhengAlioth, Touch 开源相关声明请见 仓库根目录下的 License.md Terms & Conditions: License.md in the root directory """ # 睿乐组织 开发交流群 861684859 # Email TriM-Organization@hotmail.com # 若需转载或借鉴 许可声明请查看仓库目录下的 License.md from typing import Dict, List, Tuple # Midi用对照表 MIDI_DEFAULT_VOLUME_VALUE: int = ( 64 # Midi默认音量,当用户未指定时,默认使用折中默认音量 ) MIDI_DEFAULT_PROGRAM_VALUE: int = ( 74 # 当 Midi 本身与用户皆未指定音色时,默认 Flute 长笛 ) # Midi乐器对MC乐器对照表 # “经典”对照表,由 Chalie Ping “查理平” 和 金羿ELS 提供 MM_CLASSIC_PITCHED_INSTRUMENT_TABLE: Dict[int, str] = { 0: "note.harp", 1: "note.harp", 2: "note.pling", 3: "note.harp", 4: "note.pling", 5: "note.pling", 6: "note.harp", 7: "note.harp", 8: "note.snare", 9: "note.harp", 10: "note.didgeridoo", 11: "note.harp", 12: "note.xylophone", 13: "note.chime", 14: "note.harp", 15: "note.harp", 16: "note.bass", 17: "note.harp", 18: "note.harp", 19: "note.harp", 20: "note.harp", 21: "note.harp", 22: "note.harp", 23: "note.guitar", 24: "note.guitar", 25: "note.guitar", 26: "note.guitar", 27: "note.guitar", 28: "note.guitar", 29: "note.guitar", 30: "note.guitar", 31: "note.bass", 32: "note.bass", 33: "note.bass", 34: "note.bass", 35: "note.bass", 36: "note.bass", 37: "note.bass", 38: "note.bass", 39: "note.bass", 40: "note.harp", 41: "note.harp", 42: "note.harp", 43: "note.harp", 44: "note.iron_xylophone", 45: "note.guitar", 46: "note.harp", 47: "note.harp", 48: "note.guitar", 49: "note.guitar", 50: "note.bit", 51: "note.bit", 52: "note.harp", 53: "note.harp", 54: "note.bit", 55: "note.flute", 56: "note.flute", 57: "note.flute", 58: "note.flute", 59: "note.flute", 60: "note.flute", 61: "note.flute", 62: "note.flute", 63: "note.flute", 64: "note.bit", 65: "note.bit", 66: "note.bit", 67: "note.bit", 68: "note.flute", 69: "note.harp", 70: "note.harp", 71: "note.flute", 72: "note.flute", 73: "note.flute", 74: "note.harp", 75: "note.flute", 76: "note.harp", 77: "note.harp", 78: "note.harp", 79: "note.harp", 80: "note.bit", 81: "note.bit", 82: "note.bit", 83: "note.bit", 84: "note.bit", 85: "note.bit", 86: "note.bit", 87: "note.bit", 88: "note.bit", 89: "note.bit", 90: "note.bit", 91: "note.bit", 92: "note.bit", 93: "note.bit", 94: "note.bit", 95: "note.bit", 96: "note.bit", 97: "note.bit", 98: "note.bit", 99: "note.bit", 100: "note.bit", 101: "note.bit", 102: "note.bit", 103: "note.bit", 104: "note.harp", 105: "note.banjo", 106: "note.harp", 107: "note.harp", 108: "note.harp", 109: "note.harp", 110: "note.harp", 111: "note.guitar", 112: "note.harp", 113: "note.bell", 114: "note.harp", 115: "note.cow_bell", 116: "note.bd", 117: "note.bass", 118: "note.bit", 119: "note.bd", 120: "note.guitar", 121: "note.harp", 122: "note.harp", 123: "note.harp", 124: "note.harp", 125: "note.hat", 126: "note.bd", 127: "note.snare", } """“经典”乐音乐器对照表""" MM_CLASSIC_PERCUSSION_INSTRUMENT_TABLE: Dict[int, str] = { 34: "note.bd", 35: "note.bd", 36: "note.hat", 37: "note.snare", 38: "note.snare", 39: "note.snare", 40: "note.hat", 41: "note.snare", 42: "note.hat", 43: "note.snare", 44: "note.snare", 45: "note.bell", 46: "note.snare", 47: "note.snare", 48: "note.bell", 49: "note.hat", 50: "note.bell", 51: "note.bell", 52: "note.bell", 53: "note.bell", 54: "note.bell", 55: "note.bell", 56: "note.snare", 57: "note.hat", 58: "note.chime", 59: "note.iron_xylophone", 60: "note.bd", 61: "note.bd", 62: "note.xylophone", 63: "note.xylophone", 64: "note.xylophone", 65: "note.hat", 66: "note.bell", 67: "note.bell", 68: "note.hat", 69: "note.hat", 70: "note.snare", 71: "note.flute", 72: "note.hat", 73: "note.hat", 74: "note.xylophone", 75: "note.hat", 76: "note.hat", 77: "note.xylophone", 78: "note.xylophone", 79: "note.bell", 80: "note.bell", } """“经典”打击乐器对照表""" # Touch “偷吃” 高准确率音色对照表 MM_TOUCH_PITCHED_INSTRUMENT_TABLE: Dict[int, str] = { 0: "note.harp", 1: "note.harp", 2: "note.pling", 3: "note.harp", 4: "note.pling", 5: "note.pling", 6: "note.guitar", 7: "note.guitar", 8: "note.iron_xylophone", 9: "note.bell", 10: "note.iron_xylophone", 11: "note.iron_xylophone", 12: "note.iron_xylophone", 13: "note.xylophone", 14: "note.chime", 15: "note.banjo", 16: "note.xylophone", 17: "note.iron_xylophone", 18: "note.flute", 19: "note.flute", 20: "note.flute", 21: "note.flute", 22: "note.flute", 23: "note.flute", 24: "note.guitar", 25: "note.guitar", 26: "note.guitar", 27: "note.guitar", 28: "note.guitar", 29: "note.guitar", 30: "note.guitar", 31: "note.bass", 32: "note.bass", 33: "note.bass", 34: "note.bass", 35: "note.bass", 36: "note.bass", 37: "note.bass", 38: "note.bass", 39: "note.bass", 40: "note.flute", 41: "note.flute", 42: "note.flute", 43: "note.bass", 44: "note.flute", 45: "note.iron_xylophone", 46: "note.harp", 47: "note.snare", 48: "note.flute", 49: "note.flute", 50: "note.flute", 51: "note.flute", 52: "note.didgeridoo", 53: "note.flute", 54: "note.flute", 55: "mob.zombie.wood", 56: "note.flute", 57: "note.flute", 58: "note.flute", 59: "note.flute", 60: "note.flute", 61: "note.flute", 62: "note.flute", 63: "note.flute", 64: "note.bit", 65: "note.bit", 66: "note.bit", 67: "note.bit", 68: "note.flute", 69: "note.bit", 70: "note.banjo", 71: "note.flute", 72: "note.flute", 73: "note.flute", 74: "note.flute", 75: "note.flute", 76: "note.iron_xylophone", 77: "note.iron_xylophone", 78: "note.flute", 79: "note.flute", 80: "note.bit", 81: "note.bit", 82: "note.flute", 83: "note.flute", 84: "note.guitar", 85: "note.flute", 86: "note.bass", 87: "note.bass", 88: "note.bit", 89: "note.flute", 90: "note.bit", 91: "note.flute", 92: "note.bell", 93: "note.guitar", 94: "note.flute", 95: "note.bit", 96: "note.bit", 97: "note.flute", 98: "note.bell", 99: "note.bit", 100: "note.bit", 101: "note.bit", 102: "note.bit", 103: "note.bit", 104: "note.iron_xylophone", 105: "note.banjo", 106: "note.harp", 107: "note.harp", 108: "note.bell", 109: "note.flute", 110: "note.flute", 111: "note.flute", 112: "note.bell", 113: "note.xylophone", 114: "note.flute", 115: "note.hat", 116: "note.snare", 117: "note.snare", 118: "note.bd", 119: "firework.blast", 120: "note.guitar", 121: "note.harp", 122: "note.harp", 123: "note.harp", 124: "note.bit", 125: "note.hat", 126: "firework.twinkle", 127: "mob.zombie.wood", } """“偷吃”乐音乐器对照表""" MM_TOUCH_PERCUSSION_INSTRUMENT_TABLE: Dict[int, str] = { 34: "note.hat", 35: "note.bd", 36: "note.bd", 37: "note.snare", 38: "note.snare", 39: "fire.ignite", 40: "note.snare", 41: "note.hat", 42: "note.hat", 43: "firework.blast", 44: "note.hat", 45: "note.snare", 46: "note.snare", 47: "note.snare", 48: "note.bell", 49: "note.hat", 50: "note.bell", 51: "note.bell", 52: "note.bell", 53: "note.bell", 54: "note.bell", 55: "note.bell", 56: "note.snare", 57: "note.hat", 58: "note.chime", 59: "note.iron_xylophone", 60: "note.bd", 61: "note.bd", 62: "note.xylophone", 63: "note.xylophone", 64: "note.xylophone", 65: "note.hat", 66: "note.bell", 67: "note.bell", 68: "note.hat", 69: "note.hat", 70: "note.snare", 71: "note.flute", 72: "note.hat", 73: "note.hat", 74: "note.xylophone", 75: "note.hat", 76: "note.hat", 77: "note.xylophone", 78: "note.xylophone", 79: "note.bell", 80: "note.bell", } """“偷吃”打击乐器对照表""" # 金羿音色对照表,在偷吃的表的基础上修改而来 MM_EILLES_PITCHED_INSTRUMENT_TABLE: Dict[int, str] = ( MM_TOUCH_PITCHED_INSTRUMENT_TABLE | { 57: "note.trumpet", 58: "note.trumpet_exposed", 59: "note.trumpet_weathered", 61: "note.trumpet", 62: "note.trumpet_oxidized", 63: "note.trumpet_weathered", 64: "note.trumpet_oxidized", 65: "note.trumpet", 66: "note.trumpet_exposed", 67: "note.trumpet_weathered", 68: "note.trumpet_oxidized", 69: "note.trumpet", 70: "note.trumpet", 71: "note.trumpet_exposed", 72: "note.banjo", } ) """“金羿”乐音乐器对照表""" MM_EILLES_PERCUSSION_INSTRUMENT_TABLE: Dict[int, str] = {} """“金羿”打击乐器对照表""" # Dislink “断联” 音色对照表 # https://github.com/Dislink/midi2bdx/blob/main/index.html MM_DISLINK_PITCHED_INSTRUMENT_TABLE: Dict[int, str] = { 0: "note.harp", 1: "note.harp", 2: "note.pling", 3: "note.harp", 4: "note.harp", 5: "note.harp", 6: "note.harp", 7: "note.harp", 8: "note.iron_xylophone", 9: "note.bell", 10: "note.iron_xylophone", 11: "note.iron_xylophone", 12: "note.iron_xylophone", 13: "note.iron_xylophone", 14: "note.chime", 15: "note.iron_xylophone", 16: "note.harp", 17: "note.harp", 18: "note.harp", 19: "note.harp", 20: "note.harp", 21: "note.harp", 22: "note.harp", 23: "note.harp", 24: "note.guitar", 25: "note.guitar", 26: "note.guitar", 27: "note.guitar", 28: "note.guitar", 29: "note.guitar", 30: "note.guitar", 31: "note.guitar", 32: "note.bass", 33: "note.bass", 34: "note.bass", 35: "note.bass", 36: "note.bass", 37: "note.bass", 38: "note.bass", 39: "note.bass", 40: "note.harp", 41: "note.flute", 42: "note.flute", 43: "note.flute", 44: "note.flute", 45: "note.harp", 46: "note.harp", 47: "note.harp", 48: "note.harp", 49: "note.harp", 50: "note.harp", 51: "note.harp", 52: "note.harp", 53: "note.harp", 54: "note.harp", 55: "note.harp", 56: "note.harp", 57: "note.harp", 58: "note.harp", 59: "note.harp", 60: "note.harp", 61: "note.harp", 62: "note.harp", 63: "note.harp", 64: "note.harp", 65: "note.harp", 66: "note.harp", 67: "note.harp", 68: "note.harp", 69: "note.harp", 70: "note.harp", 71: "note.harp", 72: "note.flute", 73: "note.flute", 74: "note.flute", 75: "note.flute", 76: "note.flute", 77: "note.flute", 78: "note.flute", 79: "note.flute", 80: "note.bit", 81: "note.bit", 82: "note.harp", 83: "note.harp", 84: "note.harp", 85: "note.harp", 86: "note.harp", 87: "note.harp", 88: "note.harp", 89: "note.harp", 90: "note.harp", 91: "note.harp", 92: "note.harp", 93: "note.harp", 94: "note.harp", 95: "note.harp", 96: "note.harp", 97: "note.harp", 98: "note.harp", 99: "note.harp", 100: "note.harp", 101: "note.harp", 102: "note.harp", 103: "note.harp", 104: "note.harp", 105: "note.banjo", 106: "note.harp", 107: "note.harp", 108: "note.harp", 109: "note.harp", 110: "note.harp", 111: "note.harp", 112: "note.cow_bell", 113: "note.harp", 114: "note.harp", 115: "note.bd", 116: "note.bd", 117: "note.bd", 118: "note.bd", 119: "note.harp", 120: "note.harp", 121: "note.harp", 122: "note.harp", 123: "note.harp", 124: "note.harp", 125: "note.harp", 126: "note.harp", 127: "note.harp", } """“断联”乐音乐器对照表""" MM_DISLINK_PERCUSSION_INSTRUMENT_TABLE: Dict[int, str] = { 34: "note.bd", 35: "note.bd", 36: "note.snare", 37: "note.snare", 38: "note.bd", 39: "note.snare", 40: "note.bd", 41: "note.hat", 42: "note.bd", 43: "note.hat", 44: "note.bd", 45: "note.hat", 46: "note.bd", 47: "note.bd", 48: "note.bd", 49: "note.bd", 50: "note.bd", 51: "note.bd", 52: "note.bd", 53: "note.bd", 54: "note.bd", 55: "note.cow_bell", 56: "note.bd", 57: "note.bd", 58: "note.bd", 59: "note.bd", 60: "note.bd", 61: "note.bd", 62: "note.bd", 63: "note.bd", 64: "note.bd", 65: "note.bd", 66: "note.bd", 67: "note.bd", 68: "note.bd", 69: "note.bd", 70: "note.bd", 71: "note.bd", 72: "note.bd", 73: "note.bd", 74: "note.bd", 75: "note.bd", 76: "note.bd", 77: "note.bd", 78: "note.bd", 79: "note.bd", 80: "note.bd", } """“断联”打击乐器对照表""" # NoteBlockStudio “NBS”音色对照表 # https://github.com/OpenNBS/NoteBlockStudio/blob/main/scripts/midi_instruments/midi_instruments.gml # 此表来自于 Commit 1ab5357c197872495197f27ad8374d711b2a5195 # 需要更新:https://github.com/OpenNBS/NoteBlockStudio/compare/main...development?diff=unified&w MM_NBS_PITCHED_INSTRUMENT_TABLE: Dict[int, str] = { 0: "note.harp", 1: "note.pling", 2: "note.harp", 3: "note.pling", 4: "note.harp", 5: "note.harp", 6: "note.guitar", 7: "note.banjo", 8: "note.bell", 9: "note.bell", 10: "note.bell", 11: "note.iron_xylophone", 12: "note.iron_xylophone", 13: "note.xylophone", 14: "note.bell", 15: "note.iron_xylophone", 16: "note.flute", 17: "note.flute", 18: "note.flute", 19: "note.flute", 20: "note.flute", 21: "note.flute", 22: "note.flute", 23: "note.flute", 24: "note.guitar", 25: "note.guitar", 26: "note.guitar", 27: "note.bass", 28: "note.guitar", 29: "note.guitar", 30: "note.bass", 31: "note.bass", 32: "note.bass", 33: "note.guitar", 34: "note.guitar", 35: "note.bass", 36: "note.pling", 37: "note.flute", 38: "note.flute", 39: "note.flute", 40: "note.flute", 41: "note.flute", 42: "note.didgeridoo", 43: "note.flute", 44: "note.didgeridoo", 45: "note.flute", 46: "note.flute", 47: "note.flute", 48: "note.flute", 49: "note.flute", 50: "note.flute", 51: "note.flute", 52: "note.flute", 53: "note.flute", 54: "note.flute", 55: "note.flute", 56: "note.flute", 57: "note.flute", 58: "note.flute", 59: "note.flute", 60: "note.bit", 61: "note.flute", 62: "note.flute", 63: "note.flute", 64: "note.flute", 65: "note.guitar", 66: "note.flute", 67: "note.flute", 68: "note.flute", 69: "note.bell", 70: "note.flute", 71: "note.flute", 72: "note.flute", 73: "note.flute", 74: "note.chime", 75: "note.flute", 76: "note.flute", 77: "note.guitar", 78: "note.pling", 79: "note.flute", 80: "note.guitar", 81: "note.banjo", 82: "note.banjo", 83: "note.banjo", 84: "note.guitar", 85: "note.iron_xylophone", 86: "note.flute", 87: "note.flute", 88: "note.chime", 89: "note.cow_bell", 90: "note.iron_xylophone", 91: "note.xylophone", 92: "note.basedrum", 93: "note.snare", 94: "note.snare", 95: "note.basedrum", 96: "note.snare", 97: "note.hat", 98: "note.snare", 99: "note.hat", 100: "note.basedrum", 101: "note.hat", 102: "note.basedrum", 103: "note.hat", 104: "note.basedrum", 105: "note.snare", 106: "note.snare", 107: "note.snare", 108: "note.cow_bell", 109: "note.snare", 110: "note.hat", 111: "note.snare", 112: "note.hat", 113: "note.hat", 114: "note.hat", 115: "note.hat", 116: "note.hat", 117: "note.chime", 118: "note.hat", 119: "note.snare", 120: "note.hat", 121: "note.hat", 122: "note.hat", 123: "note.hat", 124: "note.hat", 125: "note.snare", 126: "note.basedrum", 127: "note.basedrum", } """“NBS”乐音乐器对照表""" MM_NBS_PERCUSSION_INSTRUMENT_TABLE: Dict[int, str] = { 24: "note.bit", 25: "note.snare", 26: "note.hat", 27: "note.snare", 28: "note.snare", 29: "note.hat", 30: "note.hat", 31: "note.hat", 32: "note.hat", 33: "note.hat", 34: "note.chime", 35: "note.basedrum", 36: "note.basedrum", 37: "note.hat", 38: "note.snare", 39: "note.hat", 40: "note.snare", 41: "note.basedrum", 42: "note.snare", 43: "note.basedrum", 44: "note.snare", 45: "note.basedrum", 46: "note.basedrum", 47: "note.snare", 48: "note.snare", 49: "note.snare", 50: "note.snare", 51: "note.snare", 52: "note.snare", 53: "note.hat", 54: "note.snare", 55: "note.snare", 56: "note.cow_bell", 57: "note.snare", 58: "note.hat", 59: "note.snare", 60: "note.hat", 61: "note.hat", 62: "note.hat", 63: "note.basedrum", 64: "note.basedrum", 65: "note.snare", 66: "note.snare", 67: "note.xylophone", 68: "note.xylophone", 69: "note.hat", 70: "note.hat", 71: "note.flute", 72: "note.flute", 73: "note.hat", 74: "note.hat", 75: "note.hat", 76: "note.hat", 77: "note.hat", 78: "note.didgeridoo", 79: "note.didgeridoo", 80: "note.hat", 81: "note.chime", 82: "note.hat", 83: "note.chime", 84: "note.chime", 85: "note.hat", 86: "note.basedrum", 87: "note.basedrum", } """“NBS”打击乐器对照表""" # 默认音色对照表 MM_DEFAULT_PITCHED_INSTRUMENT_TABLE = MM_EILLES_PITCHED_INSTRUMENT_TABLE """默认的乐音乐器音色对照表""" MM_DEFAULT_PERCUSSION_INSTRUMENT_TABLE = MM_TOUCH_PERCUSSION_INSTRUMENT_TABLE """默认的打击乐器音色对照表"""