Here are several concluding examples of simple mapping expression:
To find out the total length of rhythmic time the objects occupy:
map * sum $rhythm
To count the number of note values above FS5:
map * count (scale> $note fs5)
To collect every 20th note parameter value into a list:
map ::20 collect $note
To edit pairwise, and when a given pair has equal values in their amp parameters, to scale the second Event's amp by 1.5 and transpose the first Event's note parameter value up six degrees in the standard scale:
and transpose note[1] 6
Conclusion
Synthesis languages allow the contemporary composer a fine-grained control over sound, but describing these sounds can be a very complex process and the level of abstraction provide by the languages are generally too weak to represent high order compositional structure and pattern. Common Music defines a compositional level above the synthesis layer in which the composer may define and manipulate sound descriptions as reusable compositional structure. Common Music allows the composer to specify these sound events directly or indirectly through an algorithmic process. Once specified, sound events may be edited |