# What is

GeoGraphy is a formal system for the organization of audio material. It features two controlling components and its approach to time structure makes it suitable for use both on a micro (granular synthesis) and on a macro temporal scale (sequencing). Component I is a graph-based sequencer, Component II is a sequence filter/processor. Some explanations follow, but see Papers and presentations section for more details.

# How it works: Component I --> Graphs

Basic structures of GeoGraphy are graphs. A graph represents a series of possible sequencing relations (edges) between sound objects (vertices). More, graph contains temporal information: each edge is weighted with the time interval separating the attack of the starting vertex from the attack of the target vertex. An "graph actant" is a dynamic element moving on the graphs and generating a path, i.e. a time-stamped sequence of sound objects.

The percussion frame, pt. I: if you think to graphs in terms of percussion sets, graph actants can be thought as percussionists: in this sense, a graph describes a grammar for percussion playing

# How it works: Component II --> Control Space

Graphs are distributed in a (actually) 2D space, each vertex being given a position (x,y). A trajectory is defined in this space which allows another dynamic element (a control actant) to explore the space. For each activated vertex, distance between vertex and control actant is calculated and used as a general control parameter.

The percussion frame, pt. II: different sets of percussions are distributed in a large hall. Many players are simultaneously playing, even on the same set. You (the control actant) enter the hall, and explore the space, in each instant being at a different distance with each struck percussion. Distance is relevant: for example, above a certain treshold (the radius of audibility), you cannot hear the sound. More, reverberation is substantially proportional to distance between you and the sound source.

# Implementations

Actually GeoGraphy's composing environment is Graphista!, which offers a Python-based (Tkinter) GUI for creating, visualizing and editing graphs, designing trajectories by hand, generating sequences, visualizing generated sequences. Output of the system are graphista files (python bytecode), data list files or Csound score files for batch processing.

Here some images illustrating GeoGraphy through Graphista!

Here you have sources: as it is continuosly hacked by me, probably there could be some problems. In case you try it, feel free to contact me. To have it running: 1. you must have Python installed on your machine; 2. you must put this (uncompressed) folder in your root (i.e. C:\\); 3. you have to call python from terminal passing it graphController.py

Scalptor, another Python-based program, alllows to automatically generate musical notation from data lists. Whole scores can be generated using ConTeXt (typesetting system), MetaPost (graphic programming, integrated in ConTeXt) + LilyPond (notation programming) integration. See Music examples section. Its structure is described here and here.

A SuperCollider porting for Real Time use has started, with an improved GUI. The main idea is to to connect Graphista! (which ia a complex GUI project) to SClang via OSC, passing graphs as SC routines. As Graphista! knows nothing about audio, it refers to a class named following the Graphista file containing the graph (e.g. GeoGraphyTest.new). In this way user can create his own SC class with that name as a subclass of a provided abstract class (e.g. GeoGraphyTest:GeoGraphyTemplate{}), implementing basic GeoGraphic features (so that mapping from GeoGraphic data to audio parameters can be totally defined by the user).

# Papers

Andrea Valle, Vincenzo Lombardo, "A two-level method to control granular synthesis", XIV CIM - Colloquio di Informatica Musicale, Firenze, 8-10/05/203, pubbl. in XIV CIM 2003 - Computer Music: Past and Future, Proceedings: 136-140.

# Presentations

Valle, Andrea, "GeoGraphy: A Two-Component System for Sound Organisation" (~3Mb), invited paper, Symposium ACT: Art complexity and Technology: Their interaction in emergence, EXISTENCE - Complex Sistems Network of Excellence, Fondazione ISI, Villa Gualino, Torino, 05-06/05/2005.

Valle, Andrea, "GeoGraphy. Notazione musicale e composizione algoritmica" (~36Mb) (it.), seminario CIRMA: The GeoGraphy project, Università di Torino, 10/06/06.

Valle, Andrea and Lombardo, Vincenzo "Composizione algoritmica e notazione musicale automatica" (~4.3Mb) (it.), poster, pres. at XVI CIM - Colloquio di Informatica Musicale, Genova, 24-25/10/2006.

[Soon on line]