Saturday, November 5, 2011

Object-oriented operator-overloading in Fauré’s Fantaisie for Flute and Piano Op. 79?

Faure, Op. 79
B   y overloading standard operators on a class, you can exploit the intuition of the users of that class. This lets users program in the language of the problem domain rather than in the language of the machine.”
  — Marshall Cline, ParaShift C++ FAQ.
A ttended James Galway’s recital the other evening. Thoroughly enjoyed it.

G alway is not subtle. His technical virtuosity, charismatic personality, and emphatic, extroverted playing style are incomparable.

B ut, beyond that, his performance of Fauré’s Fantaisie for Flute and Piano, Op. 79, led me to notice “key-undefining” and “-redefining” elements that strike me as similar to “operator overloading” in compiler design, or, more specifically, to runtime “polymorphisms” in parallel computing and cloud computing, where multiple processes that are interacting with each other concurrently implement more than one version of an operator, and the different operator instantiations have different semantics.

L ook at the score snippet above! In the Andantino movement we have middle-register F-natural (Ddim) against piano’s E in the LH. Other dissonant passages involving the flute object/process communicating with the piano object/process. Finale’s chord-analysis plug-in labels this as Ddim9 (third inversion), then Bdim. Your brain is like a master process that is executing and integrating multiple parallel child processes. If the scope of your brain’s attention encompasses all of the pitches in m. 17 in Op. 79, say, then it receives a hexachord back from the flute object class and the piano object class—an E major triad invasively intermingled with an F major triad... triads that are a dissonant semitone apart... a sort of exotic suspension.

I t is like operator overloading in C++, C#, Scala, Python, Ruby, R, and other languages.

T he interval of the fifth serves as a melodic frame for flute class execution and piano class execution in each of the ‘mélodie’s’ sections, its space gradually rising and becoming more chromatic—making the timbre brighter and the emphasis stronger or more individualistic or ‘recitational’. Melodic motion expands both registrally and chromatically. This is not so much subjectivity/ambiguity or vagueness/tentativeness that are aspects of impressionism, so much as it is concurrent, deliberate polymorphism of operators implemented by different object classes!

T he Allegro movement has rampant elisions of phrase completions, such that cadences are implicit and there is implied emphasis on what is omitted. That’s another feature in Op. 79 that, to me, presages parallel and cloud-based computing... Eager quitting by the Map-Reduce master process when ‘reducer’ jobs have by now yielded enough to enable the master process to abort the rest of them and proceed to the next task.

Faure, Op. 79G abriel Urbain Fauré was, shall we say, an erstwhile compiler engineer who lived, oh, about 100 years “before his time”.

F or your interest, some Op. 79 videos on YouTube are here, and here, and here, and here, and here. In them you will see that the “object polymorphisms” in Op. 79 are not necessarily evident unless the flute playing is as strong as Galway’s.




No comments:

Post a Comment