浏览代码

adds option for alt pitch standards

Jack Humbert 8 年之前
父节点
当前提交
cefc09ae7d
共有 2 个文件被更改,包括 9 次插入1 次删除
  1. 4 0
      docs/modding_your_keyboard.md
  2. 5 1
      quantum/process_keycode/process_audio.c

+ 4 - 0
docs/modding_your_keyboard.md

@@ -79,6 +79,10 @@ By default, `MUSIC_MASK` is set to `keycode < 0xFF` which means keycodes less th
 
 Which will capture all keycodes - be careful, this will get you stuck in music mode until you restart your keyboard!
 
+The pitch standard (`PITCH_STANDARD_A`) is 440.0f by default - to change this, add something like this to your `config.h`:
+
+    #define PITCH_STANDARD_A 432.0f
+
 ## MIDI functionalty
 
 This is still a WIP, but check out `quantum/keymap_midi.c` to see what's happening. Enable from the Makefile.

+ 5 - 1
quantum/process_keycode/process_audio.c

@@ -6,10 +6,14 @@
 #endif
 float voice_change_song[][2] = VOICE_CHANGE_SONG;
 
+#ifndef PITCH_STANDARD_A
+    #define PITCH_STANDARD_A 440.0f
+#endif
+
 static float compute_freq_for_midi_note(uint8_t note)
 {
     // https://en.wikipedia.org/wiki/MIDI_tuning_standard
-    return pow(2.0, (note - 69) / 12.0) * 440.0f;
+    return pow(2.0, (note - 69) / 12.0) * PITCH_STANDARD_A;
 }
 
 bool process_audio(uint16_t keycode, keyrecord_t *record) {