K1Guitar/midi/midi_tables.c

230 lines
7.2 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#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 };
/* UI槽位0~4 → MIDI Program Change24尼龙 / 25钢弦 / 27清音 / 30失真 / 33 Finger贝斯 */
const uint8_t Timbre_index[5] = {0x18, 0x19, 0x1B, 0x1E, 0x21};