1
0
Fork 0
forked from forks/qmk_firmware

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

This commit is contained in:
Nebuleon 2023-07-27 19:14:34 -04:00 committed by GitHub
parent 727b1d1597
commit 96789a7cb0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -108,10 +108,10 @@ static void fallthrough_callback(MidiDevice* device, uint16_t cnt, uint8_t byte0
if (cnt == 3) { if (cnt == 3) {
switch (byte0 & 0xF0) { switch (byte0 & 0xF0) {
case MIDI_NOTEON: 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; break;
case MIDI_NOTEOFF: 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; break;
} }
} }