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.