[Csnd] Linear sounding pitch progression.
Date | 2008-11-27 00:34 |
From | Tobiah |
Subject | [Csnd] Linear sounding pitch progression. |
Given pitch l and h, and step s, how shall I calculate s pitches which are to include l and h, and will be spaced in frequency so that the progression will sound linear, as when one move up the piano in half steps? Thanks, Tobiah |
Date | 2008-11-27 00:42 |
From | "Paulo Mouat" |
Subject | [Csnd] Re: Linear sounding pitch progression. |
Attachments | None |
Date | 2008-11-27 00:48 |
From | Tobiah |
Subject | [Csnd] Re: Re: Linear sounding pitch progression. |
Paulo Mouat wrote: > the ratio r of each step is > > r = (h / l) ^ (1/(s - 1)) > > the i-th step is given by l * r ^ i, where i goes from 0 to s - 1. > I don't quite understand it, but I can sure program it! Thanks for the answer. It came minutes after I sent the query. Tobiah |
Date | 2008-11-27 01:25 |
From | Tobiah |
Subject | [Csnd] Re: Re: Re: Linear sounding pitch progression. |
Tobiah wrote: > Paulo Mouat wrote: >> the ratio r of each step is def zither(low_freq, high_freq, steps): ratio = (high_freq / low_freq) ** (1.0 / float(steps - 1)) for step in range(steps): pitch = low_freq * ratio ** step yield pitch After writing this in python, I understand it better. Just as dividing an octave into twelve parts involves n/12 roots of two, here our goal is not the octave, but h / l, so we progressively multiply l by fractional powers of the ratio between our target frequencies. |