diff --git a/MIDITESTER.ino b/MIDITESTER.ino index 1016eae..e299e52 100644 --- a/MIDITESTER.ino +++ b/MIDITESTER.ino @@ -7,6 +7,7 @@ #define LED_DECAY_MS 50 #define MIDI_EVENT_SCHED_MS 100 +#define MIDI_CHANNEL 1 #define TEST_NOTE_MIN MIDI_A0 #define TEST_NOTE_MAX MIDI_B5 #define TEST_VEL_MIN 60 @@ -14,6 +15,10 @@ #define TEST_DUR_MIN 200 #define TEST_DUR_MAX 1500 +#define TEST_NOTE MIDI_E2 +#define TEST_VEL_MIN 60 +#define TEST_VEL_MAX 110 + #define MASTER_KEY_MIDI MIDI_C7 #define MASTER_NUM1 MIDI_C2 @@ -41,29 +46,64 @@ void setup() randomSeed(analogRead(A0)); - // Bank change 1 - change_bank(1); - delay(2000); - - // Sound change 17 - change_sound(17); - delay(2000); + /* // Bank change 1 + change_bank(1); + delay(2000); - // Volume change 0.5 - change_volume(5); - delay(2000); + // Sound change 17 + change_sound(17); + delay(2000); - // Bank change 3 - change_bank(3); - delay(2000); + // Volume change 0.5 + change_volume(5); + delay(2000); - // Sound change 17 - change_sound(17); - delay(2000); + // Bank change 3 + change_bank(3); + delay(2000); + + // Sound change 17 + change_sound(17); + delay(2000); */ // Volume change 0.1 change_volume(1); - delay(5000); + delay(2000); + + MIDI.sendNoteOn(TEST_NOTE, random(TEST_VEL_MIN, TEST_VEL_MAX), MIDI_CHANNEL); // 1 + MIDI.sendNoteOn(TEST_NOTE + 5, random(TEST_VEL_MIN, TEST_VEL_MAX), MIDI_CHANNEL); // 2 + MIDI.sendNoteOn(TEST_NOTE + 8, random(TEST_VEL_MIN, TEST_VEL_MAX), MIDI_CHANNEL); // 3 + MIDI.sendNoteOn(TEST_NOTE + 12, random(TEST_VEL_MIN, TEST_VEL_MAX), MIDI_CHANNEL); // 4 + MIDI.sendNoteOn(TEST_NOTE + 17, random(TEST_VEL_MIN, TEST_VEL_MAX), MIDI_CHANNEL); // 5 + MIDI.sendNoteOn(TEST_NOTE + 20, random(TEST_VEL_MIN, TEST_VEL_MAX), MIDI_CHANNEL); // 6 + MIDI.sendNoteOn(TEST_NOTE + 24, random(TEST_VEL_MIN, TEST_VEL_MAX), MIDI_CHANNEL); // 7 + MIDI.sendNoteOn(TEST_NOTE + 29, random(TEST_VEL_MIN, TEST_VEL_MAX), MIDI_CHANNEL); // 8 + MIDI.sendNoteOn(TEST_NOTE + 32, random(TEST_VEL_MIN, TEST_VEL_MAX), MIDI_CHANNEL); // 9 + MIDI.sendNoteOn(TEST_NOTE + 37, random(TEST_VEL_MIN, TEST_VEL_MAX), MIDI_CHANNEL); // 10 + MIDI.sendNoteOn(TEST_NOTE + 40, random(TEST_VEL_MIN, TEST_VEL_MAX), MIDI_CHANNEL); // 11 + MIDI.sendNoteOn(TEST_NOTE + 46, random(TEST_VEL_MIN, TEST_VEL_MAX), MIDI_CHANNEL); // 12 + MIDI.sendNoteOn(TEST_NOTE + 49, random(TEST_VEL_MIN, TEST_VEL_MAX), MIDI_CHANNEL); // 13 + MIDI.sendNoteOn(TEST_NOTE + 52, random(TEST_VEL_MIN, TEST_VEL_MAX), MIDI_CHANNEL); // 14 + MIDI.sendNoteOn(TEST_NOTE + 57, random(TEST_VEL_MIN, TEST_VEL_MAX), MIDI_CHANNEL); // 15 + MIDI.sendNoteOn(TEST_NOTE + 60, random(TEST_VEL_MIN, TEST_VEL_MAX), MIDI_CHANNEL); // 16 + delay(1000); + MIDI.sendNoteOff(TEST_NOTE, 0, MIDI_CHANNEL); // 1 + MIDI.sendNoteOff(TEST_NOTE + 5, 0, MIDI_CHANNEL); // 2 + MIDI.sendNoteOff(TEST_NOTE + 8, 0, MIDI_CHANNEL); // 3 + MIDI.sendNoteOff(TEST_NOTE + 12, 0, MIDI_CHANNEL); // 4 + MIDI.sendNoteOff(TEST_NOTE + 17, 0, MIDI_CHANNEL); // 5 + MIDI.sendNoteOff(TEST_NOTE + 20, 0, MIDI_CHANNEL); // 6 + MIDI.sendNoteOff(TEST_NOTE + 24, 0, MIDI_CHANNEL); // 7 + MIDI.sendNoteOff(TEST_NOTE + 29, 0, MIDI_CHANNEL); // 8 + MIDI.sendNoteOff(TEST_NOTE + 32, 0, MIDI_CHANNEL); // 9 + MIDI.sendNoteOff(TEST_NOTE + 37, 0, MIDI_CHANNEL); // 10 + MIDI.sendNoteOff(TEST_NOTE + 40, 0, MIDI_CHANNEL); // 11 + MIDI.sendNoteOff(TEST_NOTE + 46, 0, MIDI_CHANNEL); // 12 + MIDI.sendNoteOff(TEST_NOTE + 49, 0, MIDI_CHANNEL); // 13 + MIDI.sendNoteOff(TEST_NOTE + 52, 0, MIDI_CHANNEL); // 14 + MIDI.sendNoteOff(TEST_NOTE + 57, 0, MIDI_CHANNEL); // 15 + MIDI.sendNoteOff(TEST_NOTE + 60, 0, MIDI_CHANNEL); // 16 + delay(2000); } void loop() @@ -101,39 +141,39 @@ void change_sound(uint8_t sound) { uint8_t sound_key = base_c_num_key(sound); - MIDI.sendNoteOn(MASTER_KEY_MIDI, 99, 1); + MIDI.sendNoteOn(MASTER_KEY_MIDI, 99, MIDI_CHANNEL); delay(500); - MIDI.sendNoteOn(sound_key, 66, 1); + MIDI.sendNoteOn(sound_key, 66, MIDI_CHANNEL); delay(500); - MIDI.sendNoteOff(sound_key, 0, 1); + MIDI.sendNoteOff(sound_key, 0, MIDI_CHANNEL); delay(500); - MIDI.sendNoteOff(MASTER_KEY_MIDI, 0, 1); + MIDI.sendNoteOff(MASTER_KEY_MIDI, 0, MIDI_CHANNEL); } void change_volume(uint8_t volume) { - uint8_t volume_key = base_c_num_key(volume*-1); + uint8_t volume_key = base_c_num_key(volume * -1); - MIDI.sendNoteOn(MASTER_KEY_MIDI, 99, 1); + MIDI.sendNoteOn(MASTER_KEY_MIDI, 99, MIDI_CHANNEL); delay(500); - MIDI.sendNoteOn(volume_key, 66, 1); + MIDI.sendNoteOn(volume_key, 66, MIDI_CHANNEL); delay(500); - MIDI.sendNoteOff(volume_key, 0, 1); + MIDI.sendNoteOff(volume_key, 0, MIDI_CHANNEL); delay(500); - MIDI.sendNoteOff(MASTER_KEY_MIDI, 0, 1); + MIDI.sendNoteOff(MASTER_KEY_MIDI, 0, MIDI_CHANNEL); } void change_bank(uint8_t bank) { - uint8_t bank_key = base_c_num_key(bank*-1)+24; + uint8_t bank_key = base_c_num_key(bank * -1) + 24; - MIDI.sendNoteOn(MASTER_KEY_MIDI, 99, 1); + MIDI.sendNoteOn(MASTER_KEY_MIDI, 99, MIDI_CHANNEL); delay(500); - MIDI.sendNoteOn(bank_key, 66, 1); + MIDI.sendNoteOn(bank_key, 66, MIDI_CHANNEL); delay(500); - MIDI.sendNoteOff(bank_key, 0, 1); + MIDI.sendNoteOff(bank_key, 0, MIDI_CHANNEL); delay(500); - MIDI.sendNoteOff(MASTER_KEY_MIDI, 0, 1); + MIDI.sendNoteOff(MASTER_KEY_MIDI, 0, MIDI_CHANNEL); } uint8_t base_c_num_key(int8_t number) @@ -142,7 +182,7 @@ uint8_t base_c_num_key(int8_t number) if (number < 0) { - number = abs(number)-1; + number = abs(number) - 1; base_c = int(number / 5) * 12 + MASTER_NUM1; switch (number % 5) {