i have used a composition tool called environment js, programmed in lisp,
to make all my compositions since 2003.
this text outline the overall organization and workflow of this composition tool.
i needed a flat space, where i could compose and place objects where i wanted without being
disturbed by the structure of measures and notated rhythms in a score. i needed something
like a digital sound track where you can place a sound where you want on a sample grid.
as in electro acoustic music the smallest unit is the sample, in instrumental music the
smallest unit is the note. so i had this idea to work with an analogy space where I
can work freely on a grid of notes. in this space I can place objects with durations
measured in notes where I want, exactly in the same way as I could place a sound on a
digital sound track.
of course the use and exploration of such a space can be done in numerous ways and
you will see that my method is quite particular in pursuing these goals.
I'm using proportions to articulate this space that is the overall form of the composition.

the space, where the formal compositional work take place is called the proportional space.

the proportional space is measured in units.

the number of units that constitute the proportional space is called the proportional space resolution.

units are grouped together in fields.

a field has a length of at least one unit.

the fields are nested.

the number of units in a field is the field size.

to be able to start the formal compositional work in the proportional space we need to know the proportional space resolution.

to know the proportional space resolution we need to create a real world form, the nominal staff.

a nominal staff has all the properties of a normal staff in a score, movements, tempo, measures but does not contains any notes.

there are only one nominal staff in a composition and it spans over the whole form and is shared by all the parts in a composition.

a nominal staff is made of sections, partial sections, measures and partial measures.

a partial measure correspond to a conductor beat.

every partial measure has a partial measure time signature.

every measure has at least one partial measure.

every measure have a measure time signature.
example: a 6/8 measure beaten on every dotted quaver is then a measure with a measure time signature of 6/8, made of two partial measures with a partial measure time signature of 3/8.

one measure can contain partial measures of different partial measure time signatures.

each part will have a copy of the nominal staff.

for each part is decided a number of nominal notated symbols (notes or rests) in every partial measure, the partial measure resolution.

having determined the partial measure resolution in all partial measures I can sum the total number of nominal notated symbols in the nominal staff.
one nominal notated symbol in the nominal staff correspond to one unit in the proportional space so the total number of nominal notated symbol in the nominal staff gives me the proportional space resolution.

each part receive (or can receive) a unique formal compositional work.

each part have (or can have) a unique proportional space resolution.

once I have the proportional space resolution i can start the formal compositional work.
the temporal aspect of the formal compositional work is to divide the proportional space into nested fields. basically the same principles as for the score form that is nested in four layers: sections, partial sections, measures and partial measures.
all data input comes from a text file of a sonogram simplified into fifteen spectrums, each with a duration in milliseconds. this text file sonogram is the source form from which i take the form, and all data that makes up the composition. i use the source form for both the nominal staff and the proportional space.
using nesting techniques i now organize the proportional space in something i call a hierarchized content.
it is the proportional space divided into fields with several nested layers.

the hierarchized content are made up of three types of fields: sound field, silence field and null field.

the sound field represent a sound, the silence field represent a silence and the null field is a field not used in the composition.

the initial hierarchized content contains only null fields.

the sound field and silence field are active fields.

for every index in the proportional space there are only one either sound field or silence field.
now I choose among the fields using several types of indicators to decide which fields are to be sound fields and silence fields. this is to make the hierarchized content itinerary that goes from start to end. here is where most of the actual form is worked out.
the hierarchized content itinerary contains all the active fields of a part. that is, all its nominal notated symbols in the score.
once i have the hierarchized content itinerary i can start to write the parameters.
for an instrumental part that is normally the pitch,
the dynamics and for example for string instruments also bow position.
but you can use how many parameters you want.
the electroacoustic parts have a fixed number of parameters.
for the moment fortyone.
i now write values from somewhere in the text sonogram using them as parameters.
i can use any of the text sonogram parameters
 frequencies, amplitudes, or the spectrum durations  as any of the parameters used in the part.

once all the parameters are written to my satisfactory i ask the part's hierarchized content for its active fields.
the total field duration of the active fields corresponds to the proportional space
resolution and the nominal staff resolution so once i have the active fields i can lay
them out on the nominal staff, that will have one nominal notated symbol for every unit.
the formal compositional work for that part is now over and I enter the translation work.

each active field in the hierarchical content correspond to a formal in the score.

a formal can be either a sound formal or a silence formal, depending on the field from which it originated.

the formals are represented by one or more notated symbol, either notes or rests.

a formal can be (is mostly) represented in the score by several notes or several rests, and even by complex structures made of combinations of notes and rests. but it remains a single formal.

once i have laid out the active fields over the nominal staffs i have the raw score of the composition.

once i have the raw score the rhythmical structure is subject to a extended series of transformations  the translation work, in order to have the final rhythmical structure.
the translation work consists in putting the proportional formal work into a real score. and in the same time take advantage of the clash (i had this idea from xenakis, who talks about the new structures that appears when you put people into the preplanified newly build house areas, where the people make walking paths, but not where the architect thought) between the two structures: proportional space and nominal staff. since the score has one structure and each part another the score structure now impose its boundaries onto the proportional structure and alter it. mostly in the time domain.
the sections and partial sections in the nominal staff correspond formally to level 0 and level 1 in the hierarchical content, but are not synchronized.
i can even choose to use another source form for the nominal staff than for the hierarchical content.
i the use this discrepancy, between the two structures to modify the proportional space structures and create yet new ones.
these transformations now take place on the score structure and is no longer related to the techniques used in the proportional space.
i am changing to another set of rules and techniques.
the other parameters, like pitch and dynamics, are not subject to any transformations and are remain intact (though the temporal aspect can (or will) change slightly due to the score structures influence on the proportional space form).

when i have the final rhythmical structure I have the final score.
this is how far the composition tool take the structures of the composition.
from the final score i export the composition as midi, for simulation, as music xml for the notated score or as csound scores for generating the electroacoustic parts.
Paris,
5/1 2016,
31/1 2017,
3/2/17,
14/417,
24/617...
