flow icon indicating copy to clipboard operation
flow copied to clipboard

[Feature Request] Quantise to altered/harmonic series

Open odsfgolfdjng opened this issue 3 years ago • 2 comments

A module that snaps the partials to fundamental * a. The way i would do it is: mod = (fundamental * a * somebignumber) % (fundamental * somebignumber) / somebignumber; freq = freq - mod;

Except for the first partial for obvious reasons. a is a slider the user can control. Hope that makes sense. This has 3 great use cases i found. 1: Changing the partial frequencies can be used as more of a harmonic timbre control if you quantize them with a = 1. 2: Using custom scales and stretching the harmonic series accordingly can bring things back in harmony since the harmonics overlap. 3: Better controllable dissonance.

odsfgolfdjng avatar Jun 17 '22 10:06 odsfgolfdjng

On Jun 17, 2022, at 6:16 AM, odsfgolfdjng @.*** @.***>> wrote:

A module that snaps the partials to fundamental * a. The way i would do it is: mod = (fundamental * a * somebignumber) % (fundamental * somebignumber) / somebignumber; freq = freq - mod;

In Flow, all "frequencies" are relative to the fundamental, which is at frequency = 1.0. Then they're pitch-shifted based on the actual pitch of the note. So wouldn't it be easier to just do

freq = (int) round(freq)

Or if you don't mind rounding down, then just

freq = (int) freq

?

Sean

eclab avatar Jun 17 '22 13:06 eclab

I may be missing something but wouldn't your method shift the frequencies differently then mine?

example1: f = 1; a = 2.5 freq = 3.3 mod = (f * a * 10) % (f * 10) / 10; freq = freq - mod // 2.5 = 3.3 - 0.8

example2: freq = a * round(freq) // 7.5 = 2.5 * 3

odsfgolfdjng avatar Jun 17 '22 16:06 odsfgolfdjng