asigalov61
commited on
Commit
•
866d7df
1
Parent(s):
fa306c1
Upload TMIDIX.py
Browse files
TMIDIX.py
CHANGED
@@ -9748,6 +9748,323 @@ def escore_notes_to_text_description(escore_notes, song_name='', artist_name='')
|
|
9748 |
|
9749 |
return description
|
9750 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9751 |
###################################################################################
|
9752 |
#
|
9753 |
# This is the end of the TMIDI X Python module
|
|
|
9748 |
|
9749 |
return description
|
9750 |
|
9751 |
+
###################################################################################
|
9752 |
+
|
9753 |
+
#==================================================================================
|
9754 |
+
#
|
9755 |
+
# Below constants code is a courtesy of MidiTok
|
9756 |
+
#
|
9757 |
+
# Retrieved on 12/29/2024
|
9758 |
+
#
|
9759 |
+
# https://github.com/Natooz/MidiTok/blob/main/src/miditok/constants.py
|
9760 |
+
#
|
9761 |
+
#==================================================================================
|
9762 |
+
|
9763 |
+
MIDI_FILES_EXTENSIONS = [".mid", ".midi", ".kar", ".MID", ".MIDI", ".KAR"]
|
9764 |
+
|
9765 |
+
# The recommended pitches for piano in the GM2 specs are from 21 to 108
|
9766 |
+
PIANO_PITCH_RANGE = range(21, 109)
|
9767 |
+
|
9768 |
+
# Chord params
|
9769 |
+
# "chord_unknown" specifies the range of number of notes that can form "unknown" chords
|
9770 |
+
# (that do not fit in "chord_maps") to add in tokens.
|
9771 |
+
# Known chord maps, with 0 as root note
|
9772 |
+
BASIC_CHORDS_MAP = {
|
9773 |
+
"min": (0, 3, 7),
|
9774 |
+
"maj": (0, 4, 7),
|
9775 |
+
"dim": (0, 3, 6),
|
9776 |
+
"aug": (0, 4, 8),
|
9777 |
+
"sus2": (0, 2, 7),
|
9778 |
+
"sus4": (0, 5, 7),
|
9779 |
+
"7dom": (0, 4, 7, 10),
|
9780 |
+
"7min": (0, 3, 7, 10),
|
9781 |
+
"7maj": (0, 4, 7, 11),
|
9782 |
+
"7halfdim": (0, 3, 6, 10),
|
9783 |
+
"7dim": (0, 3, 6, 9),
|
9784 |
+
"7aug": (0, 4, 8, 11),
|
9785 |
+
"9maj": (0, 4, 7, 10, 14),
|
9786 |
+
"9min": (0, 4, 7, 10, 13),
|
9787 |
+
}
|
9788 |
+
|
9789 |
+
# Drums
|
9790 |
+
# Recommended range from the GM2 specs
|
9791 |
+
DRUMS_PITCH_RANGE = range(27, 90)
|
9792 |
+
|
9793 |
+
# Used with chords
|
9794 |
+
PITCH_CLASSES = ["C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B"]
|
9795 |
+
|
9796 |
+
# http://newt.phys.unsw.edu.au/jw/notes.html
|
9797 |
+
# https://www.midi.org/specifications
|
9798 |
+
|
9799 |
+
# index i = program i+1 in the GM2 specs (7. Appendix A)
|
9800 |
+
# index i = program i as retrieved by packages
|
9801 |
+
MIDI_INSTRUMENTS = [
|
9802 |
+
# Piano
|
9803 |
+
{"name": "Acoustic Grand Piano", "pitch_range": range(21, 109)},
|
9804 |
+
{"name": "Bright Acoustic Piano", "pitch_range": range(21, 109)},
|
9805 |
+
{"name": "Electric Grand Piano", "pitch_range": range(21, 109)},
|
9806 |
+
{"name": "Honky-tonk Piano", "pitch_range": range(21, 109)},
|
9807 |
+
{"name": "Electric Piano 1", "pitch_range": range(28, 104)},
|
9808 |
+
{"name": "Electric Piano 2", "pitch_range": range(28, 104)},
|
9809 |
+
{"name": "Harpsichord", "pitch_range": range(41, 90)},
|
9810 |
+
{"name": "Clavi", "pitch_range": range(36, 97)},
|
9811 |
+
# Chromatic Percussion
|
9812 |
+
{"name": "Celesta", "pitch_range": range(60, 109)},
|
9813 |
+
{"name": "Glockenspiel", "pitch_range": range(72, 109)},
|
9814 |
+
{"name": "Music Box", "pitch_range": range(60, 85)},
|
9815 |
+
{"name": "Vibraphone", "pitch_range": range(53, 90)},
|
9816 |
+
{"name": "Marimba", "pitch_range": range(48, 85)},
|
9817 |
+
{"name": "Xylophone", "pitch_range": range(65, 97)},
|
9818 |
+
{"name": "Tubular Bells", "pitch_range": range(60, 78)},
|
9819 |
+
{"name": "Dulcimer", "pitch_range": range(60, 85)},
|
9820 |
+
# Organs
|
9821 |
+
{"name": "Drawbar Organ", "pitch_range": range(36, 97)},
|
9822 |
+
{"name": "Percussive Organ", "pitch_range": range(36, 97)},
|
9823 |
+
{"name": "Rock Organ", "pitch_range": range(36, 97)},
|
9824 |
+
{"name": "Church Organ", "pitch_range": range(21, 109)},
|
9825 |
+
{"name": "Reed Organ", "pitch_range": range(36, 97)},
|
9826 |
+
{"name": "Accordion", "pitch_range": range(53, 90)},
|
9827 |
+
{"name": "Harmonica", "pitch_range": range(60, 85)},
|
9828 |
+
{"name": "Tango Accordion", "pitch_range": range(53, 90)},
|
9829 |
+
# Guitars
|
9830 |
+
{"name": "Acoustic Guitar (nylon)", "pitch_range": range(40, 85)},
|
9831 |
+
{"name": "Acoustic Guitar (steel)", "pitch_range": range(40, 85)},
|
9832 |
+
{"name": "Electric Guitar (jazz)", "pitch_range": range(40, 87)},
|
9833 |
+
{"name": "Electric Guitar (clean)", "pitch_range": range(40, 87)},
|
9834 |
+
{"name": "Electric Guitar (muted)", "pitch_range": range(40, 87)},
|
9835 |
+
{"name": "Overdriven Guitar", "pitch_range": range(40, 87)},
|
9836 |
+
{"name": "Distortion Guitar", "pitch_range": range(40, 87)},
|
9837 |
+
{"name": "Guitar Harmonics", "pitch_range": range(40, 87)},
|
9838 |
+
# Bass
|
9839 |
+
{"name": "Acoustic Bass", "pitch_range": range(28, 56)},
|
9840 |
+
{"name": "Electric Bass (finger)", "pitch_range": range(28, 56)},
|
9841 |
+
{"name": "Electric Bass (pick)", "pitch_range": range(28, 56)},
|
9842 |
+
{"name": "Fretless Bass", "pitch_range": range(28, 56)},
|
9843 |
+
{"name": "Slap Bass 1", "pitch_range": range(28, 56)},
|
9844 |
+
{"name": "Slap Bass 2", "pitch_range": range(28, 56)},
|
9845 |
+
{"name": "Synth Bass 1", "pitch_range": range(28, 56)},
|
9846 |
+
{"name": "Synth Bass 2", "pitch_range": range(28, 56)},
|
9847 |
+
# Strings & Orchestral instruments
|
9848 |
+
{"name": "Violin", "pitch_range": range(55, 94)},
|
9849 |
+
{"name": "Viola", "pitch_range": range(48, 85)},
|
9850 |
+
{"name": "Cello", "pitch_range": range(36, 73)},
|
9851 |
+
{"name": "Contrabass", "pitch_range": range(28, 56)},
|
9852 |
+
{"name": "Tremolo Strings", "pitch_range": range(28, 94)},
|
9853 |
+
{"name": "Pizzicato Strings", "pitch_range": range(28, 94)},
|
9854 |
+
{"name": "Orchestral Harp", "pitch_range": range(23, 104)},
|
9855 |
+
{"name": "Timpani", "pitch_range": range(36, 58)},
|
9856 |
+
# Ensembles
|
9857 |
+
{"name": "String Ensembles 1", "pitch_range": range(28, 97)},
|
9858 |
+
{"name": "String Ensembles 2", "pitch_range": range(28, 97)},
|
9859 |
+
{"name": "SynthStrings 1", "pitch_range": range(36, 97)},
|
9860 |
+
{"name": "SynthStrings 2", "pitch_range": range(36, 97)},
|
9861 |
+
{"name": "Choir Aahs", "pitch_range": range(48, 80)},
|
9862 |
+
{"name": "Voice Oohs", "pitch_range": range(48, 80)},
|
9863 |
+
{"name": "Synth Voice", "pitch_range": range(48, 85)},
|
9864 |
+
{"name": "Orchestra Hit", "pitch_range": range(48, 73)},
|
9865 |
+
# Brass
|
9866 |
+
{"name": "Trumpet", "pitch_range": range(58, 95)},
|
9867 |
+
{"name": "Trombone", "pitch_range": range(34, 76)},
|
9868 |
+
{"name": "Tuba", "pitch_range": range(29, 56)},
|
9869 |
+
{"name": "Muted Trumpet", "pitch_range": range(58, 83)},
|
9870 |
+
{"name": "French Horn", "pitch_range": range(41, 78)},
|
9871 |
+
{"name": "Brass Section", "pitch_range": range(36, 97)},
|
9872 |
+
{"name": "Synth Brass 1", "pitch_range": range(36, 97)},
|
9873 |
+
{"name": "Synth Brass 2", "pitch_range": range(36, 97)},
|
9874 |
+
# Reed
|
9875 |
+
{"name": "Soprano Sax", "pitch_range": range(54, 88)},
|
9876 |
+
{"name": "Alto Sax", "pitch_range": range(49, 81)},
|
9877 |
+
{"name": "Tenor Sax", "pitch_range": range(42, 76)},
|
9878 |
+
{"name": "Baritone Sax", "pitch_range": range(37, 69)},
|
9879 |
+
{"name": "Oboe", "pitch_range": range(58, 92)},
|
9880 |
+
{"name": "English Horn", "pitch_range": range(52, 82)},
|
9881 |
+
{"name": "Bassoon", "pitch_range": range(34, 73)},
|
9882 |
+
{"name": "Clarinet", "pitch_range": range(50, 92)},
|
9883 |
+
# Pipe
|
9884 |
+
{"name": "Piccolo", "pitch_range": range(74, 109)},
|
9885 |
+
{"name": "Flute", "pitch_range": range(60, 97)},
|
9886 |
+
{"name": "Recorder", "pitch_range": range(60, 97)},
|
9887 |
+
{"name": "Pan Flute", "pitch_range": range(60, 97)},
|
9888 |
+
{"name": "Blown Bottle", "pitch_range": range(60, 97)},
|
9889 |
+
{"name": "Shakuhachi", "pitch_range": range(55, 85)},
|
9890 |
+
{"name": "Whistle", "pitch_range": range(60, 97)},
|
9891 |
+
{"name": "Ocarina", "pitch_range": range(60, 85)},
|
9892 |
+
# Synth Lead
|
9893 |
+
{"name": "Lead 1 (square)", "pitch_range": range(21, 109)},
|
9894 |
+
{"name": "Lead 2 (sawtooth)", "pitch_range": range(21, 109)},
|
9895 |
+
{"name": "Lead 3 (calliope)", "pitch_range": range(36, 97)},
|
9896 |
+
{"name": "Lead 4 (chiff)", "pitch_range": range(36, 97)},
|
9897 |
+
{"name": "Lead 5 (charang)", "pitch_range": range(36, 97)},
|
9898 |
+
{"name": "Lead 6 (voice)", "pitch_range": range(36, 97)},
|
9899 |
+
{"name": "Lead 7 (fifths)", "pitch_range": range(36, 97)},
|
9900 |
+
{"name": "Lead 8 (bass + lead)", "pitch_range": range(21, 109)},
|
9901 |
+
# Synth Pad
|
9902 |
+
{"name": "Pad 1 (new age)", "pitch_range": range(36, 97)},
|
9903 |
+
{"name": "Pad 2 (warm)", "pitch_range": range(36, 97)},
|
9904 |
+
{"name": "Pad 3 (polysynth)", "pitch_range": range(36, 97)},
|
9905 |
+
{"name": "Pad 4 (choir)", "pitch_range": range(36, 97)},
|
9906 |
+
{"name": "Pad 5 (bowed)", "pitch_range": range(36, 97)},
|
9907 |
+
{"name": "Pad 6 (metallic)", "pitch_range": range(36, 97)},
|
9908 |
+
{"name": "Pad 7 (halo)", "pitch_range": range(36, 97)},
|
9909 |
+
{"name": "Pad 8 (sweep)", "pitch_range": range(36, 97)},
|
9910 |
+
# Synth SFX
|
9911 |
+
{"name": "FX 1 (rain)", "pitch_range": range(36, 97)},
|
9912 |
+
{"name": "FX 2 (soundtrack)", "pitch_range": range(36, 97)},
|
9913 |
+
{"name": "FX 3 (crystal)", "pitch_range": range(36, 97)},
|
9914 |
+
{"name": "FX 4 (atmosphere)", "pitch_range": range(36, 97)},
|
9915 |
+
{"name": "FX 5 (brightness)", "pitch_range": range(36, 97)},
|
9916 |
+
{"name": "FX 6 (goblins)", "pitch_range": range(36, 97)},
|
9917 |
+
{"name": "FX 7 (echoes)", "pitch_range": range(36, 97)},
|
9918 |
+
{"name": "FX 8 (sci-fi)", "pitch_range": range(36, 97)},
|
9919 |
+
# Ethnic Misc.
|
9920 |
+
{"name": "Sitar", "pitch_range": range(48, 78)},
|
9921 |
+
{"name": "Banjo", "pitch_range": range(48, 85)},
|
9922 |
+
{"name": "Shamisen", "pitch_range": range(50, 80)},
|
9923 |
+
{"name": "Koto", "pitch_range": range(55, 85)},
|
9924 |
+
{"name": "Kalimba", "pitch_range": range(48, 80)},
|
9925 |
+
{"name": "Bag pipe", "pitch_range": range(36, 78)},
|
9926 |
+
{"name": "Fiddle", "pitch_range": range(55, 97)},
|
9927 |
+
{"name": "Shanai", "pitch_range": range(48, 73)},
|
9928 |
+
# Percussive
|
9929 |
+
{"name": "Tinkle Bell", "pitch_range": range(72, 85)},
|
9930 |
+
{"name": "Agogo", "pitch_range": range(60, 73)},
|
9931 |
+
{"name": "Steel Drums", "pitch_range": range(52, 77)},
|
9932 |
+
{"name": "Woodblock", "pitch_range": range(128)},
|
9933 |
+
{"name": "Taiko Drum", "pitch_range": range(128)},
|
9934 |
+
{"name": "Melodic Tom", "pitch_range": range(128)},
|
9935 |
+
{"name": "Synth Drum", "pitch_range": range(128)},
|
9936 |
+
{"name": "Reverse Cymbal", "pitch_range": range(128)},
|
9937 |
+
# SFX
|
9938 |
+
{"name": "Guitar Fret Noise, Guitar Cutting Noise", "pitch_range": range(128)},
|
9939 |
+
{"name": "Breath Noise, Flute Key Click", "pitch_range": range(128)},
|
9940 |
+
{
|
9941 |
+
"name": "Seashore, Rain, Thunder, Wind, Stream, Bubbles",
|
9942 |
+
"pitch_range": range(128),
|
9943 |
+
},
|
9944 |
+
{"name": "Bird Tweet, Dog, Horse Gallop", "pitch_range": range(128)},
|
9945 |
+
{
|
9946 |
+
"name": "Telephone Ring, Door Creaking, Door, Scratch, Wind Chime",
|
9947 |
+
"pitch_range": range(128),
|
9948 |
+
},
|
9949 |
+
{"name": "Helicopter, Car Sounds", "pitch_range": range(128)},
|
9950 |
+
{
|
9951 |
+
"name": "Applause, Laughing, Screaming, Punch, Heart Beat, Footstep",
|
9952 |
+
"pitch_range": range(128),
|
9953 |
+
},
|
9954 |
+
{"name": "Gunshot, Machine Gun, Lasergun, Explosion", "pitch_range": range(128)},
|
9955 |
+
]
|
9956 |
+
|
9957 |
+
INSTRUMENTS_CLASSES = [
|
9958 |
+
{"name": "Piano", "program_range": range(8)}, # 0
|
9959 |
+
{"name": "Chromatic Percussion", "program_range": range(8, 16)},
|
9960 |
+
{"name": "Organ", "program_range": range(16, 24)},
|
9961 |
+
{"name": "Guitar", "program_range": range(24, 32)},
|
9962 |
+
{"name": "Bass", "program_range": range(32, 40)},
|
9963 |
+
{"name": "Strings", "program_range": range(40, 48)}, # 5
|
9964 |
+
{"name": "Ensemble", "program_range": range(48, 56)},
|
9965 |
+
{"name": "Brass", "program_range": range(56, 64)},
|
9966 |
+
{"name": "Reed", "program_range": range(64, 72)},
|
9967 |
+
{"name": "Pipe", "program_range": range(72, 80)},
|
9968 |
+
{"name": "Synth Lead", "program_range": range(80, 88)}, # 10
|
9969 |
+
{"name": "Synth Pad", "program_range": range(88, 96)},
|
9970 |
+
{"name": "Synth Effects", "program_range": range(96, 104)},
|
9971 |
+
{"name": "Ethnic", "program_range": range(104, 112)},
|
9972 |
+
{"name": "Percussive", "program_range": range(112, 120)},
|
9973 |
+
{"name": "Sound Effects", "program_range": range(120, 128)}, # 15
|
9974 |
+
{"name": "Drums", "program_range": range(-1, 0)},
|
9975 |
+
]
|
9976 |
+
|
9977 |
+
# To easily get the class index of any instrument program
|
9978 |
+
CLASS_OF_INST = [
|
9979 |
+
i
|
9980 |
+
for i, inst_class in enumerate(INSTRUMENT_CLASSES)
|
9981 |
+
for _ in inst_class["program_range"]
|
9982 |
+
]
|
9983 |
+
|
9984 |
+
# index i = program i+1 in the GM2 specs (8. Appendix B)
|
9985 |
+
# index i = program i retrieved by packages
|
9986 |
+
DRUMS_SETS = {
|
9987 |
+
0: "Standard",
|
9988 |
+
8: "Room",
|
9989 |
+
16: "Power",
|
9990 |
+
24: "Electronic",
|
9991 |
+
25: "Analog",
|
9992 |
+
32: "Jazz",
|
9993 |
+
40: "Brush",
|
9994 |
+
48: "Orchestra",
|
9995 |
+
56: "SFX",
|
9996 |
+
}
|
9997 |
+
|
9998 |
+
# Control changes list (without specifications):
|
9999 |
+
# https://www.midi.org/specifications-old/item/table-3-control-change-messages-data-bytes-2
|
10000 |
+
# Undefined and general control changes are not considered here
|
10001 |
+
# All these attributes can take values from 0 to 127, with some of them being on/off
|
10002 |
+
CONTROL_CHANGES = {
|
10003 |
+
# MSB
|
10004 |
+
0: "Bank Select",
|
10005 |
+
1: "Modulation Depth",
|
10006 |
+
2: "Breath Controller",
|
10007 |
+
4: "Foot Controller",
|
10008 |
+
5: "Portamento Time",
|
10009 |
+
6: "Data Entry",
|
10010 |
+
7: "Channel Volume",
|
10011 |
+
8: "Balance",
|
10012 |
+
10: "Pan",
|
10013 |
+
11: "Expression Controller",
|
10014 |
+
# LSB
|
10015 |
+
32: "Bank Select",
|
10016 |
+
33: "Modulation Depth",
|
10017 |
+
34: "Breath Controller",
|
10018 |
+
36: "Foot Controller",
|
10019 |
+
37: "Portamento Time",
|
10020 |
+
38: "Data Entry",
|
10021 |
+
39: "Channel Volume",
|
10022 |
+
40: "Balance",
|
10023 |
+
42: "Pan",
|
10024 |
+
43: "Expression Controller",
|
10025 |
+
# On / Off control changes, ≤63 off, ≥64 on
|
10026 |
+
64: "Damper Pedal",
|
10027 |
+
65: "Portamento",
|
10028 |
+
66: "Sostenuto",
|
10029 |
+
67: "Soft Pedal",
|
10030 |
+
68: "Legato Footswitch",
|
10031 |
+
69: "Hold 2",
|
10032 |
+
# Continuous controls
|
10033 |
+
70: "Sound Variation",
|
10034 |
+
71: "Timbre/Harmonic Intensity",
|
10035 |
+
72: "Release Time",
|
10036 |
+
73: "Attack Time",
|
10037 |
+
74: "Brightness",
|
10038 |
+
75: "Decay Time",
|
10039 |
+
76: "Vibrato Rate",
|
10040 |
+
77: "Vibrato Depth",
|
10041 |
+
78: "Vibrato Delay",
|
10042 |
+
84: "Portamento Control",
|
10043 |
+
88: "High Resolution Velocity Prefix",
|
10044 |
+
# Effects depths
|
10045 |
+
91: "Reverb Depth",
|
10046 |
+
92: "Tremolo Depth",
|
10047 |
+
93: "Chorus Depth",
|
10048 |
+
94: "Celeste Depth",
|
10049 |
+
95: "Phaser Depth",
|
10050 |
+
# Registered parameters numbers
|
10051 |
+
96: "Data Increment",
|
10052 |
+
97: "Data Decrement",
|
10053 |
+
# 98: 'Non-Registered Parameter Number (NRPN) - LSB',
|
10054 |
+
# 99: 'Non-Registered Parameter Number (NRPN) - MSB',
|
10055 |
+
100: "Registered Parameter Number (RPN) - LSB",
|
10056 |
+
101: "Registered Parameter Number (RPN) - MSB",
|
10057 |
+
# Channel mode controls
|
10058 |
+
120: "All Sound Off",
|
10059 |
+
121: "Reset All Controllers",
|
10060 |
+
122: "Local Control On/Off",
|
10061 |
+
123: "All Notes Off",
|
10062 |
+
124: "Omni Mode Off", # + all notes off
|
10063 |
+
125: "Omni Mode On", # + all notes off
|
10064 |
+
126: "Mono Mode On", # + poly off, + all notes off
|
10065 |
+
127: "Poly Mode On", # + mono off, +all notes off
|
10066 |
+
}
|
10067 |
+
|
10068 |
###################################################################################
|
10069 |
#
|
10070 |
# This is the end of the TMIDI X Python module
|