RUBATO composer Seminar Guerino Mazzola U Minnesota & Zürich Guerino Mazzola Oliver Zahorka Jörg Garbers Stefan Göller Stefan Müller Gérard Milmeister Florian Thalmann Karim Morsy Julien Junod Ruhan Alpaydin
ConceptConcept Rubato for NeXT & Mac Rubato for NeXT & Mac Rubato composer Rubato composer Writing Rubato composer rubettesWriting Rubato composer rubettes ConceptConcept Rubato for NeXT & Mac Rubato for NeXT & Mac Rubato composer Rubato composer Writing Rubato composer rubettesWriting Rubato composer rubettes
analytical expressive performance analytical expressive performance musical analysis of scores musical analysis of scores logical & geometric operationslogical & geometric operations compositioncomposition
composition performance math. operations analysis sound files
need unlimited communication! Universal data format: Denotators and Forms object-oriented programming object-oriented programming form ~ class form ~ class denotator ~ instance denotator ~ instance topos theory topos theory form ~ functor form ~ functor denotator ~ addressed point denotator ~ addressed point Each denotator carries its own form Four types of forms: simple, limit, colimit, powerset Mariana Montiel
ConceptConcept Rubato for ( NeXT &) Mac Rubato for ( NeXT &) Mac Rubato composer Rubato composer Writing Rubato composer rubettesWriting Rubato composer rubettes ConceptConcept Rubato for ( NeXT &) Mac Rubato for ( NeXT &) Mac Rubato composer Rubato composer Writing Rubato composer rubettesWriting Rubato composer rubettes
Os X MetroRubette ☞ RUBATO ®
Anja Volk-Fleischer‘s work with MetroRubette (PhD 2002 thesis Die analytische Interpretation) Chantal Buteau‘s work work with MeloRubette (PhD 2003 thesis A Topological Model of Motivic Structure and Analysis of Music: Theory and Operationalization. Dissertation, Zürich 2003)
ConceptConcept Rubato for NeXT & Mac Rubato for NeXT & Mac Rubato composer Rubato composer Writing Rubato composer rubettesWriting Rubato composer rubettes ConceptConcept Rubato for NeXT & Mac Rubato for NeXT & Mac Rubato composer Rubato composer Writing Rubato composer rubettesWriting Rubato composer rubettes
Main improvements of Rubato composer : Java replaces Objective C (platform independence!) Java replaces Objective C (platform independence!) dynamic creation of rubette networks dynamic creation of rubette networks rubette format standardized: rubette format standardized: input/output of denotators input/output of denotators properties properties views views rubette repertory increased and diversifiedrubette repertory increased and diversified rubette writing simplifiedrubette writing simplified forms and denotators can be created dyamicallyforms and denotators can be created dyamically ☞ Rubato composer (1) define denotators, forms, networks rubettes: melody, rhythmize, set, ModuleMap, etc. ☞ Rubato composer (1) define denotators, forms, networks rubettes: melody, rhythmize, set, ModuleMap, etc. simpleexample
Pierre Boulez structures Ia (1952) analyzed by G. Ligeti thread (« Faden ») The composition is a system of threads! ☞ Rubato composer (2) Boulez structures network bouleztest11alllmidi
fourth movement: Coherence/Opposition
☞ Rubato composer (3) Florian Thalmann‘s BigBang rubette: towards gestural musical composition of transformations and deformations ☞ Rubato composer (3) Florian Thalmann‘s BigBang rubette: towards gestural musical composition of transformations and deformations
ConceptConcept Rubato for NeXT & Mac Rubato for NeXT & Mac Rubato composer Rubato composer Writing Rubato composer rubettesWriting Rubato composer rubettes ConceptConcept Rubato for NeXT & Mac Rubato for NeXT & Mac Rubato composer Rubato composer Writing Rubato composer rubettesWriting Rubato composer rubettes
integrating a rubette class into rubato integrating a rubette class into rubato documentation about rubato classes documentation about rubato classes a simple rubette codea simple rubette code contact us...contact us...
Integrating a rubette class into rubato Integrating a rubette class into rubato 1.Define a directory DDD where to work. 2.Put a copy of rubato.jar into DDD. 3.Write a java class XXXRubette.java for a rubette named XXXRubette. 4.Put XXXRubette.java into DDD. 5.Write a manifest file XXXManifest containing the name XXXRubette. 6.Put XXXManifest into DDD. 7.Open a Terminal window. 8.Change the directory to DDD by command cd DDD 9.Compile the java file by the command javac -classpath rubato.jar XXXRubette.java 10.Now, you should have these four files in directory DDD: XXXRubette.java, XXXRubette.class, rubato.jar, XXXManifest 11.Create the jar file for this new rubette by command jar cvmf XXXManifest XXXRubette.jar XXXRubette.class 12.When the jar file is generated, drag it to the directory ~/rubato/Plugins (1. cd to your home directory 2. command mkdir rubato 3. command mkdir Plugins 13.Now, you can open rubato.jar and see the new XXXRubette.
integrating a rubette class into rubato integrating a rubette class into rubato documentation about rubato classes documentation about rubato classes a simple rubette codea simple rubette code contact us...contact us Go to go to the rubato composer site go to the rubato composer site download the javadoc, sources etc. download the javadoc, sources etc. for rubettes go to the rubettes site for rubettes go to the rubettes site 2. Refer to Milmeister‘s book!
integrating a rubette class into rubato integrating a rubette class into rubato documentation about rubato classes documentation about rubato classes a simple rubette codea simple rubette code contact us...contact us... PassItOnRubette.java PassItOnRubette.java PassItOnManifest PassItOnManifest