replace in opening quotations

This commit is contained in:
2022-04-12 23:17:03 -03:00
parent 1ca5c25706
commit 19822c017f
89 changed files with 282 additions and 282 deletions

View File

@@ -122,7 +122,7 @@ This has the advantage of being more explicit than the <TT>throw~</TT> /
problem.
<P>
The main job of the patch, though, is to distribute the ``note" messages to
The main job of the patch, though, is to distribute the "note" messages to
the <TT>sampvoice</TT> objects. To do this we must introduce some new Pd
objects:
@@ -149,8 +149,8 @@ There is also an integer division object named <TT>div</TT> ; dividing 17 by
<A NAME="4912"></A>Polyphonic voice allocator. Creation arguments give the number of
voices in the bank and a flag (1 if voice stealing is needed, 0 if not).
The inlets are a numeric tag at left and a flag at right indicating whether
to start or stop a voice with the given tag (nonzero numbers meaning ``start"
and zero, ``stop"). The outputs are, at left, the voice number, the tag
to start or stop a voice with the given tag (nonzero numbers meaning "start"
and zero, "stop"). The outputs are, at left, the voice number, the tag
again at center, and the start/stop flag at right. In MIDI applications, the
tag can be pitch and the start/stop flag can be the note's velocity.
@@ -163,13 +163,13 @@ tag can be pitch and the start/stop flag can be the note's velocity.
SRC="img398.png"
ALT="\fbox{ \texttt{makenote}}">:
<A NAME="4913"></A>Supply delayed note-off messages to match note-on messages. The inlets are
a tag and start/stop flag (``pitch" and ``velocity" in MIDI usage) and the
a tag and start/stop flag ("pitch" and "velocity" in MIDI usage) and the
desired duration in milliseconds. The tag/flag pair are repeated to
the two outlets as they are received; then, after the delay, the tag is
repeated with flag zero to stop the note after the desired duration.
<P>
The ``note" messages contain fields for pitch, amplitude, duration,
The "note" messages contain fields for pitch, amplitude, duration,
sample number, start location in the sample, rise time, and decay time. For
instance, the message,
<PRE>
@@ -177,7 +177,7 @@ instance, the message,
</PRE>
(if received by the <TT>r note</TT> object)
means to play a note at pitch 60 (MIDI units), amplitude 90 dB, one second
long, from the wavetable named ``sample2", starting at a point 500 msec
long, from the wavetable named "sample2", starting at a point 500 msec
into the wavetable, with rise and decay times of 10 and 20 msec.
<P>
@@ -192,7 +192,7 @@ a unique number corresponding to the note.
The next step is to use the <TT>poly</TT> object to determine which voice to play
which note. The <TT>poly</TT> object expects separate messages to start
and stop tasks (i.e., notes). So the tag and duration are first fed to the
<TT>makenote</TT> object, whose outputs include a flag (``velocity") at
<TT>makenote</TT> object, whose outputs include a flag ("velocity") at
right and the tag again at left. For each tag <TT>makenote</TT> receives, two pairs
of numbers are output, one to start the note, and another, after a delay
equal to the note duration, to stop it.
@@ -200,7 +200,7 @@ equal to the note duration, to stop it.
<P>
Having treated <TT>poly</TT> to this separated input, we now have to strip
the messages corresponding to the ends of notes, since we really only need
combined ``note" messages with
combined "note" messages with
duration fields. The <TT>stripnote</TT> object does this job. Finally, the
voice number we have calculated is prepended to the seven parameters we
started with (the <TT>pack</TT> object), so that the output of the
@@ -208,11 +208,11 @@ started with (the <TT>pack</TT> object), so that the output of the
<PRE>
4 60 90 1000 2 500 10 20
</PRE>
where the ``4" is the voice number output by the <TT>poly</TT> object.
where the "4" is the voice number output by the <TT>poly</TT> object.
The voice number is used to route the message
to the desired voice using the <TT>route</TT> object. The appropriate
<TT>sampvoice</TT> object then gets the original list starting with
``60".
"60".
<P>
Inside the <TT>sampvoice</TT> object (Figure <A HREF="#fig04.21">4.21</A>), the message
@@ -239,20 +239,20 @@ list generated by the <TT>pack</TT> object at the center of the voice patch.
<P>
We arbitrarily decide that the ramp will last ten thousand seconds (this is the
``1e+07" appearing in the message box sent to the wavetable index generator),
"1e+07" appearing in the message box sent to the wavetable index generator),
hoping that this is at least as long as any note we will play. The ending index
is the starting index plus the number of samples to ramp through. At a
transposition factor of one, we should move by 441,000,000 samples during those
10,000,000 milliseconds, or proportionally more or less depending on the
transposition factor. This transposition factor is computed by the <TT>mtof</TT> object, dividing by 261.62 (the frequency corresponding to MIDI note 60) so
that a specified ``pitch" of 60 results in a transposition factor of one.
that a specified "pitch" of 60 results in a transposition factor of one.
<P>
These and other parameters are combined in one message
via the <TT>pack</TT> object so that the following message boxes can
generate the needed control messages. The only novelty is
the <TT>makefilename</TT> object, which converts numbers such as ``2" to
symbols such as ``sample2" so that the <TT>tabread4~</TT> object's
the <TT>makefilename</TT> object, which converts numbers such as "2" to
symbols such as "sample2" so that the <TT>tabread4~</TT> object's
wavetable may be set.
<P>