diff options
Diffstat (limited to 'quantum/audio/voices.c')
-rw-r--r-- | quantum/audio/voices.c | 88 |
1 files changed, 44 insertions, 44 deletions
diff --git a/quantum/audio/voices.c b/quantum/audio/voices.c index 30e8be641e..51652927bd 100644 --- a/quantum/audio/voices.c +++ b/quantum/audio/voices.c @@ -6,55 +6,55 @@ extern float note_timbre; voice_type voice = default_voice; void set_voice(voice_type v) { - voice = v; + voice = v; } float voice_envelope(float frequency) { - // envelope_index ranges from 0 to 0xFFFF, which is preserved at 880.0 Hz + // envelope_index ranges from 0 to 0xFFFF, which is preserved at 880.0 Hz uint16_t compensated_index = (uint16_t)((float)envelope_index * (880.0 / frequency)); switch (voice) { - case default_voice: - // nothing here on purpose - break; - case butts_fader: - switch (compensated_index) { - case 0 ... 9: - frequency = frequency / 4; - note_timbre = TIMBRE_12; - break; - case 10 ... 19: - frequency = frequency / 2; - note_timbre = TIMBRE_12; - break; - case 20 ... 200: - note_timbre = .125 - pow(((float)compensated_index - 20) / (200 - 20), 2)*.125; - break; - default: - note_timbre = 0; - break; - } - break; - case octave_crunch: - switch (compensated_index) { - case 0 ... 9: - case 20 ... 24: - case 30 ... 32: - frequency = frequency / 2; - note_timbre = TIMBRE_12; - break; - case 10 ... 19: - case 25 ... 29: - case 33 ... 35: - frequency = frequency * 2; - note_timbre = TIMBRE_12; - break; - default: - note_timbre = TIMBRE_12; - break; - } - break; - } + case default_voice: + // nothing here on purpose + break; + case butts_fader: + switch (compensated_index) { + case 0 ... 9: + frequency = frequency / 4; + note_timbre = TIMBRE_12; + break; + case 10 ... 19: + frequency = frequency / 2; + note_timbre = TIMBRE_12; + break; + case 20 ... 200: + note_timbre = .125 - pow(((float)compensated_index - 20) / (200 - 20), 2)*.125; + break; + default: + note_timbre = 0; + break; + } + break; + case octave_crunch: + switch (compensated_index) { + case 0 ... 9: + case 20 ... 24: + case 30 ... 32: + frequency = frequency / 2; + note_timbre = TIMBRE_12; + break; + case 10 ... 19: + case 25 ... 29: + case 33 ... 35: + frequency = frequency * 2; + note_timbre = TIMBRE_12; + break; + default: + note_timbre = TIMBRE_12; + break; + } + break; + } - return frequency; + return frequency; }
\ No newline at end of file |