-
Notifications
You must be signed in to change notification settings - Fork 5
New Feature Ideas, Revisions, and Development Notes
dantrueman edited this page Jul 19, 2018
·
16 revisions
two possibilities:
- A keyboard at the bottom, like the Absolute keyboard in tuning, and each key would allow an individual transposition or set of transpositions. So 60:4, or 60:[0 4 7]. I suppose click-drag would be usable for single transpositions, but for harmonizing, the text editor would be needed.
- A “preparation sequencer” or some such where you could have a counter that would count the notes played (or clusters played, within a threshold, I suppose) and for each count the preparation values would change in prepared ways. You could have a counter max of, say, three, and for each one the transposition, resonance, etc… would change, and it would cycle through those as you played notes into it. Reset would restart the counter.
(1) seems pretty straightforward, (2) more complex, and something that could conceivably apply to any kind if preparation, but possibly pretty messy. (1) would allow implementation of the trap idea I mentioned, though it would be done manually rather than algorithmically, so perhaps not as interesting, but still in the spirit of bK as it is, and avoiding the potentially complicated idea of scripting.
- in transpositions, for example: r(3, [0, 12 -12]) will repeat 0/12/-12 3 times, and then go on to whatever follows. display could show those 3 values, loop them (and perhaps bracket in some way to show grouping).
- in beat length multipliers, for example: e(7,12) would generate the Euclidean rhythm (Toussaint) [2 1 2 2 1 2 2]. Would be nice to generalize this function so you could set a range for output values and use it for any parameter (accents, for instance); e(7,12,0.5,-1) would generate [0.5 -1, 0.5 0.5 -1 0.5 0.5]. Javascript code for this algorithm.
- in transposition, ha(60, [0,4,7]) would harmonize middle C with a major chord (harmonize absolute) whereas hr(60, [0,4,7]) would harmonize ALL C's with a major chord (harmonize rotate)
- etc...
- Exponential Moving Average
- range around current BPM
- metric filter
- adaptive tuning: some version of the spring tuning, which i think is attractive -- prototyping in js with Aatish, using Toxiclib: https://github.com/hapticdata/toxiclibsjs. -- port to C++ or try to embed js?
- non-octave delimited custom tunings; anything other than 12 -- any size input custom scale, up to 88. or 61:-2
- absolute tuning; each key can be assigned an offset, relative to given tuning/fundamental
- Blendrónic
- Pitch structure meta-prep
- harmonizer
- "inversion" prep
- Essl and related algorithmic pitch work
- music21 link?
- traps
- Sequencer idea
- export/import individual preparations