a1 in a1, a2 ins a1, a2, a3, a4 inq a1 soundin ifil[, iskip][, iformat] a1, a2 soundin ifil[, iskip][, iformat] a1, a2, a3, a4 soundin ifil[, iskip][, iformat] a1[,a2[,a3,a4]] diskin ifil, kpitch[,iskip][,iwrap][,iformat] out asig outs1 asig outs2 asig outs asig1, asig2 outq1 asig outq2 asig outq3 asig outq4 asig outq asig1, asig2, asig3, asig4
1 = norm pitch,
2 = oct higher,
3 = 12th higher,etc;
.5 = oct lower,
.25 = 2oct lowr, etc;
-1 = norm pitch backwards,etc..
iwrap - 1=on, 0=off (wraps around to end of file either direction)
soundin is functionally an audio generator that derives its signal from a pre-existing file. The number of channels read in is controlled by the number of result cells, a1, a2, etc., which must match that of the input file. A soundin unit opens this file whenever the host instrument is initialized, then closes it again each time the instrument is turned off. There can be any number of soundin units within a single instrument or orchestra; also, two or more of them can read simultaneously from the same external file. diskin is identical to soundin, except that it can alter the pitch of the sound that is being read.
out, outs, outq send audio samples to an accumulating output buffer (created at the beginning of performance) which serves to collect the output of all active instruments before the sound is written to disk. There can be any number of these output units in an instrument. The type (mono, stereo, or quad) must agree with nchnls, but units can be chosen to direct sound to any particular channel: outs1 sends to stereo channel 1, outq3 to quad channel 3, etc.