~ruther/qmk_firmware

a718c53fe77f0b3b4361c850531eee5f23e3e13d — Jack Humbert 9 years ago a808612
adds more voice harmonics
2 files changed, 18 insertions(+), 3 deletions(-)

M quantum/audio/voices.c
M quantum/audio/voices.h
M quantum/audio/voices.c => quantum/audio/voices.c +16 -3
@@ 101,14 101,27 @@ float voice_envelope(float frequency) {
            break;
        case duty_fifth_down:
            note_timbre = 0.5;
            if ((envelope_index % 5) == 0)
            if ((envelope_index % 3) == 0)
                note_timbre = 0.75;
            break;
        case duty_fourth_down:
            note_timbre = 0.0;
            if ((envelope_index % 12) == 0)
                note_timbre = 0.75;
            if (((envelope_index % 12) % 4) != 1)
                note_timbre = 0.75;
            break;
        case duty_third_down:
            note_timbre = 0.5;
            if ((envelope_index % 5) == 0)
                note_timbre = 0.75;
            break;
        case duty_fifth_third_down:
            note_timbre = 0.5;
            if ((envelope_index % 5) == 0)
                note_timbre = 0.75;
            if ((envelope_index % 3) == 0)
                note_timbre = 0.25;
            else
                note_timbre = 0.5;
            break;

		default:

M quantum/audio/voices.h => quantum/audio/voices.h +2 -0
@@ 18,6 18,8 @@ typedef enum {
    duty_octave_down,
    duty_fifth_down,
    duty_fourth_down,
    duty_third_down,
    duty_fifth_third_down,
    number_of_voices // important that this is last
} voice_type;