RUBATO composer Seminar Guerino Mazzola U Minnesota & Zürich mazzola@umn.edu mazzola@umn.edu...

Post on 13-Jan-2016

235 views 0 download

Transcript of RUBATO composer Seminar Guerino Mazzola U Minnesota & Zürich mazzola@umn.edu mazzola@umn.edu...

RUBATO composer

Seminar

Guerino MazzolaU Minnesota & Zürichmazzola@umn.edu   guerino@mazzola.ch     www.encyclospace.org        

1996

2001

2006

Guerino MazzolaOliver Zahorka

Jörg GarbersStefan GöllerStefan Müller

Gérard MilmeisterFlorian Thalmann

Karim MorsyJulien Junod

Ruhan Alpaydin

• Concept

• Rubato for NeXT& Mac

• Rubato composer

• Writing Rubato composer rubettes

• Concept

• Rubato for NeXT& Mac

• Rubato composer

• Writing Rubato composer rubettes

• analytical expressive performance

• musical analysis of scores

• logical & geometric operations

• composition

L

S

S

L

composition

performance

math. operations

analysis

sound files

need unlimited communication!

Universal data format: Denotators and Forms

• object-oriented programming• form ~ class• denotator ~ instance

• topos theory• form ~ functor• denotator ~ addressed point

Each denotator carries its own form

Four types of forms: simple, limit, colimit, powerset

Mariana Montiel

• Concept

• Rubato for (NeXT&) Mac

• Rubato composer

• Writing Rubato composer rubettes

Os X

MetroRubette

☞ RUBATO®

Anja Volk-Fleischer‘s work with MetroRubette (PhD 2002 thesis Die analytische Interpretation)http://www.cs.uu.nl/people/volk

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)

• Concept

• Rubato for NeXT& Mac

• Rubato composer

• Writing Rubato composer rubettes

Main improvements of Rubato composer:• Java replaces Objective C (platform independence!)

• dynamic creation of rubette networks

• rubette format standardized:

• input/output of denotators• properties• views

• rubette repertory increased and diversified

• rubette writing simplified

• forms and denotators can be created dyamically

☞ Rubato composer (1)define denotators, forms, networksrubettes: melody, rhythmize, set, ModuleMap, etc.

simpleexam

ple

Pierre Boulezstructures 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

• Concept

• Rubato for NeXT& Mac

• Rubato composer

• Writing Rubato composer rubettes

• integrating a rubette class into rubato

• documentation about rubato classes

• a simple rubette code

• contact us...

• Integrating a rubette class into rubato1. 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

• documentation about rubato classes

• a simple rubette code

• contact us...

1. Go to• www.rubato.org• go to the rubato composer site• download the javadoc, sources etc.• for rubettes go to the rubettes site

2. Refer to Milmeister‘s book!

• integrating a rubette class into rubato

• documentation about rubato classes

• a simple rubette code

• contact us...

• PassItOnRubette.java

• PassItOnManifest