EasyManua.ls Logo

Microchip Technology ay-3-8910 - Page 45

Microchip Technology ay-3-8910
56 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
5.2
Tune Entry/
Playback
53
Tune Variations
One of the methods of entering a composition into a computer
memory would be to utilize a keyboard to pass number and
alphabetic information concerning the composer’s wishes. An alter-
nate method would be to scan a positional series of switches (like a
piano keyboard) to determine note, volume and duration data.
Since flexibility in tune entry is desired, it is important to allow the
composer to specify certain constants of entry such as octave, pitch
or tempo, and have these entries normalized to a known value.
One of the significant features of a microcomputer based music
player is the ability to modify the tune once it has been recorded.
Among the simpler variations are:
5.3.1 OCTAVE SHIFT
If an octave constant is added to the octave of the recorded note prior
to storing the value in the PSG register, dynamic pitch changes can
be obtained. The programming effect would be to shift one bit left for
each lower octave and one bit right for each higher octave. For
example, the effect will be that a tune written to play on a piano will
sound like bells if a multiple octave up modification is performed.
5.3.2 KEY
One measure of the virtuosity of a musician is his ability to modify the
“key” or suboctave shift of a composition. The logical description of
key transposition is to shift each note up or down by a predetermined
number of notes from the original. For example, a piece written in C
and played in C# would have all C notesshifted to C#, C# shifted to D,
etc. (Note that the case must be considered where B of one octave is
shifted to C of the next higher octave.) All of theseoperations require
that the one of twelve note identification must be retained in the
recorded representation.
5.3.3 TEMPO
The duration of each recorded note is best expressed in terms of
“ticks” of an overall “tempo clock”. At playtime, the total duration can
be obtained by programatically multiplying the individual note to
“slow down” or “speed up” the tune without changing the crucial time
relationship between the notes. This can be accomplished by
imbedding the note timing loops within the tempo timing loops for
simple operation.