mirror of
https://github.com/PDP-10/its.git
synced 2026-02-04 15:53:01 +00:00
These have been left out because newer versions are in PRS: BXTFUG.MUS, HAPPY.MUS, IF15.MUS, TOCCSC.MUS, and TOCDM1.MUS.
602 lines
26 KiB
Plaintext
602 lines
26 KiB
Plaintext
PDP-10 Music System Introduction
|
||
--------------------------------
|
||
|
||
This package of programs and hardware information
|
||
makes up the PDP-10 music-compiling and -playing system.
|
||
|
||
This system is the result of a long evolution stemming
|
||
from a similar system developed on the PDP-1 computer at MIT.
|
||
The present system is language-compatible with the PDP-1
|
||
system. A (nearly) source-compatible system exists on the 940
|
||
computer at B.B.&N., Cambridge, Massachusetts.
|
||
|
||
The original specifications, and the implementations
|
||
on the PDP-1, and the non-time-sharing PDP-6, are the work of
|
||
Peter R. Samson, now at Project MAC, MIT, Cambridge, Mass.
|
||
|
||
This initial DECUS submission includes: a timesharing version
|
||
of the music compiler ("MCOMP"); the PDP6/10 player (which must
|
||
run in Executive Mode); documentation for the software and the
|
||
hardware; and a small library of music sources transcribed for
|
||
the compiler.
|
||
|
||
Users are encouraged to add selections to this library,
|
||
and DECUS has graciously consented to act as librarian for
|
||
such sources.
|
||
|
||
More music is available for this system, and will be
|
||
added at sporadic intervals.
|
||
|
||
I apologize for the delay in submitting this set of
|
||
information to DECUS, as I had promised a number of users I
|
||
would. We at DEC have had a setback in the Music Project, in
|
||
that our HiFi amplifier was stolen some time ago. We will
|
||
press on with the music library when possible.
|
||
|
||
Robert C. Clements
|
||
PDP-10 Programming
|
||
|
||
Music Compiler Specifications
|
||
|
||
I.A.1. The first task when preparing a score for the compiler
|
||
is to arrange the music in a number of distinct lines
|
||
(otherwise called "parts" or "voices"), fitting the
|
||
restriction that each part may play only one note at a time.
|
||
The compiler will process selections taking from one to eight
|
||
parts; the present version of the player will play up to six
|
||
parts. The complete specifications for a single part constitute
|
||
a "logical tape". The sequence of all parts in a piece make up
|
||
the input file for the compiler.
|
||
|
||
I.A.2. For each voice, one must supply: (1) a title,
|
||
which is all information on the logical tape through the first
|
||
slash ("/"); (2) the clef, and the key and time signatures;
|
||
(3) a tempo (which needs to occur in only one of the parts);
|
||
(4) one or more full measures of music; (5) the command "END"
|
||
to terminate the logical tape.
|
||
|
||
|
||
|
||
I.B. Each and every note in a musical score conveys two
|
||
pieces of information: (A) Its pitch, indicated by its position
|
||
on the staff; (B) Its duration, signified by the form of the
|
||
note symbol. Both of these data must be supplied to the
|
||
compiler for each note [TFF]. *
|
||
|
||
-----------------------------
|
||
|
||
* TFF (too few fields) is an error message produced by the
|
||
compiler if this rule is violated. Error messages appear in
|
||
square brackets ("[ ]") throughout this specification, and are
|
||
summarized in an appendix.
|
||
|
||
-----------------------------
|
||
|
||
I.B.1.A. Pitch
|
||
The pitch of a note may be indicated to the compiler by a
|
||
number representing the position on the staff which the note
|
||
occupies: The correspondence between position and pitch
|
||
number is shown in figure 1. The lowest possible pitch number
|
||
is 0; the number may be as high as necessary to account for
|
||
leger lines above the staff. Notes which appear on
|
||
lines are represented by odd numbers; notes appearing in spaces
|
||
are represented by even numbers.
|
||
|
||
I.B.1.B. Duration
|
||
The duration of a note (or rest, section I.B.2) can be specified
|
||
by a number, as demonstrated by figure 2. No duration number
|
||
may be used except the seven listed in the figure [ERT].
|
||
|
||
I.B.1.C. Notes are specified by two numbers: A pitch number
|
||
and a duration number conjoined form a note. The two numbers
|
||
must be in the order "Pitch--Duration". To distinguish the two
|
||
numbers, they must be separated by one or more non-numeric
|
||
characters (other than spaces). In the following sections,
|
||
many such characters will be described, with their particular uses.
|
||
If no such character is needed for a particular note, the character
|
||
"T" is specifically reserved to separate the two numbers. "T" may
|
||
be considered an abbreviation for "tone".
|
||
Figure 3 shows some notes and their compiler representations
|
||
as formed in this manner.
|
||
|
||
Hereafter, it will be stated that certain characters may be
|
||
placed "anywhere" within a note. Actually, of course, they
|
||
may not be placed between the digits of a number. They may be
|
||
used to separate the two numbers of a note.
|
||
I.B.2. Rests
|
||
A rest may be expressed by the letter "R" and a duration number.
|
||
The number and the "R" may be put in either order, but practice
|
||
has favored putting the duration number after the "R". A pitch
|
||
number may not occur in the same note as an "R" [TMF]. A note
|
||
should not contain more than one "R" [TMR]. Examples are in
|
||
figure 4.
|
||
|
||
I.B.3. Comma
|
||
A comma may be used alone as a note, meaning to copy the
|
||
previous note exactly. The first note in a part may not contain
|
||
a comma, as there is then no "previous note" [UNC]. The comma
|
||
may also be used with a pitch number or an "R" to form a note;
|
||
in this case, the comma means to copy only the duration number
|
||
from the previous note. The comma and the pitch number may come
|
||
in either order; in practice, the comma generally follows the
|
||
pitch number. There should never be more than one comma in
|
||
a note [TMC], and there should never be a duration number in
|
||
the same note as a comma [TMF]. Figure 5 demonstrates the use
|
||
of the comma.
|
||
|
||
I.B.4.A. Dotted notes
|
||
Often one or more dots occur directly after a note in a score,
|
||
indicating that the duration of the note is to be lengthened.
|
||
This notation is carried over into the compiler, using
|
||
the character "." (period). Each dot adds an amount to the duration:
|
||
The first dot in a note adds one-half the duration of the note;
|
||
each succeeding dot adds half the duration of the dot before
|
||
it. A dot whose duration is less than that of a sixty-fourth
|
||
note is ignored [DTU]. It is occasionally convenient to
|
||
add a smaller fraction than half the note's duration.
|
||
To allow this, the compiler interprets the letter "X" to
|
||
mean "halve the value of the dot". Periods and "X"'s may be used
|
||
anywhere in a note, and need not be contiguous. Their order
|
||
is significant only among themselves. Either character will
|
||
suffice to separate the pitch number from the duration number.
|
||
The period may not occur in the same note as a comma [TIC].
|
||
Figure 6 shows some dotted notes and their translations for
|
||
the compiler.
|
||
|
||
|
||
I.B.4.B. Triplets
|
||
Sometimes a group of three notes is to be played in the time
|
||
intended for two; musical notation indicates this by the numeral
|
||
"3" above the notes, directing that each note be played for
|
||
two-thirds its usual duration. This is indicated to the compiler
|
||
by including the letter "C" anywhere within each note so
|
||
affected. Dots and "X"'s may also be included. It is not
|
||
necessary to the compiler that the notes making up a triplet
|
||
actually be adjacent notes. A comma in a following note will
|
||
copy the "C" only if the note in which the "C" occurs does
|
||
not itself contain a comma. (A note with a comma may contain a
|
||
"C".) For instances of the use of "C", see figure 7.
|
||
|
||
I.B.5.A. Tone relocation
|
||
Occasional notes will be found which are either above or below
|
||
the staff. The compiler assumes staves to exist above and below
|
||
the staff in use, as per figure 8. To refer an individual note
|
||
to either adjoining staff, include the letter "A" (above) or
|
||
"B" (below) anywhere in the note. These letters may occur
|
||
more than once in a note, and their effect is cumulative:
|
||
for example, "AA" refers to the second staff above the current
|
||
one. The highest pitch available in the compiler is the treble
|
||
clef's "A1"; the lowest is the bass clef's "B2" [UAT][AOR][EOR].
|
||
|
||
|
||
|
||
I.B.5.B Accidentals
|
||
Accidental signs, and the characters to represent them to
|
||
the compiler are shown in figure 9. The appropriate characters
|
||
may appear anywhere in the note they affect. An accidental
|
||
appearing on a rest is ignored [AIR]. If "=" appears in the
|
||
same note with "+" or "-", the "=" takes precedence [NOR].
|
||
The character "(" is equivalent to "+", and the character ")"
|
||
is equivalent to "="; these exist for historical reasons,
|
||
having to do with the FIO-DEC code of the PDP-1.
|
||
|
||
I.B.6 Articulation
|
||
Two notes played in succession are separated and made distinct
|
||
to the ear by articulation, which is the effect of a short
|
||
duration of silence between them. The duration of the preceding
|
||
note is shortened by the period of the silence. The articulation
|
||
following a note can be expressed to the compiler by including
|
||
an identifying letter anywhere in the note: the five letters
|
||
available are explained in the following table.
|
||
|
||
|
||
LETTER NAME DURATION DURATION USED FOR
|
||
of of
|
||
NOTE ARTICULATION
|
||
|
||
L Legato 1 0 Slurs, Legato notes
|
||
|
||
E Eigth 7/8 1/8 Notes not specially marked
|
||
|
||
H Half 1/2 1/2 Staccato for Organ works
|
||
|
||
Q Quarter 3/4 1/4 Alternative to "E"
|
||
|
||
S Staccato @3/8 @5/8 Alternative to "H"
|
||
|
||
|
||
The articulation of notes not containing "E", "H", "S", "L",
|
||
or "Q" is explained in section I.D.5. The effect of these
|
||
letters in a note is not copied by a comma in a subsequent
|
||
note. If more than one of these letters should appear in a
|
||
note, the last one will prevail [TMS]. A slur is expressed to
|
||
the compiler by making legato all notes in the slur except
|
||
the last. A few examples are shown in figure 10.
|
||
|
||
|
||
|
||
I.B.7. Embellishments
|
||
Various embellishment signs may appear on a note in a piece
|
||
of music, indicating that the note is to be performed more
|
||
elaborately than written. In figure 11 are (A) the symbols
|
||
appearing in a score (as used by C.P.E.Bach in his "Essay on
|
||
the True Art of Playing Keyboard Instruments"); (B) the letter
|
||
used to signify that embellishment to the compiler; (C) the
|
||
patterns compiled; and (D) the shortest note on which the
|
||
compiler will perform that embellishment [EIT].
|
||
If more than one embellishment is chosen for one note, the last
|
||
one will be taken [TME]. Embellishments may not be called for
|
||
on triplet notes [ETR]. Comma does not copy embellishments. An
|
||
embellishment will be illegal if any note it generates is out
|
||
of range [EOR].
|
||
|
||
I.B.8. Grace notes
|
||
A grace note (appogiatura) steals its playing time from the
|
||
first non-grace note to follow: such a following note must
|
||
have sufficient remaining time to sound itself as well [ITG].
|
||
A duration may be specified in a grace note, either by a number
|
||
or by the comma. If a duration is not specified, a thirty-
|
||
second note will be compiled. The letter "G" anywhere in a
|
||
note marks it as a grace note. Only one "G" should be used
|
||
in a note [TMG].
|
||
|
||
|
||
|
||
I.C. Bars
|
||
In a score, the measures are separated by a bar; for the
|
||
compiler, the bar is represented by the slash ("/").
|
||
|
||
I.C.1. Bar labels
|
||
The compiler assigns successive numbers (1,2,3,...) to the
|
||
successive measures of the music. If a number appears alone
|
||
(i.e., not as a part of the title or a note), it is checked
|
||
against the current measure's count [BBL]. It is wise to use
|
||
such bar labels frequently; they warn of missing or
|
||
duplicated measures, and also serve to identify the measures
|
||
in which they appear.
|
||
|
||
I.C.2 Measure length
|
||
When the compiler encounters a slash, it adds up the duration
|
||
of all notes since the last slash, and checks the total
|
||
duration against the expected length of the measure [MTS][MTL].
|
||
|
||
I.D. Commands (pseudo-operations)
|
||
Certain instructions must be issued to the compiler on an infrequent
|
||
basis. This is accomplished by including in the compiler's
|
||
input certain special words called commands. Some commands
|
||
are supplied simply to make the compiler input more compact
|
||
or easier to prepare.
|
||
|
||
I.D.1. END
|
||
The command "END" signifies the end of a voice (or
|
||
logical tape) of music. When this command appears, followed by
|
||
a space, tab, or carriage return, the compiler completes the
|
||
compilation of the current voice, and prepares for the next one.
|
||
|
||
I.D.2. UNITS
|
||
The total duration of a measure should be stated to the compiler
|
||
before any notes or rests occur. To do this, the command "UNITS"
|
||
should appear, followed immediately by a number indicating the
|
||
number of thirty-second notes which would make a full measure.
|
||
This number may be computed by considering the time-signature
|
||
as a fraction, and multiplying it by 32. E.g., "waltz-time"
|
||
as a fraction is 3/4. 3/4 * 32 = 24. The command "UNITS 24" would
|
||
specify this time. The "UNITS" command may occur anywhere
|
||
in the text, and takes effect immediately, referring to the
|
||
measure where it occurs, and to all following measures until
|
||
another "UNITS" command supercedes it.
|
||
|
||
I.D.3 CLEFS
|
||
Prior to the appearance of any notes in the text, the compiler
|
||
must be informed of the clef which heads the current staff. There
|
||
are four commands, representing the four clefs shown in figure
|
||
12. A clef command may occur anywhere in the text, in order
|
||
to follow changes of clef in the music, or simply for convenience
|
||
where a long run of notes is above or below the current staff.
|
||
|
||
|
||
|
||
I.D.4. Key signature
|
||
At the beginning of the music, the key signature should be
|
||
stated. In the text, this is done by the use of the command "KEY"
|
||
followed by: "=" meaning no sharps or flats; "+" meaning sharps; or
|
||
"-" meaning flats. In the case of sharps or flats, the symbol should
|
||
immediately be followed by a number, which tells how many sharps
|
||
or flats are in the key signature. Samples appear in figure 13.
|
||
|
||
I.D.5. Articulation commands
|
||
One often encounters a run of several notes which have the same
|
||
degree of articulation. To facilitate expressing this to the
|
||
compiler, one may use the single articulation letters "S", "L",
|
||
"H", "Q", and "E" alone as commands, selecting this degree
|
||
of articulation for all succeeding notes which do not themselves
|
||
contain any letter "S", "L", "H", "Q", or "E", with the
|
||
exception of any note which immediately precedes a rest in the
|
||
same measure; such a note is automatically made legato unless
|
||
it contains an articulation letter. The articulation commands
|
||
may occur anywhere in the text. At the beginning of each part,
|
||
the compiler is in "E" articulation. Figure 14 demonstrates
|
||
some articulation commands.
|
||
|
||
I.D.6. REST
|
||
A given voice may be silent for one or more measures. This
|
||
may be expressed to the compiler by the command "REST" followed
|
||
by the number of inactive measures. (They will all be given
|
||
the current measure length.) The rest command may not be used
|
||
when notes have already been written in the current measure [ILR].
|
||
The rest command should not be followed by a slash. The
|
||
"REST" may be thought of as creating measures of rests, complete
|
||
with slashes.
|
||
|
||
|
||
I.D.7. COPY
|
||
One or more measures may be identical to measures that have
|
||
gone before.It is advised in this case to use the command
|
||
"COPY" to duplicate previously written measures. "COPY" must be
|
||
followed by two numbers: The number of the first measure to
|
||
copy, and the number of the last measure to be copied. The
|
||
first number must be lower than the present measure [BLC], and
|
||
the second number must be greater than or equal to the first
|
||
[BRC]. The second number may be higher than the current measure;
|
||
in this case some measure(s) will be copied more than once.
|
||
Like "REST", "COPY" may not be used when some notes are already
|
||
written in the current measure [ILC]. "COPY" should not be
|
||
followed by a slash. It may be thought of as copying the measures
|
||
complete with the terminating slash. The measures are copied
|
||
exactly; they are not modified by a change in the meaning of
|
||
the comma, or by a change in the mode of articulation, or
|
||
clef or measure length; nor do they change any of these for
|
||
non-copied measures to follow. The copied measures will be
|
||
performed at the current tempo, however, if that has been changed.
|
||
|
||
I.D.8. Transposition
|
||
The compiler is able to transpose music, via the commands "UP"
|
||
and "DOWN". A number follows the transposition command to specify
|
||
the number of semitones that the compiled music will be above
|
||
or below the music as written in the text. These commands may
|
||
appear anywhere in the text, and they take effect immediately.
|
||
To restore the compiler to no transposition, say "UP 0" or
|
||
"DOWN 0". The compiler starts each part at zero transposition.
|
||
|
||
I.D.9. Tempo
|
||
The tempo of a piece may be expressed to the compiler by
|
||
the command "TEMPO", followed by a number computed as follows:
|
||
|
||
N=1126/(m*f)
|
||
|
||
where "m" is Maelzel's metronome count for a "f" note. *
|
||
I.e., if a quarter note = 60, then "m" =60 and "f"= 1/4.
|
||
The number "N" may not be larger than 682 [TS].
|
||
The tempo may be changed at any point in the music. It will be
|
||
taken to be 170 if no "TEMPO" command is given. A "TEMPO" command
|
||
appearing in any one voice will apply to all voices; hence only
|
||
one voice need contain the tempo information.
|
||
|
||
-----------------------------
|
||
* This number was computed for the PDP-1 computer. In general,
|
||
since various configurations of PDP-6 and PDP-10 run at different
|
||
speeds, the "TEMPO" command should be considered as a relative
|
||
speed setting, which will need to be adjusted when the music
|
||
is played.
|
||
-----------------------------
|
||
I.E. Format
|
||
The timesharing version of the compiler expects the text
|
||
of the music to be compiled as an ASCII file from any of the
|
||
usual input devices. Alphabetic characters may appear as
|
||
either upper or lower case; lower case is converted to
|
||
upper case as the file is read. In general, the text will have
|
||
been prepared by an editing program, such as TECO.
|
||
|
||
I.E.1.
|
||
The characters "space", "tab", and "carriage-return/line-
|
||
feed" are treated identically by the compiler. Two or more
|
||
of these characters are treated the same as just one. These
|
||
facts allow great flexibility in the appearance of the printed
|
||
text, but it is worthwhile to follow a format which is somewhat
|
||
more strict than necessary. One such format, which has proven
|
||
satisfactory, is the following:
|
||
|
||
A) The title is as long as necessary (using any number
|
||
of lines) and is ended by a slash.
|
||
|
||
B) After the title, the CLEF, TIME, KEY and TEMPO
|
||
are specified, in any order.
|
||
|
||
C) Each line of the input represents one measure:
|
||
The measure number appears at the left margin,
|
||
and a space is used to separate the notes. The
|
||
line is ended with a slash, ending the measure.
|
||
|
||
D) If a measure is too long to fit on one line, it is
|
||
continued on the next line, indented by a tab.
|
||
Only the last line of a measure is ended by the
|
||
slash.
|
||
|
||
E) The commands "COPY" and "REST" get a line to
|
||
themselves, with no slash at the end.
|
||
|
||
F) "END" is followed by a carriage-return/linefeed.
|
||
|
||
I.E.2. Comments
|
||
Any material after the title which is typed between square
|
||
brackets ("[ ]") is ignored by the compiler. Comments may
|
||
thereby be inserted in the text at any point.
|
||
|
||
I.E.3. The text for each part appears in sequence in the input
|
||
file. Each part must have its own title, "KEY", "UNITS",
|
||
clef, and "END".
|
||
|
||
I.E.4. Running the compiler.
|
||
|
||
When the compiler is run, it asks for the input text by
|
||
saying "INPUT FILE:". Respond to this with a filename in the
|
||
usual format. Next, the compiler asks for the "OUTPUT FILE:".
|
||
Again, type a filename. If the output device is the paper tape
|
||
punch, a tape is punched in the format read by the music player.
|
||
If the output device is a directory device, a copy of the player
|
||
is written out, with the music already loaded into it. If the
|
||
output is a dectape, this file is ready to load and run via
|
||
TENDMP.
|
||
The following default file-names, extensions, and devices
|
||
are assumed in the commands:
|
||
Unless specified, the input device is DSK: .
|
||
Unless specified, the input file extension is .MUS .
|
||
Unless specified, the output device is PTP: .
|
||
Unless specified, the output filename is the same as the
|
||
input file-name, or MUSIC if none appeared on input.
|
||
Unless specified, the output extension is .SAV if a save-file
|
||
is being written, and .MSB otherwise.
|
||
MCOMP Error Messages
|
||
|
||
AGM Argument. A command argument is missing or mis-formed.
|
||
AIR Accidental appears in a rest. It is ignored.
|
||
AOR Accidental forced a note out of range. The note is treated
|
||
as a rest.
|
||
BBL Bad Bar Label. Number not the same as current measure number.
|
||
BLC Bad Left Copy. First argument too high, or zero.
|
||
BRC Bad Right Copy. Second argument less than first.
|
||
CS Internal Checksum error. Compiler has blown its mind.
|
||
DTU Dot Time Unavailable. A dot specified too short an interval.
|
||
The dot is ignored.
|
||
EIT Embellishment, insufficient time. The embellishment is
|
||
ignored.
|
||
EOR Embellishment out of range. The embellishment is ignored.
|
||
ERT Erroneous time. Duration number not 1,2,4,...,64.
|
||
ETR Embellishment on triplet. The embellishment is ignored.
|
||
ILC Illegal Copy. Copy command when notes already appear in
|
||
current measure.
|
||
ILR Illegal Rest. Rest command when notes already appear in
|
||
current measure.
|
||
ITG Insufficient time for grace note. The grace note is
|
||
discarded.
|
||
# MLD Measure length differs among the parts, at measure #.
|
||
MTL Measure too long.
|
||
MTS Measure too short.
|
||
MYK Mysterious key. Key command not followed by "+", "-",
|
||
"=", "(", or ")".
|
||
NOR Natural overrides accidental, both appeared in same note.
|
||
NPS Non-existent Pseudo-op (command). An unknown word appeared.
|
||
TFF Too few fields in a note.
|
||
TIC Dot and comma in same note. The dot is ignored.
|
||
TME Too Many Embellishments in one note. The last applies.
|
||
TMF Too Many Fields in a note.
|
||
TMS Too Many articulation (Staccato, etc.) characters in a note.
|
||
The last one applies.
|
||
TS Tempo statement with argument greater than 682.
|
||
UAT Unavailable tone. Tone is outside range of the compiler.
|
||
It is treated as a rest.
|
||
UCH Undefined Character. It is ignored.
|
||
UNC Undefined comma. A comma appeared before a duration
|
||
was specified in a part.
|
||
|
||
Music Player Specifications
|
||
|
||
II.A.1. The music player is an executive-mode program which
|
||
plays the binary output of the music compiler, in real time.
|
||
The player plays up to six voices. The six voices are played
|
||
in the low-order six bits of accumulator zero,by turning
|
||
those bits on and off at an audio rate. These bits reach an
|
||
external audio amplifier by means of the MI (memory indicator)
|
||
register, when the address switches are set to zero. A tapped
|
||
connection is made from the MI's light bulbs, through an "MK10
|
||
Music Kludge" to an audio amplifier. ("MK10" is not an official
|
||
designation, but it is generally known.)
|
||
|
||
II.A.2. The music compiler's output may be a paper tape, to be
|
||
read by the music player, or it may be a .SAV copy of the player
|
||
with the music already loaded into it. In the case of paper tape,
|
||
the tape format is the same as that of the PDP-1 version of the
|
||
music compiler and player, for compatibility.
|
||
|
||
II.A.3 The music player is controlled by the data switches.
|
||
The switches control both the reading of paper tape, and the
|
||
playing of music.
|
||
|
||
II.B. Loading the player:
|
||
The player and a piece of music may be loaded together by TENDMP,
|
||
or separately from paper tapes. This more primitive technique
|
||
works as follows:
|
||
|
||
1) Using the Read-In switch, load the RIM10B paper
|
||
tape of the PLAYER. (This tape may be created by
|
||
assembling PLAYER.MAC .) The starting address of PLAYER is 140.
|
||
|
||
2) Put the binary paper tape, output by the compiler,
|
||
in the reader.
|
||
|
||
3)Turn on, then off, either switch 3 or 4: switch 3 if
|
||
the music is from 1 to 3 parts, switch 4 if the music is from
|
||
4 to 6 parts.
|
||
|
||
4) the player will now read the tape. (A checksum
|
||
failure causes a halt.) When the tape is read in, the music
|
||
is ready to play.
|
||
|
||
At this point, you are in the same state as if you had compiled
|
||
the music directly to DECtape and then loaded it with TENDMP.
|
||
II.C. The music PLAYER uses the data switches as follows:
|
||
|
||
Switch 0 - Stop playing (or reading) music. Wait for further
|
||
switch commands.
|
||
Switch 1 - Start playing the music from the beginning.
|
||
Switch 2 - Detune the six voices, as follows: (Detuning the
|
||
voices slightly prevents cancellation due to
|
||
exact unison (or octave) notes.)
|
||
Read switches 18-35, considering them as six groups
|
||
of three bits. Voice 1 (MI 30) is associated
|
||
with switches 18-20; Voice 2 (MI 31) with 21-23;
|
||
... Voice 6 (MI35) with 33-35. Each switch group
|
||
contains a number from 0 to 7. A 7 tunes "A" to
|
||
exactly 440 Hz. 6 through 0 progressively flatten
|
||
the voice.
|
||
Switch 3 - Load a binary paper tape of from 1 to 3 voices.
|
||
Switch 4 - Load a binary paper tape of from 4 to 6 voices.
|
||
Switch 5 - Tune up the computer. The player adjusts to
|
||
the speed of the machine. This adjusts the
|
||
tuning only, not the tempo.
|
||
(NOTE: If you don't have 60 Hz power, reassemble with
|
||
JIFSEC modified.)
|
||
Switch 7 - Go to location 37400 (16 K TENDMP) at end of music.
|
||
Switch 13 - Append a binary paper tape of from 1 to 3 voices.
|
||
Switch 14 - Append a binary paper tape of from 4 to 6 voices.
|
||
Switch 17 - Tempo control: Use switches 18-35 as a scale
|
||
factor, modifying the original tempo of the
|
||
music.
|
||
|
||
Music Kludge Hardware ("MK10")
|
||
|
||
As described in the PLAYER specifications, the music
|
||
is played by turning the six low-order bits of the MI on and
|
||
off at an audio rate. This information must be tapped off and
|
||
fed to an audio amplifier, in order to be heard.
|
||
|
||
The attached diagram shows a simple scheme for doing
|
||
this, which involves only plugging a module extender in
|
||
series with the lamp-driver card behind the PDP-10 console.
|
||
|
||
(NOTE: For simple, quick-and dirty listening, placing a
|
||
transistor radio near the MI, or near Bay 2 of the KA10
|
||
will produce the music, but hardly in Hi Fi.)
|
||
|
||
Using the MK10, each of the six lamp drivers now
|
||
feeds two volume controls in addition to the lamps. This load
|
||
is easily within the ratings of the lamp drivers. The volume
|
||
controls adjust how much signal from each lamp is sent to each
|
||
of two stereo output connectors. The signals are filtered
|
||
slightly by capacitors to dull the raspy quality of the square
|
||
waves produced by the lamp drivers.
|
||
|
||
By cutting the circuit in half, a simpler, monophonic
|
||
MK10 could be built. By adding switched capacitors, or R-L-C
|
||
networks, more variety in the sound of the voices can be
|
||
obtained.
|
||
|
||
The output of the MK10 shown is suitable for the
|
||
"TUNER" or "TAPE AMP" inputs of the usual HI-FI amplifiers.
|
||
|
||
It is advisable to warn your field-service engineer,
|
||
or enlist his aid, before installing your MK10. The MK10 is
|
||
not a DEC-supplied option for the PDP-10.
|
||
|
||
|