~ruther/qmk_firmware

7b3f212500210ae85063b043952b5b3ef6988ad6 — Jack Humbert 9 years ago fa40e91
adds more voices, fixes macro redefines
2 files changed, 9 insertions(+), 4 deletions(-)

M quantum/audio/voices.c
M quantum/audio/voices.h
M quantum/audio/voices.c => quantum/audio/voices.c +8 -4
@@ 72,15 72,19 @@ float voice_envelope(float frequency) {
            polyphony_rate = 0;
            switch (compensated_index) {
                default:
                    #define SPEED 10
                    #define AMP   .75
                    #define OCS_SPEED 10
                    #define OCS_AMP   .25
                    // sine wave is slow
                    // note_timbre = (sin((float)compensated_index/10000*SPEED) * AMP / 2) + .5;
                    // note_timbre = (sin((float)compensated_index/10000*OCS_SPEED) * OCS_AMP / 2) + .5;
                    // triangle wave is a bit faster
                    note_timbre = (float)abs((compensated_index*SPEED % 3000) - 1500) * ( AMP / 1500 ) + (1 - AMP) / 2;
                    note_timbre = (float)abs((compensated_index*OCS_SPEED % 3000) - 1500) * ( OCS_AMP / 1500 ) + (1 - OCS_AMP) / 2;
                break;
            }
        break;
        case duty_octave_down:
            polyphony_rate = 0;
            note_timbre = (envelope_index % 2) * .125 + .375 * 2;
        break;
    }

    return frequency;

M quantum/audio/voices.h => quantum/audio/voices.h +1 -0
@@ 15,6 15,7 @@ typedef enum {
    butts_fader,
    octave_crunch,
    duty_osc,
    duty_octave_down,
    number_of_voices // important that this is last
} voice_type;