13.1. midi — Musical Instrument Digital Interface

Source code: src/multimedia/midi.h, src/multimedia/midi.c

Test code: tst/multimedia/midi/main.c

Test coverage: src/multimedia/midi.c


Defines

MIDI_BAUDRATE 31250
MIDI_NOTE_OFF 0x80
MIDI_NOTE_ON 0x90
MIDI_POLYPHONIC_KEY_PRESSURE 0xa0
MIDI_CONTROL_CHANGE 0xb0
MIDI_PROGRAM_CHANGE 0xc0
MIDI_CHANNEL_PRESSURE 0xd0
MIDI_PITCH_BEND_CHANGE 0xe0
MIDI_SET_INTRUMENT 0xc0
MIDI_PERC 0x99
MIDI_NOTE_MAX 128
MIDI_NOTE_A0 21
MIDI_NOTE_B0 23
MIDI_NOTE_C1 24
MIDI_NOTE_D1 26
MIDI_NOTE_E1 28
MIDI_NOTE_F1 29
MIDI_NOTE_G1 31
MIDI_NOTE_A1 33
MIDI_NOTE_B1 35
MIDI_NOTE_C2 36
MIDI_NOTE_D2 38
MIDI_NOTE_E2 40
MIDI_NOTE_F2 41
MIDI_NOTE_G2 43
MIDI_NOTE_A2 45
MIDI_NOTE_B2 47
MIDI_NOTE_C3 48
MIDI_NOTE_D3 50
MIDI_NOTE_E3 52
MIDI_NOTE_F3 53
MIDI_NOTE_G3 55
MIDI_NOTE_A3 57
MIDI_NOTE_B3 59
MIDI_NOTE_C4 60
MIDI_NOTE_D4 62
MIDI_NOTE_E4 64
MIDI_NOTE_F4 65
MIDI_NOTE_G4 67
MIDI_NOTE_A4 69
MIDI_NOTE_B4 71
MIDI_NOTE_C5 72
MIDI_NOTE_D5 74
MIDI_NOTE_E5 76
MIDI_NOTE_F5 77
MIDI_NOTE_G5 79
MIDI_NOTE_A5 81
MIDI_NOTE_B5 83
MIDI_NOTE_C6 84
MIDI_NOTE_D6 86
MIDI_NOTE_E6 88
MIDI_NOTE_F6 89
MIDI_NOTE_G6 91
MIDI_NOTE_A6 93
MIDI_NOTE_B6 95
MIDI_NOTE_C7 96
MIDI_NOTE_D7 98
MIDI_NOTE_E7 100
MIDI_NOTE_F7 101
MIDI_NOTE_G7 103
MIDI_NOTE_A7 105
MIDI_NOTE_B7 107
MIDI_NOTE_C8 108
MIDI_PERC_ACOUSTIC_BASS_DRUM 35
MIDI_PERC_BASS_DRUM_1 36
MIDI_PERC_SIDE_STICK 37
MIDI_PERC_ACOUSTIC_SNARE 38
MIDI_PERC_HAND_CLAP 39
MIDI_PERC_ELECTRIC_SNARE 40
MIDI_PERC_LOW_FLOOR_TOM 41
MIDI_PERC_CLOSED_HI_HAT 42
MIDI_PERC_HIGH_FLOOR_TOM 43
MIDI_PERC_PEDAL_HI_HAT 44
MIDI_PERC_LOW_TOM 45
MIDI_PERC_OPEN_HI_HAT 46
MIDI_PERC_LOW_MID_TOM 47
MIDI_PERC_HI_MID_TOM 48
MIDI_PERC_CRASH_CYMBAL_1 49
MIDI_PERC_HIGH_TOM 50
MIDI_PERC_RIDE_CYMBAL_1 51
MIDI_PERC_CHINESE_CYMBAL 52
MIDI_PERC_RIDE_BELL 53
MIDI_PERC_TAMBOURINE 54
MIDI_PERC_SPLASH_CYMBAL 55
MIDI_PERC_COWBELL 56
MIDI_PERC_CRASH_CYMBAL_2 57
MIDI_PERC_VIBRASLAP 58
MIDI_PERC_RIDE_CYMBAL_2 59
MIDI_PERC_HI_BONGO 60
MIDI_PERC_LOW_BONGO 61
MIDI_PERC_MUTE_HI_CONGA 62
MIDI_PERC_OPEN_HI_CONGA 63
MIDI_PERC_LOW_CONGA 64
MIDI_PERC_HIGH_TIMBALE 65
MIDI_PERC_LOW_TIMBALE 66
MIDI_PERC_HIGH_AGOGO 67
MIDI_PERC_LOW_AGOGO 68
MIDI_PERC_CABASA 69
MIDI_PERC_MARACAS 70
MIDI_PERC_SHORT_WHISTLE 71
MIDI_PERC_LONG_WHISTLE 72
MIDI_PERC_SHORT_GUIRO 73
MIDI_PERC_LONG_GUIRO 74
MIDI_PERC_CLAVES 75
MIDI_PERC_HI_WOOD_BLOCK 76
MIDI_PERC_LOW_WOOD_BLOCK 77
MIDI_PERC_MUTE_CUICA 78
MIDI_PERC_OPEN_CUICA 79
MIDI_PERC_MUTE_TRIANGLE 80
MIDI_PERC_OPEN_TRIANGLE 81

Functions

float midi_note_to_frequency(int note)

Get the frequency for given note.

Return
Note frequency.
Parameters
  • note: MIDI note.