smsMk.wn
smsMk is a program that accepts a MusicKit scorefile and outputs a sound file.
Usage: smsMk <input score file> <output snd file>
smsMk recognizes the following parameters inside the scorefile:
smsFile - The sms file to be synthesized, specified as a string.
timeOffset - Time offset into the sms file to begin reading. E.g.
a time offset of 1 means begin 1 second into the file.
dur - Duration of the file to use. E.g. a dur of .5
means to use only .5 seconds of the file.
Note that dur is computed before any time stretch
change. (this parameter is specified as a
number inside parentesis after the part name)
amp - Scaling of the overall amplitude. A value of 1
does not modify the original amplitude, a value
of 2 generates a sound with twice the amplitude
of the original sound.
ampEnv - Envelope for the parameter amp.
The X values cover de whole sound independently of the
maximum value given. The Y values are scaled by the amp
parameter. The resulting amplitude is the original
amplitude multiplied by amp and by ampEnv.
ampDet - The amplitude scaling to be applied to the
deterministic component.
ampDetEnv - The amplitude envelope for ampDet.
ampPartialsEnv - Envelope to determine which partials are affected by the
amplitude change. The envelope covers all the partials
independently of the length of the envelope. A value of
0 means that the given partial is not affected, a value of
1 means that the partial is completely affected, and a
value in between means that the partials is only affected
the given percentage.
ampStoc - The amplitude scaling applied to the stochastic component.
ampStocEnv - The amplitude envelope for ampStoc.
ampStocCoeffEnv- Envelope to determine which coefficients are affected by
the amplitude change. This can only be used when the analysis
was done with line-segment approximation on the magnitude
spectrum of the residual.
freq1 - Frequency multiplier when the envelope has value y = 1.
A value of 1 leaves the original
frequency as it was, a value of 2 transposes
the frequency up an octave. This modification
does not change the duration of the original sound.
freq0 - Frequency multiplier when the envelope has value y = 0.
Same behaviour as freq1.
freqEnv - The frequency envelope for frequency.
freqPartialsEnv- Envelope to determine which partials are affected by the
frequency change. It works de same than ampPartialsEnv.
timeStretch - Time stretch factor applied to the sms data. A value
of .5 shortens the sound to half its duration,
and a value of 2 stretches the duration to
twice its original value. This modification
does not affect the frequency of the sound.
timeStretchEnv - Envelope for the timeStretch parameter. The final
duration of the sound will be the result of
both timeStretch and timeStretchEnv.
freqStretch - Modification of the distribution of the harmonics of
the original sound by stretching or
compressing them. A value of 1 leaves the
partials in its original place. A value of
2 stretches progressively all the harmonics
such that the fundamental remains in its
own place, but as we going up the harmonics
as being transposed higher and higher. The
last harmonic gets transposed an octave
higher than its original frequency.
freqStretchEnv - Envelope for the freqStretch parameter.
maxTraj - Maximum number of trajectories to synthesize. Due
that the computing time is directly related
with the number of partials to synthesize,
we can give a small value to this parameter
when we are experimenting and put the highest
value to obtain the final version.
smsFileHyb - The sms file to be used to hybridize with the smsFile.
timeOffsetHyb - Time offset into the smsFileHyb file.
durHyb - Duration of the smsFileHyb file to use.
freqHybFactor - Contributing factor of the frequency of the
smsFileHyb file into the resulting sound. When the value
is negative (between 0 and -1) the hybridization is done
using of the first sound only its fundamental. So, when the
value is -1 the resulting sound will have the frequency
evolution according to the fundamental of the first sound,
but the frequency relations of the second sound.
freqHybEnv - Envelope for freqHybFactor.
ampDetHybFactor- Contributing factor of the deterministic magnitude
of the smsFileHyb file into the resulting sound.When the value
is negative (between 0 and -1) the hybridization is done
using of the first sound only its fundamental magnitude. So,
when the value is -1 the resulting sound will have the
magnitude evolution according to the fundamental of the first
sound, but the magnitude relations of the second sound.
ampDetHybEnv - Envelope for ampDetHybFactor.
ampStocHybFactor- Contributing factor of the stochastic magnitude.
of the smsFileHyb file into the resulting sound.
ampStocHybEnv - Envelope for ampStocHybFactor.
timeStretchHyb - Time stretch factor applied to the sms data. A value
of .5 shortens the sound to half its duration,
and a value of 2 stretches the duration to
twice its original value. This modification
does not affect the frequency of the sound.
timeStretchHybEnv - Envelope for the timeStretchHyb parameter. The final
duration of the sound will be the result of
both timeStretch and timeStretchEnv.
there is one general parameter that can be specified in the info statement of the scorefile:
samplingRate - Sampling rate of the output file, it should be 22050 or 44100.
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.