Skip to content

New Feature Ideas, Revisions, and Development Notes

dantrueman edited this page Jul 19, 2018 · 16 revisions

General

Development Notes

Direct Preparation

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.

Synchronic

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...

Nostalgic

Global

  1. https://ableton.github.io/link/

Adaptive Tempo

  1. Exponential Moving Average
  2. range around current BPM
  3. metric filter

Tuning

  1. 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?
  2. non-octave delimited custom tunings; anything other than 12 -- any size input custom scale, up to 88. or 61:-2
  3. absolute tuning; each key can be assigned an offset, relative to given tuning/fundamental

GUI

Sounds

Modification Maps

New Preparations or Meta-preparations

  1. Blendrónic
  2. Pitch structure meta-prep
    1. harmonizer
    2. "inversion" prep
    3. Essl and related algorithmic pitch work
    4. music21 link?
    5. traps
  3. Sequencer idea

Preparations In General

  1. export/import individual preparations