Browse Source

Unify MIDI note calculation with the audio feature's algorithm (#21588)

Nebuleon 3 years ago
parent
commit
96789a7cb0
1 changed files with 2 additions and 2 deletions
  1. 2 2
      quantum/midi/qmk_midi.c

+ 2 - 2
quantum/midi/qmk_midi.c

@@ -108,10 +108,10 @@ static void fallthrough_callback(MidiDevice* device, uint16_t cnt, uint8_t byte0
     if (cnt == 3) {
         switch (byte0 & 0xF0) {
             case MIDI_NOTEON:
-                play_note(((double)261.6) * pow(2.0, -4.0) * pow(2.0, (byte1 & 0x7F) / 12.0), (byte2 & 0x7F) / 8);
+                play_note(440.0f * powf(2.0f, ((byte1 & 0x7F) - 57) / 12.0f), (byte2 & 0x7F) / 8);
                 break;
             case MIDI_NOTEOFF:
-                stop_note(((double)261.6) * pow(2.0, -4.0) * pow(2.0, (byte1 & 0x7F) / 12.0));
+                stop_note(440.0f * powf(2.0f, ((byte1 & 0x7F) - 57) / 12.0f));
                 break;
         }
     }