ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • MIDI SPEC 3 & 4
    노래방 /홍사철의 미디교실 2022. 7. 24. 18:40
    占쌕뤄옙찾占쏙옙  (3) MIDI Considered in Backus-Naur Form
    (4) Listing of MIDI Controller / Mode Command Codes
    (3) MIDI Considered in Backus-Naur Form
    The latest issue of the IMA bulletin had an article on BNF for MIDI.  The article points out that this syntax is what can be TRANSMITTED and the actual RECEIVER implementation may differ slightly from this grammer. This may allow greater error tolerance. The example given is that of tranmitting a system exclusive message without the termination byte <eox> F7. A channel status byte could also be used to terminate a system exclusive in the event the eox byte is lost due to error or power down etc...
     
    Definitions 3-17 define running status and realtime data insertion as well as
    the various channel messages.
     
    1 <MIDI Stream> ::= <MIDI msg> < MIDI Stream>
    2 <MIDI msg> ::=              <sys msg> : <chan msg>
    3 <chan msg> ::=              <chan 1byte msg> : <chan 2byte msg> 
    4 <chan 1byte msg> ::= <chan stat1 byte> <data singlet> <running singlets> 
    5 <chan 2byte msg> ::= <chan stat2 byte> <data pair> <running pairs> 
    6 <chan stat1 byte> ::= <chan voice stat1 nibble> <hex nibble> 
    7 <chan stat2 byte> ::= <chan voice stat2 nibble> <hex nibble> 
    8 <chan voice stat1 nyble>::= C : D
    9 <chan voice stat2 nyble>::= 8 : 9 : A : B : E
    10 <hex nyble> ::= 0 : 1 : 2 : 3 : 4 : 5 : 6 : 7 : 8 : 9 :A : B : C : D : E : F :
    11 <data pair> ::= <data singlet> <data singlet>
    12 <data singlet> ::= <realtime byte> <data singlet> : <data byte>
    13 <running pairs> ::= <empty> : <data pair> <running pairs>
    14 <running singlets> ::= <empty> : <data singlet> <running singlets>
    15 <data byte> ::= <data MSD> <hex nyble>
    16 <data MSD> ::= 0 : 1 : 2 : 3 : 4 : 5 : 6 : 7
    17 <realtime byte> ::= F8 : FA : FB : FC : FE : FF
    18 <sys msg> ::= <sys common msg> : <sysex msg> : <sys realtime msg>
    19 <sys realtime msg> ::= <realtime byte>
    20 <sysex msg> ::= <sysex data byte> <data singlet> <running singlets><eox byte>
    21 <sysex stat byte> ::= F0
    22 <eox byte> ::= F7
    23 <sys common msg> ::= <song position msg> : <song select msg> : <tune request>
    24 <tune request> ::= F6
    25 <song position msg> ::= <song position stat byte> <data pair>
    26 <song select msg> ::= <song select stat byte> <data singlet>
    27 <song position stat byte>::= F2
    28 <song select stat byte> ::= F3
     
     
    (4) Listing of MIDI Controller
    / Mode Command Codes

    Table 3: Status Bytes 176-191; Control and Mode Changes
    (per channel)
    (adapted from "MIDI by the Numbers" by D.Valenti-Electronic Musician 2/88)

     
    2nd Byte Value Function 3rd Byte
    Binary Hex Drc Value Use
     00000000
     00000001
     00000010
     00000011
     00000100
     00000101
     00000110
     00000111
     00001000
     00001001
     00001010
     00001011
     00001100
     00001101
     00001110
     00001111
     00010000
     00010001
     00010010
     00010011
     00010100
     00010101
     00010110
     00010111
     00011000
     00011001
     00011010
     00011011
     00011100
     00011101
     00011110
     00011111
     00100000
     00100001
     00100010
     00100011
     00100100
     00100101
     00100110
     00100111
     00101000
     00101001
     00101010
     00101011
     00101100
     00101101
     00101110
     00101111
     00110000
     00110001
     00110010
     00110011
     00110100
     00110101
     00110110
     00110111
     00111000
     00111001
     00111010
     00111011
     00111100
     00111101
     00111110
     00111111
     01000000
     01000001
     01000010
     01000011
     01000100
     01000101
     01000110
     01000111
     01001000
     01001001
     01001010
     01001011
     01001100
     01001101
     01001110
     01001111
     01010000
     01010001
     01010010
     01010011
     01010100
     01010101
     01010110
     01010111
     01011000
     01011001
     01011010
     01011011
     01011100
     01011101
     01011110
    01011111
    00
    01
    02
    03
    04
    05
    06
    07
    08
    09
    0A
    0B
    0C
    0D
    0E
    0F
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    1A
    1B
    1C
    1D
    1E
    1F
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    2A
    2B
    2C
    2D
    2E
    2F
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    3A
    3B
    3C
    3D
    3E
    3F
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    4A
    4B
    4C
    4D
    4E
    4F
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    5A
    5B
    5C
    5D
    5E
    5F
      0
      1
      2
      3
      4
      5
      6
      7
      8
      9
     10
     11
     12
     13
     14
     15
     16
     17
     18
     19
     20
     21
     22
     23
     24
     25
     26
     27
     28
     29
     30
     31
     32
     33
     34
     35
     36
     37
     38
     39
     40
     41
     42
     43
     44
     45
     46
     47
     48
     49
     50
     51
     52
     53
     54
     55
     56
     57
     58
     59
     60
     61
     62
     63
     64
     65
     66
     67
     68
     69
     70
     71
     72
     73
     74
     75
     76
     77
     78
     79
     80
     81
     82
     83
     84
     85
     86
     87
     88
     89
     90
     91
     92
     93
     94
     95
     
    Continuous controller #0
    Modulation wheel
    Breath control
    Continuous controller #3
    Foot controller
    Portamento time
    Data Entry
    Main Volume
    Continuous controller #8
    Continuous controller #9
    Continuous controller #10
    Continuous controller #11
    Continuous controller #12
    Continuous controller #13
    Continuous controller #14
    Continuous controller #15
    Continuous controller #16
    Continuous controller #17
    Continuous controller #18
    Continuous controller #19
    Continuous controller #20
    Continuous controller #21
    Continuous controller #22
    Continuous controller #23
    Continuous controller #24
    Continuous controller #25
    Continuous controller #26
    Continuous controller #27
    Continuous controller #28
    Continuous controller #29
    Continuous controller #30
    Continuous controller #31
    Continuous controller #0
    Modulation wheel
    Breath control
    Continuous controller #3
    Foot controller
    Portamento time
    Data entry
    Main volume
    Continuous controller #8
    Continuous controller #9
    Continuous controller #10
    Continuous controller #11
    Continuous controller #12
    Continuous controller #13
    Continuous controller #14
    Continuous controller #15
    Continuous controller #16
    Continuous controller #17
    Continuous controller #18
    Continuous controller #19
    Continuous controller #20
    Continuous controller #21
    Continuous controller #22
    Continuous controller #23
    Continuous controller #24
    Continuous controller #25
    Continuous controller #26
    Continuous controller #27
    Continuous controller #28
    Continuous controller #29
    Continuous controller #30
    Continuous controller #31
    Damper pedal on/off (Sustain)
    Portamento on/off
    Sustenuto on/off
    Soft pedal on/off
    Undefined on/off
    Undefined on/off
    Undefined on/off
    Undefined on/off
    Undefined on/off
    Undefined on/off
    Undefined on/off
    Undefined on/off
    Undefined on/off
    Undefined on/off
    Undefined on/off
    Undefined on/off
    Undefined on/off
    Undefined on/off
    Undefined on/off
    Undefined on/off
    Undefined on/off
    Undefined on/off
    Undefined on/off
    Undefined on/off
    Undefined on/off
    Undefined on/off
    Undefined on/off
    Undefined on/off
    Undefined on/off
    Undefined on/off
    Undefined on/off
    Undefined on/off
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0-127
    0=off
    0=off
    0=off
    0=off
    0=off
    0=off
    0=off
    0=off
    0=off
    0=off
    0=off
    0=off
    0=off
    0=off
    0=off
    0=off
    0=off
    0=off
    0=off
    0=off
    0=off
    0=off
    0=off
    0=off
    0=off
    0=off
    0=off
    0=off
    0=off
    0=off
    0=off
    0=off
      MSB
      MSB
      MSB
      MSB
      MSB
      MSB
      MSB
      MSB
      MSB
      MSB
      MSB
      MSB
      MSB
      MSB
      MSB
      MSB
      MSB
      MSB
      MSB
      MSB
      MSB
      MSB
      MSB
      MSB
      MSB
      MSB
      MSB
      MSB
      MSB
      MSB
      MSB
      MSB
      LSB
      LSB
      LSB
      LSB
      LSB
      LSB
      LSB
      LSB
      LSB
      LSB
      LSB
      LSB
      LSB
      LSB
      LSB
      LSB
      LSB
      LSB
      LSB
      LSB
      LSB
      LSB
      LSB
      LSB
      LSB
      LSB
      LSB
      LSB
      LSB
      LSB
      LSB
      LSB
     127=on
     127=on
     127=on
     127=on
     127=on
     127=on
     127=on
     127=on
     127=on
     127=on
     127=on
     127=on
     127=on
     127=on
     127=on
     127=on
     127=on
     127=on
     127=on
     127=on
     127=on
     127=on
     127=on
     127=on
     127=on
     127=on
     127=on
     127=on
     127=on
     127=on
     127=on
     127=on
    01100000
     01100001
     01100010
     01100011
     01100100
     01100101
     01100110
     01100111
     01100111
     01100111
     01100111
     01100111
     01101000
     01101001
     01101010
     01101011
     01101100
     01101101
     01101110
     01101111
     01110000
     01110001
     01110010
     01110011
     01110100
     01110101
     01110110
     01110111
     01111000
     01111001
     01111010
     01111011
     01111100
     01111101
     01111110
    01111111
    60
    61
    62
    63
    64
    65
    66
    67
    67
    67
    67
    67
    68
    69
    6A
    6B
    6C
    6D
    6E
    6F
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    7A
    7B
    7C
    7D
    7E
    7F
     96
     97
     98
     99
    100
    101
    102
    103
    103
    103
    103
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    Data entry +1
    Data entry -1
    Undefined
    Undefined
    Undefined
    Undefined
    Undefined
    Undefined
    Undefined
    Undefined
    Undefined
    Undefined
    Undefined
    Undefined
    Undefined
    Undefined
    Undefined
    Undefined
    Undefined
    Undefined
    Undefined
    Undefined
    Undefined
    Undefined
    Undefined
    Undefined
    Undefined
    Undefined
    Undefined
    Undefined
    Local control on/off
    All notes off(!!)
    Omni mode off(includes all notesoff)
    Omni mode on(includes all notes off)
    Polymode on/off(includes allnotes off)
    Polymode on(incl mono=off&allnotes off)
    127
    127
    ?
    ?
    ?
    ?
    ?
    ?
    ?
    ?
    ?
    ?
    ?
    ?
    ?
    ?
    ?
    ?
    ?
    ?
    ?
    ?
    ?
    ?
    ?
    ?
    ?
    ?
    ?
    ?
     0=off 127=on
    0
    0
    0
    **
    0

    '노래방 > 홍사철의 미디교실' 카테고리의 다른 글

    MIDI SPEC 5  (0) 2022.07.24
    MIDI SPEC 2  (0) 2022.07.24
    MIDI SPEC 1  (0) 2022.07.24
    Standard MIDI File의 개요  (0) 2022.07.24
    MIDI 인터페이스와 프로그래밍  (0) 2022.07.24
Designed by Tistory.