K1Guitar/midi/midi_tables.c

229 lines
7.1 KiB
C

#include "includes.h"
/* 全局 USE_MIDI */
STRING_MIDI USE_MIDI = {0x2B,0x30,0x34,0x37,0x3C,0x40};
/* 指板按键与和弦指型映射表 */
CHORD_TYPE_INDEX chord_type_index_map[22] =
{
{0, 0, 1, 0}, // index 0
{0, 0, 1, 0}, // index 1
{0, 0, 1, 0}, // index 2
{0, 0, 1, 0}, // index 3
{1, 0, 1, 0}, // index 4
{1, 0, 1, 0}, // index 5
{1, 0, 1, 0}, // index 6
{1, 0, 1, 0}, // index 7
{1, 0, 1, 0}, // index 8
{1, 0, 1, 0}, // index 9
{0, 0, 1, 0}, // index 10
{0, 0, 1, 0}, // index 11
{0, 0, 1, 0}, // index 12
{0, 0, 1, 0}, // index 13
{0, 0, 1, 0}, // index 14
{0, 0, 1, 0}, // index 15
{1, 0, 1, 0}, // index 16
{1, 0, 1, 0}, // index 17
{1, 0, 1, 0}, // index 18
{0, 0, 1, 0}, // index 19
{0, 0, 1, 0}, // index 20
{0, 0, 1, 0}, // index 21
};
STRING_MIDI MIDI_1[] =
{
{0x2B, 0x30, 0x34, 0x37, 0x3C, 0x40,"C"}, // C
{0x2B, 0x30, 0x33, 0x37, 0x3C, 0x3F,"Cm"}, // Cm
{0x2B, 0x30, 0x33, 0x37, 0x3A, 0x3F,"Cm7"}, // Cm7
{0x2B, 0x30, 0x34, 0x37, 0x3A, 0x40,"C7"}, // C7
{0x2B, 0x30, 0x34, 0x37, 0x3B, 0x40,"CM7"}, // CM7
{0x2B, 0x30, 0x34, 0x37, 0x3E, 0x40,"Cad9"}, // Cad9
{0x2A, 0x30, 0x33, 0x36, 0x3A, 0x3F,"Cm7-5"}, // Cm7-5
{0x2B, 0x30, 0x32, 0x37, 0x3C, 0x3E,"Csus2"}, // Csus2
{0x2B, 0x30, 0x35, 0x37, 0x3C, 0x41,"Csus4"}, // Csus4
};
STRING_MIDI MIDI_2[] =
{
{0x2A,0x2D,0x32,0x39,0x3E,0x42,"D"},
{0x29,0x2D,0x32,0x39,0x3E,0x41,"Dm"},
{0x29,0x2D,0x32,0x39,0x3C,0x41,"Dm7"},
{0x2A,0x2D,0x32,0x39,0x3C,0x42,"D7"},
{0x2A,0x2D,0x32,0x39,0x3D,0x42,"DM7"},
{0x2A,0x2D,0x32,0x39,0x40,0x42,"Dad9"},
{0x29,0x2C,0x32,0x38,0x3C,0x41,"Dm7-5"},
{0x28,0x2D,0x32,0x39,0x3E,0x40,"Dsus2"},
{0x2B,0x2D,0x32,0x39,0x3E,0x43,"Dsus4"},
};
STRING_MIDI MIDI_3[] =
{
{0x28,0x2F,0x34,0x38,0x3B,0x40,"E"},
{0x28,0x2F,0x34,0x37,0x3B,0x40,"Em"},
{0x28,0x2F,0x34,0x37,0x3B,0x3E,"Em7"},
{0x28,0x2F,0x34,0x38,0x3B,0x3E,"E7"},
{0x28,0x2F,0x34,0x38,0x3B,0x3F,"EM7"},
{0x28,0x2F,0x34,0x38,0x3B,0x42,"Ead9"},
{0x28,0x2E,0x34,0x37,0x3A,0x3E,"Em7-5"},
{0x28,0x2F,0x34,0x36,0x3B,0x40,"Esus2"},
{0x28,0x2F,0x34,0x39,0x3B,0x40,"Esus4"},
};
STRING_MIDI MIDI_4[] =
{
{0x29,0x30,0x35,0x39,0x3C,0x41,"F"},
{0x29,0x30,0x35,0x38,0x3C,0x41,"Fm"},
{0x29,0x30,0x35,0x38,0x3C,0x3F,"Fm7"},
{0x29,0x30,0x35,0x39,0x3C,0x3F,"F7"},
{0x29,0x30,0x35,0x39,0x3C,0x40,"FM7"},
{0x29,0x30,0x35,0x39,0x3C,0x43,"Fad9"},
{0x29,0x2F,0x35,0x38,0x3B,0x3F,"Fm7-5"},
{0x29,0x30,0x35,0x37,0x3C,0x41,"Fsus2"},
{0x29,0x30,0x35,0x3A,0x3C,0x41,"Fsus4"},
};
STRING_MIDI MIDI_5[] =
{
{0x2B,0x2F,0x32,0x37,0x3B,0x43,"G"},
{0x2B,0x2E,0x32,0x37,0x3A,0x43,"Gm"},
{0x2B,0x2E,0x32,0x37,0x3A,0x41,"Gm7"},
{0x2B,0x2F,0x32,0x37,0x3B,0x41,"G7"},
{0x2B,0x2F,0x32,0x37,0x3B,0x42,"GM7"},
{0x2B,0x2F,0x32,0x37,0x3B,0x45,"Gad9"},
{0x2B,0x2E,0x31,0x37,0x3A,0x41,"Gm7-5"},
{0x2B,0x2D,0x32,0x37,0x39,0x43,"Gsus2"},
{0x2B,0x30,0x32,0x37,0x3C,0x43,"Gsus4"},
};
STRING_MIDI MIDI_6[] =
{
{0x28,0x2D,0x34,0x39,0x3D,0x40,"A"},
{0x28,0x2D,0x34,0x39,0x3C,0x40,"Am"},
{0x28,0x2D,0x34,0x37,0x3C,0x40,"Am7"},
{0x28,0x2D,0x34,0x37,0x3D,0x40,"A7"},
{0x28,0x2D,0x34,0x38,0x3D,0x40,"AM7"},
{0x28,0x2D,0x34,0x3B,0x3D,0x40,"Aad9"},
{0x27,0x2D,0x33,0x36,0x3C,0x3F,"Am7-5"},
{0x28,0x2D,0x34,0x39,0x3B,0x40,"Asus2"},
{0x28,0x2D,0x34,0x39,0x3E,0x40,"Asus4"},
};
STRING_MIDI MIDI_7[] =
{
{0x2A,0x2F,0x33,0x36,0x3B,0x3F,"B"},
{0x2A,0x2F,0x32,0x36,0x3B,0x3E,"Bm"},
{0x2A,0x2F,0x32,0x36,0x39,0x3E,"Bm7"},
{0x2A,0x2F,0x33,0x36,0x39,0x3F,"B7"},
{0x2A,0x2F,0x33,0x36,0x3A,0x3F,"BM7"},
{0x2A,0x2F,0x33,0x36,0x3D,0x3F,"Bad9"},
{0x29,0x2F,0x32,0x35,0x39,0x3E,"Bm7-5"},
{0x29,0x2F,0x31,0x36,0x3B,0x3D,"Bsus2"},
{0x29,0x2F,0x34,0x36,0x3B,0x40,"Bsus4"},
{0x29,0x2F,0x32,0x35,0x3B,0x3E,"Bdim"},
};
const STRING_MIDI OrganMIDI_1[] =
{
{0x2B, 0x30, 0x34, 0x37, 0x3C, 0x40, "C"}, // C
{0x2B, 0x30, 0x33, 0x37, 0x3C, 0x3F, "Cm"}, // Cm
{0x2B, 0x30, 0x33, 0x37, 0x3A, 0x3F, "Cm7"}, // Cm7
{0x2B, 0x30, 0x34, 0x37, 0x3A, 0x40, "C7"}, // C7
{0x2B, 0x30, 0x34, 0x37, 0x3B, 0x40, "CM7"}, // CM7
{0x2B, 0x30, 0x34, 0x37, 0x3E, 0x40, "Cad9"}, // Cad9
{0x2A, 0x30, 0x33, 0x36, 0x3A, 0x3F, "Cm7-5"}, // Cm7-5
{0x2B, 0x30, 0x32, 0x37, 0x3C, 0x3E, "Csus2"}, // Csus2
{0x2B, 0x30, 0x35, 0x37, 0x3C, 0x41, "Csus4"}, // Csus4
};
const STRING_MIDI OrganMIDI_2[] =
{
{0x2A,0x2D,0x32,0x39,0x3E,0x42,"D"},
{0x29,0x2D,0x32,0x39,0x3E,0x41,"Dm"},
{0x29,0x2D,0x32,0x39,0x3C,0x41,"Dm7"},
{0x2A,0x2D,0x32,0x39,0x3C,0x42,"D7"},
{0x2A,0x2D,0x32,0x39,0x3D,0x42,"DM7"},
{0x2A,0x2D,0x32,0x39,0x40,0x42,"Dad9"},
{0x29,0x2C,0x32,0x38,0x3C,0x41,"Dm7-5"},
{0x28,0x2D,0x32,0x39,0x3E,0x40,"Dsus2"},
{0x2B,0x2D,0x32,0x39,0x3E,0x43,"Dsus4"},
};
const STRING_MIDI OrganMIDI_3[] =
{
{0x28,0x2F,0x34,0x38,0x3B,0x40,"E"},
{0x28,0x2F,0x34,0x37,0x3B,0x40,"Em"},
{0x28,0x2F,0x34,0x37,0x3B,0x3E,"Em7"},
{0x28,0x2F,0x34,0x38,0x3B,0x3E,"E7"},
{0x28,0x2F,0x34,0x38,0x3B,0x3F,"EM7"},
{0x28,0x2F,0x34,0x38,0x3B,0x42,"Ead9"},
{0x28,0x2E,0x34,0x37,0x3A,0x3E,"Em7-5"},
{0x28,0x2F,0x34,0x36,0x3B,0x40,"Esus2"},
{0x28,0x2F,0x34,0x39,0x3B,0x40,"Esus4"},
};
const STRING_MIDI OrganMIDI_4[] =
{
{0x29,0x30,0x35,0x39,0x3C,0x41,"F"},
{0x29,0x30,0x35,0x38,0x3C,0x41,"Fm"},
{0x29,0x30,0x35,0x38,0x3C,0x3F,"Fm7"},
{0x29,0x30,0x35,0x39,0x3C,0x3F,"F7"},
{0x29,0x30,0x35,0x39,0x3C,0x40,"FM7"},
{0x29,0x30,0x35,0x39,0x3C,0x43,"Fad9"},
{0x29,0x2F,0x35,0x38,0x3B,0x3F,"Fm7-5"},
{0x29,0x30,0x35,0x37,0x3C,0x41,"Fsus2"},
{0x29,0x30,0x35,0x3A,0x3C,0x41,"Fsus4"},
};
const STRING_MIDI OrganMIDI_5[] =
{
{0x2B,0x2F,0x32,0x37,0x3B,0x43,"G"},
{0x2B,0x2E,0x32,0x37,0x3A,0x43,"Gm"},
{0x2B,0x2E,0x32,0x37,0x3A,0x41,"Gm7"},
{0x2B,0x2F,0x32,0x37,0x3B,0x41,"G7"},
{0x2B,0x2F,0x32,0x37,0x3B,0x42,"GM7"},
{0x2B,0x2F,0x32,0x37,0x3B,0x45,"Gad9"},
{0x2B,0x2E,0x31,0x37,0x3A,0x41,"Gm7-5"},
{0x2B,0x2D,0x32,0x37,0x39,0x43,"Gsus2"},
{0x2B,0x30,0x32,0x37,0x3C,0x43,"Gsus4"},
};
const STRING_MIDI OrganMIDI_6[] =
{
{0x28,0x2D,0x34,0x39,0x3D,0x40,"A"},
{0x28,0x2D,0x34,0x39,0x3C,0x40,"Am"},
{0x28,0x2D,0x34,0x37,0x3C,0x40,"Am7"},
{0x28,0x2D,0x34,0x37,0x3D,0x40,"A7"},
{0x28,0x2D,0x34,0x38,0x3D,0x40,"AM7"},
{0x28,0x2D,0x34,0x3B,0x3D,0x40,"Aad9"},
{0x27,0x2D,0x33,0x36,0x3C,0x3F,"Am7-5"},
{0x28,0x2D,0x34,0x39,0x3B,0x40,"Asus2"},
{0x28,0x2D,0x34,0x39,0x3E,0x40,"Asus4"},
};
const STRING_MIDI OrganMIDI_7[] =
{
{0x2A,0x2F,0x33,0x36,0x3B,0x3F,"B"},
{0x2A,0x2F,0x32,0x36,0x3B,0x3E,"Bm"},
{0x2A,0x2F,0x32,0x36,0x39,0x3E,"Bm7"},
{0x2A,0x2F,0x33,0x36,0x39,0x3F,"B7"},
{0x2A,0x2F,0x33,0x36,0x3A,0x3F,"BM7"},
{0x2A,0x2F,0x33,0x36,0x3D,0x3F,"Bad9"},
{0x29,0x2F,0x32,0x35,0x39,0x3E,"Bm7-5"},
{0x29,0x2F,0x31,0x36,0x3B,0x3D,"Bsus2"},
{0x29,0x2F,0x34,0x36,0x3B,0x40,"Bsus4"},
{0x29,0x2F,0x32,0x35,0x3B,0x3E,"Bdim"},
};
/* 和弦根音表索引 */
const STRING_MIDI *Chord_Midi_Table[7] =
{MIDI_1, MIDI_2, MIDI_3, MIDI_4, MIDI_5, MIDI_6, MIDI_7};
const STRING_MIDI *OrganChord_Midi_Table[7] =
{ OrganMIDI_1,OrganMIDI_2,OrganMIDI_3,OrganMIDI_4,OrganMIDI_5,OrganMIDI_6, OrganMIDI_7 };
const uint8_t Timbre_index[5] = {0x18,0x19,0x1B,0x1E,0x22};