User:Arseniiv/Timbres: Difference between revisions
→A general algorithm to make timbres like these: new section |
m →A general algorithm to make timbres like these: elaborations |
||
Line 173: | Line 173: | ||
# its differences ''s''<sub>''n'' + 1</sub> − ''s''<sub>''n''</sub> are finitely many. | # its differences ''s''<sub>''n'' + 1</sub> − ''s''<sub>''n''</sub> are finitely many. | ||
We’ll work with those differences. Pick a finite alphabet {''A'', …} and for each letter ''L'' define its ''value'' [''L''], a positive real number so that: | |||
* [''A''] = 1; | * [''A''] = 1; | ||
* for each letter ''L'', there is a word ''L''<sub>1</sub>⋯''L''<sub>''n''</sub> such that its total value [''L''<sub>1</sub>] + … + [''L''<sub>''n''</sub>] = α ⋅ [''L'']. | * for each letter ''L'', there is a word ''L''<sub>1</sub>⋯''L''<sub>''n''</sub> such that its total value [''L''<sub>1</sub>] + … + [''L''<sub>''n''</sub>] = α ⋅ [''L'']. | ||
So there is a way to scale each difference α times and break it into unscaled ones, and there is a way to start (''A''). We’re going to build a sequence of differences iteratively. | |||
Let’s make a context-free [[Wikipedia:L-system]] over this alphabet. Its start word will be ''A'' and each of its production rules ''L'' ⟶ ''w'' should “scale by α”—satisfy [''w''] = α [''L''] (above, we guaranteed there are such ''w'' for each letter ''L''). We also want to observe this L-system has a “left limit” in the sense that for each integer ''N'', there is an iteration of the system sharing a prefix of length ''N'' with every further iteration. Having that, we can construct a limiting word of the system as the unique word which shares prefixes of unbounded non-decreasing lengths with each iteration of the system. | |||
This limit ''ℓ'' is what we’re after. Take <math>s_n = \sum_{i=0}^n [\ell_n]</math>, that is, differences of ''s'' are the values of ℓ’s letters. By construction we see conditions (2) and (3) satisfied, and if (1) is not, we just divide all of ''s'' by ''s''<sub>0</sub>. | This limit ''ℓ'' is what we’re after. Take <math>s_n = \sum_{i=0}^n [\ell_n]</math>, that is, differences of ''s'' are the values of ℓ’s letters. By construction we see conditions (2) and (3) satisfied, and if (1) is not, we just divide all of ''s'' by ''s''<sub>0</sub>. |