6.5 Other SOUNDs
Random noise (' white noise' ) is a SOUND and can be generated on the computer, but it is not a
musical note. It can be added to the background of tunes to create interesting variations, or simply
used on its own for special effects - and explosion is basically white noise with volume envelope,
control. This noise varies the frequency randomly around a period that is set in the SOUND
command parameter <noise period>. An important feature is that although there are three separate
channels available with the ability to set three <tone periods>, only one noise period, can be set to
appear on the required combination of channels.
6.6 Multiple SOUND and channels
Most pieces of music are written with at least two ' clefs' , bass and treble. To enable this approach on
the CPC464 there have been three SOUND channels provided -A,B and C. These can all play
independently, or be timed to coincide when required. Selection of channels is made in the SOUND
command parameter channel status.
6.7 Channel queues
Each SOUND channel has a queue of SOUND s to play. There is space in this queue for five separate
SOUND commands: one active and four waiting. The operating system of the CPC464 can continue
with other tasks while playing out the sound queue, only returning when necessary to pick up more
SOUND commands.
6.8 Channel status
The keyword SQ is used to determine the state of the channel that you wish to interrogate, and it
returns information about free places in the queue, ' rendezvous' and holds. ON SQ GOSUB is an
interrupt command used to bring the attention of the computer back to the SOUND generation
section of the program.
6.9 Rendezvous and holds
To force channels to synchronize there is a ' RENDEZVOUS' facility. This is where a marker is set on
two or more channels that force the simultaneous action of those SOUND commands. These are very
useful to reset the timing of continious notes where a tune contains breaks or ' rests' , not occurring
simultaneously on both channels.
HOLD (see the SOUND <channel status>) is important where an overall synchronization of channels
is required (i.e. at the start of tune), maybe with a delay, and it is necessary to have the queues
primed ready. Then a HOLD and RELEASE sequence is used.