140 likes | 283 Views
Percussive Pattern Algorithms. Josh Parnell November 28, 2009. Part 1: Analysis. Objective: Store the pattern in data structures conducive to effective resynthesis. Input Pattern. Phase I - Segmentation. qpm. 4. 3. 2. 1. 4. 3. 2. 1. Segment width. Phase II - Stratification.
E N D
Percussive Pattern Algorithms Josh Parnell November 28, 2009
Part 1: Analysis Objective: Store the pattern in data structures conducive to effective resynthesis
Phase I - Segmentation qpm 4 3 2 1 4 3 2 1 Segment width
Phase II - Stratification qpm 4 3 2 1 4 3 2 1 manual strata definitions A B C Segment width
Phase III – Grammar Conversion qpm 4 3 2 1 4 3 2 1 manual strata definitions A A.1 A.1 A.2 A.1 A.3 A.4 A.2 A.2 B B.1 B.2 B.3 B.2 B.1 B.2 B.4 B.5 C.3 C.2 C.4 C.2 C.2 C.1 C.2 C.2 C Segment width Grammar Database
Phase IV – Event Chain Conversion 4 3 2 1 4 3 2 1 A A.1 A.1 A.2 A.1 A.3 A.4 A.2 A.2 B B.1 B.2 B.3 B.2 B.1 B.2 B.4 B.5 C.3 C.2 C.4 C.2 C.2 C.1 C.2 C.2 C A: 1, 1, 2, 1, 3, 4, 2, 2 B: 1, 2, 3, 2, 1, 2, 4, 5 C: 1, 2, 2, 3, 4, 2, 2, 2 Markov Space A Markov Space B Markov Space C
Thoughts • Markov spaces not enough to fully describe pattern – resynthesis will sound poor without further information • Consider zeroth-order probabilities of plural system states (requires a new XIAS engine?) • Choices in resynthesis based on weighted average of all algorithms (Markov, z-order, etc.)
Thoughts (Cont’d) • Analysis to include some form of contextual intensity analysis • Treat qualitatively as a Markov event • Tie into compositional dynamics & accenting • Notice that this method becomes the GGrewve analysis engine if all pads are placed in the same stratum • Generalizing an already-successful algorithm to be even more flexible and powerful
Part 2: Resynthesis Objective: Reproduce a pattern similar to the input but not identical (degree of similarity should be quantitatively adjustable)
Ideas • Decisions made progressively • Loop through strata • Loop through grammar words • Calculate probability from each algorithm • Sum the probabilities • Choose next word based on weighted selection
Part 3: Original Creation Objective: Randomly skew the stored pattern data structure (in an orderly way) to create an “original” style based on the input pattern
Ideas • Perturb Markov probabilities • Possible without disturbing the equilibrium of higher-order systems? • Mutate the original event chain and recreate Markov spaces instead? • Perturb zeroth-order state probabilities • Mutate grammar words
Problems • In resynthesis, cannot treat each stratum as individual choice; that would invalidate zeroth-order plural state algorithm • Calculating probability of each plural state requires exponential resources as strata increase! • Running and weighting multiple algorithms on every possible future state (even if each stratum is treated independently) requires huge runtime • Deviations from main pattern (example: fills) • How to detect? • How to treat? • Separate grammar and Markov space for deviations?