5. Structuring the future

So far we have seen exactly what granular synthesis consists of, how grains can be created, and combined with other grains, the thought process that led to granular synthesis, and the compositions that have been created using granular synthesis. This now leads us to another area. Doing our own work with granular synthesis.

 

There are two things to consider:

5.1 Software

 
 
The amount of software available for granular synthesis is small but it is growing. Most of the software available is shareware, and available on the Internet. There is also specialist software that was designed by composers for their own exclusive use. This is generally not available. There are also sequencing programs such as Cakewalk for the PC that allow the user to perform time stretching, but apart from this one function are not designed for granular synthesis. Table 5 in the appendix gives a summary of the most available shareware granular synthesis programs.
Csound, written by Barry Vercoe, is for general synthesis use. It has been tried and tested in various incarnations for at least 20 years now. It just requires time and experimentation to get used to the interface. It has a semi-real-time interface in that it does allow the sound to be played whilst it is being compiled by the program. This is not true real-time synthesis though because the creation process of a Csound texture is done on a text editor. The text file must then be loaded into the compiler as a finished document before it can make any sound. Being a text interface it offers much more flexibility and control than any other program. There are not many functions in the way of granular synthesis, but it is possible to make your own instruments (Ekman 1998).
The two granular synthesis commands it does have are grain and granule. Grain is used for creating grains with similar contents. It has parameters for amplitude, pitch, density, grain duration, and a number of random offsets. It cannot be use for large samples though as it is not designed for time stretching or such granular activities that require a sequential order of grains.
Granule on the other hand is designed with this purpose in mind. It has the same options as grain, but it has extra control for sound samples. It allows the user to specify how much of the sample to use, and where to begin the sampling process, with associated random offset settings. It also allows for multiple voices so you can layer different pitches on top of each other that will play at the same rate (Ekman 1998).

The main problem with these commands is that they receive all their data from a function table, which must be defined previous to compiling the program, which means that the user cannot create FM signals and send them straight to the grain or granule command.

The song Where the Wind Meets the Sea (Track 2), uses the grain command exclusively to create it's texture.