About 80 years ago, with the advent of tape recorders, the latest technology at the time, the music creation method called music concrète was born. Tape recorders were used to record various sounds, which were then manipulated and edited to create musical compositions. From this, a compositional methodology called "tape composition" was developed.

Also, with the advent of computer technology, it has become possible to create music by coding, that is, by writing programs. If this is the case, then it is possible to construct a compositional methodology called "chord composition" as well as tape composition.

Not only in music, but in any form of expression, there is a close relationship between the notation and the expression. In the case of staff notation, which is the most popular form of music description, notes are entered within the frames of staves and measures. This means, in other words, that the note object is placed on a grid of scales and time signatures.

Tape composition deconstructed this system of placing notes on a grid. What is described on tape is a waveform, which is composed by sequentially connecting, randomly rearranging, looping, and verlaying it. There are no notes, scales, chords, measures, or other structures that were the premise of music written on a staff. If the notation method is different, the structure of time and frequency that constitutes the music itself will change. There is a close relationship between notation and expression.

Composition based on waveform editing is still going on today in the form of sampling. Digitalization has dramatically increased the quantity, speed and accuracy of this process. Multi-track, non-linear editing is now an everyday occurrence in any music studio. Of course, staff notation using sequencers is still used in parallel.

Code composition is rooted in an alternative descriptive system that is different from either of these two. The key to code composition is computational "abstraction". Code abstracts the objects that generate sounds. It abstracts the methods that transform sounds. Describing music with code means how to abstract the structure of music and the process of creating it. The first step is to abstract the structure, and then to concretize it with parameters. From a single structure, various concretes, or sounds, can be generated. This back-and-forth movement between abstraction and concreteness, between structure and sound, is the basis of composing with codes.

In the SuperCollider3 language used in this code composition, everything is represented as an object. Both notes (oscillators) and waveforms (buffers) are objects. Chord compositions can be used to connect staves and tapes. Abstraction is also a way of connecting different things by finding similarities between things that were previously considered to be separate.

Tape composition, which is rooted in the "material" of sound (waveforms), has created the current trend of "music to sound". If this is the case, how will chord composition, which is rooted in "abstraction," expand music and sound, and what kind of flow will it lead to? Aren't the possibilities yet to be explored? This is the starting point of this text.

Introduction to Code Composition

Akihiro Kubota (http://hemokosa.com/)
Atsushi Yamaji

version 2 [beta version, in Japanese]

  1. material ([PDF] material.pdf)
  2. tuning ([PDF] tuning.pdf)
  3. listening ([PDF] listening.pdf)
  4. interaction ([PDF] interaction.pdf)
  5. melody ([PDF] melody.pdf)
  6. variation ([PDF] variation.pdf)
  7. structure ([PDF] structure.pdf)
  8. rhythm ([PDF] rhythm.pdf)
  9. chord ([PDF] chord.pdf)
  10. harmony ([PDF] harmony.pdf)
  11. noise ([PDF] noise.pdf)
  12. counterpoint
  13. scale ([PDF] scale.pdf)
  14. pattern
  15. texture