際際滷

際際滷Share a Scribd company logo
The Forte Framework for Music
Composition
Jakub Korczyski
Lambda Days 2015
 Igor Stravinsky
Now art is the contrary of chaos.
The Problem
Frederic Chopin playing for prince Radziwi in 1887,
Henryk Siemiradzki
How to grasp music?
"Etude in A minor" (Op. 10, No. 2) by Fryderyk Chopin
A partial solution
"Etude in A minor" (Op. 10, No. 2) by Fryderyk Chopin
What we would like instead?
"Etude in A minor" (Op. 10, No. 2) by Fryderyk Chopin
Even better 
"Etude in A minor" (Op. 10, No. 2) by Fryderyk Chopin
Wow!
"Etude in A minor" (Op. 10, No. 2) by Fryderyk Chopin
Structure Theory
Forte Framework - Lambda Days 2015
Forte DSL
Forte DSL
Allen Forte (born December 23, 1926) is a music theoretician
and musicologist best known for his work The Structure of
Atonal Music published by Yale University Press.
What is Forte theory?
 A mapping of pitches to pitch classes
 A mapping of intervals to interval classes
 A grouping of pitch classes with pitch class sets
 Pitch class set normalization
 Various pitch class set relations
 Analysis with interval vectors and basic interval patterns
 Complexes and subcomplexes
Mapping music to numbers
Claude Debussy at the piano
Pitches to Pitch Class Sets
Forte mapping - "Clair de lune" C. Debussy
Contributions
What we propose:
 Forte theory systematization and enhancement
 A EDSL instead of a batch processor for manipulating
 Forte-theoretic entities
 Techniques for domain abstraction, interpretation swapping
and self-optimizing library implementation
 A method for boilerplate code reduction
Graph DSL
Graph DSL
Basic concepts:
 Modeling music as a graph
 Time axis and musical time windows
 Vertical plane
 Musical paths and the horizontal plane
Graph DSL example
Musical Time Window
Musical Time Window
Musical Time Window
Musical Time Window
Vertical Plane
Vertical Plane
Vertical Plane
Vertical Plane
Quarter Note Time Window
Horizontal Plane
Horizontal Plane
Horizontal Plane
Horizontal Plane
Two Horizontal Planes
Graph DSL operations
Function application code example
Function Application Intuition
Split code example
Split intuition
Merge code example
Merge Intuition
Cut and Inject code example
Cut and Inject Intuition
Helper code example
Helper Intuitions
Forte Framework =
Forte DSL + Graph DSL
Getting real
Final result
 and with a little more work
Thank you!

More Related Content

Forte Framework - Lambda Days 2015