Outputs the sum of two inputs.
This unit replicates MUSIC-V's “two-input adder” as described on page 128 of The Technology of Computer Music.
Arguments:
The sum. The output must be a signal if one or more inputs are contours or signals. Otherwise the output must be a variable.
Allowed links: Variable, Instrument Signal, Voice Signal
The augend.
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
The addend.
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
Outputs the sum of three inputs.
This unit replicates MUSIC-V's “three-input adder” as described on page 128 of The Technology of Computer Music.
Arguments:
The sum. The output must be a signal if one or more inputs are contours or signals. Otherwise the output must be a variable.
Allowed links: Variable, Instrument Signal, Voice Signal
The augend.
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
The first addend.
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
The second addend.
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
Outputs a looped-back copy of its own output plus the input at the earlier time. The loop-back time (argument #3) is variable, subject to an allocated limit (argument #4).
This unit implements the allpass “filter” given by Victor Lazzarini in “Time-Domain Audio Programming” chapter 6 of The Audio Programming Book p. 494, but enhanced to use the variable delay line described on p. 495.
Arguments:
The generated signal. The output must be a signal.
Allowed links: Instrument Signal, Voice Signal
The signal to be processed.
Allowed links: Contour, Instrument Signal, Voice Signal
The loop-back duration in seconds. This argument may be a signal but may never exceed argument #5.
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
The reverb time in seconds. Lazzarini describes this argument as “the time it takes for [an impulse] to fall to 1/1,000 of its original amplitude (-60 dB).”
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
The maximum delay duration, used to size the sample-history array.
Allowed links: Constant, System Variable, Parameter, Variable
Assigns the value(s) of an input to an output.
If you wish to initialize a signal to a constant value, use this unit. (N.B. voice-level signals are automatically initialized to zero.)
Arguments:
The output. The output must be a signal if the input is a contour or a signal.
Allowed links: Variable, Instrument Signal, Voice Signal
The input.
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
Processes the input signal (argument #2) through a delay line whose maximum delay duration is specified through argument #6. The delay line has N taps, where N is specified through argument #5. The delay duration associated with each tap varies randomly from zero to the maximum tap duration specified in argument #4. Each instantaneous tap delay is determined by interpolating between successive numbers ranging from zero to the maximum tap duration. The time period from one random selection to its successor is controlled through argument #3. Each tap is processed without gain adjustment, thus the signal output from a chorus unit with 4 taps will have 4 times the magnitude of the input signal.
This unit adapts a unit of similar purpose in Music11. It implements a 1978 design by Blesser and Kates which came to me by way of Dodge and Jerse, p. 305.
Arguments:
The generated signal. The output must be a signal.
Allowed links: Instrument Signal, Voice Signal
The signal to be processed.
Allowed links: Contour, Instrument Signal, Voice Signal
The time period between random samplings, in seconds.
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
Maximum instantaneous time delay for any tap, in seconds. This value should be positive but may never exceed argument #6.
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
The maximum delay duration, used to size the sample-history array.
Allowed links: Constant, System Variable, Parameter, Variable
Outputs a signal which mixes the input signal (argument #2) with a looped-back copy of itself. The loop-back time (argument #3) is variable, subject to an allocated limit (argument #4).
This unit implements the comb “filter” given by Victor Lazzarini in “Time-Domain Audio Programming” chapter 6 of The Audio Programming Book p. 493, but enhanced to use the variable delay line described on p. 495.
Arguments:
The generated signal. The output must be a signal.
Allowed links: Instrument Signal, Voice Signal
The signal to be processed.
Allowed links: Contour, Instrument Signal, Voice Signal
The loop-back duration in seconds. This argument may be a signal but may never exceed argument #5.
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
The reverb time in seconds. Lazzarini describes this argument as “the time it takes for [an impulse] to fall to 1/1,000 of its original amplitude (-60 dB).”
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
The maximum delay duration, used to size the sample-history array.
Allowed links: Constant, System Variable, Parameter, Variable
Does nothing other than satisfy the compiler that an instrument variable or instrument signal has been consumed.
This unit is intended for troubleshooting purposes.
Arguments:
The input. The input must be a writable conduit scoped within the current instrument..
Allowed links: Variable, Instrument Signal
Outputs a signal which delays the input signal (argument #2) by a variable amount of time (argument #3), subject to an allocated limit (argument #4).
This unit implements the variable-delay routine given by Victor Lazzarini in “Time-Domain Audio Programming” chapter 6 of The Audio Programming Book p. 495.
Arguments:
The delayed signal. The output must be a signal.
Allowed links: Instrument Signal, Voice Signal
The signal to be delayed.
Allowed links: Contour, Instrument Signal, Voice Signal
The delay duration, which may be variable but which may not exceed argument #4.
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
The maximum delay duration, used to size the sample-history array.
Allowed links: Constant, System Variable, Parameter, Variable
Outputs the quotient of the dividend (argument #2) and divisor (argument #3).
This unit adapts a unit of similar purpose in Music11 except for Music11's imposition of a substitute when divisors near zero. Earlier implementations of the Sound engine also implemented such a feature, but this was identified as a source of signal discontinuities. Better simply to throw a divide-by-zero exception.
Arguments:
The quotient. The output must be a signal if one or more inputs are contours or signals. Otherwise the output must be a variable.
Allowed links: Variable, Instrument Signal, Voice Signal
The dividend (numerator).
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
The divisor (denominator).
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
Generates an envelope with linear attack, constant hold, exponential decay, constant sustain, and linear release segments. This envelope is generated in relative values, where zero indicates silence, where unity (1.0) indicates full amplitude, and where the sustain level (argument #6) is a proportion ranging from zero (exclusive) to unity. The resulting relative contour is then used to modulate the amplitude input (argument #3), which may be a signal.
The duration of the attack segment is provided by argument #2. The duration of the hold segment is provided by argument #4. The duration of the decay segment is provided by argument #5. THe duration of the release segment is provided by argument #7. The duration of the sustain segment is calculated by subtracting the other segment durations from the note duration.
During the attack segment, the amplitude normally rises linearly from zero to full amplitude (argument #3). The attack segment is skipped if the current note slurs from a predecessor.
During the hold segment, the amplitude holds at the full attack amplitude (argument #3). The hold segment is skipped if the current note slurs from a predecessor.
During the decay segment, the amplitude falls exponentially from full amplitude to the sustain level. If the current note slurs from a predecessor which did not decay completely to its sustain level, then the current decay segment is adjusted appropriately.
During the sustain segment, the envelope holds constant at the sustain level (argument #.
During the release segment, the envelope normally falls linearly from the sustain level to zero. The release segment is skipped if the current note slurs to a successor.
If the note slurs to a successor, the sustain level continues on through the release segment.
If the note slurs from a predecessor, the envelope level at the beginning of the attack phase is the final level of the preceding note's AHDSR envelope.
Arguments:
The output control signal.
Allowed links: Instrument Signal, Voice Signal
The duration of the attack segment.
Allowed links: Constant, System Variable, Parameter, Variable
The amplitude at the end of the attack segment and the beginning of the decay segment.
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
The duration of the segment which holds full amplitude.
Allowed links: Constant, System Variable, Parameter, Variable
The duration of the segment which decays from full amplitude to the sustain amplitude. May not be shorter than one sample period.
Allowed links: Constant, System Variable, Parameter, Variable
The sustain level, expressed as a proportion between zero (exclusive) and unity (inclusive).
Allowed links: Constant, System Variable, Parameter, Variable
The duration of the release segment.
Allowed links: Constant, System Variable, Parameter, Variable
Generates an envelope with linear attack, constant hold, exponential decay, and linear release segments. This envelope is generated in relative values, where zero indicates silence and unity (1.0) indicates full amplitude. The resulting relative contour is then used to modulate the amplitude (argument #3), which may be a signal.
The attack duration is provided as argument #2, the hold duration is provided as argument #4, and the release duration is provided as argument #5. The duration of the decay segment is calculated by subtracting the other segment durations from the note duration.
During the attack segment, the amplitude normally rises linearly from zero to full amplitude.
During the decay segment, the amplitude falls away exponentially according to the rate provided by argument #4.
During the release segment, the amplitude normally falls linearly from the current amplitude value to zero.
If the note slurs to a successor, the release segment is skipped.
If the note slurs from a predecessor, the attack segment is skipped and the amplitude at the beginning of the decay segment carries over from the preceding note's envelope.
Arguments:
The output control signal.
Allowed links: Instrument Signal, Voice Signal
The duration of the attack segment.
Allowed links: Constant, System Variable, Parameter, Variable
The amplitude sustaining from the end of the attack segment, through the hold segment, to the beginning of the decay segment.
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
The duration of the segment which holds the attack amplitude.
Allowed links: Constant, System Variable, Parameter, Variable
The amplitude range, in decibels, by which the envelope drops away during one second. Guidance for setting this argument may be found here.
Allowed links: Constant, System Variable, Parameter, Variable
The duration of the release segment.
Allowed links: Constant, System Variable, Parameter, Variable
Generates an envelope with linear attack, sustain, and linear release segments. This envelope is generated in relative values, where zero indicates silence and unity (1.0) indicates full amplitude. The resulting relative contour is then used to modulate the amplitude (argument #3), which may be a signal.
This unit replicates MUSIC-V's “envelope generator” as described on pages 130-131 of The Technology of Computer Music.
The duration of the attack segment is provided as argument #2. The duration of the and release segment is provided as argument #4. The duration of the sustain segment is calculated by subtracting the other segment durations from the note duration.
During the attack segment, the amplitude normally rises linearly from zero to full amplitude.
During the sustain segment, the amplitude remains constant, or evolves as indicated by argument #3.
During the release segment, the amplitude normally falls linearly from full amplitude to zero.
If the note slurs to a successor, full amplitude continues on through the release segment.
If the note slurs from a predecessor, the amplitude at the beginning of the attack phase is the final amplitude of the preceding note's envelope.
Arguments:
The output control signal.
Allowed links: Instrument Signal, Voice Signal
The duration of the attack segment.
Allowed links: Constant, System Variable, Parameter, Variable
The amplitude input.
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
The duration of the release segment.
Allowed links: Constant, System Variable, Parameter, Variable
Raises Euler's number e by the indicated exponent.
Arguments:
The power obtain by raising Euler's number e to the indicated exponent. The output must be a signal if the power input is a contour or a signal. Otherwise the output must be a variable.
Allowed links: Variable, Instrument Signal, Voice Signal
The exponent to be applied to Euler's number e.
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
Band-pass filter (2nd-order Butterworth).
This unit employs the 2nd-order Butterworth band-pass coefficients detailed by Victor Lazzarini in “Time-Domain Audio Processing”, chapter 6 of The Audio Programming Book, page 484.
Arguments:
The generated signal.
Allowed links: Instrument Signal, Voice Signal
The signal to be filtered.
Allowed links: Instrument Signal, Voice Signal
The peak-gain frequency.
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
The bandwidth around the peak-gain frequency.
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
2nd order band-pass filter.
This unit implements the resonance filter described on page 76 of The Technology of Computer Music.
Arguments:
The generated signal.
Allowed links: Instrument Signal, Voice Signal
The signal to be filtered.
Allowed links: Instrument Signal, Voice Signal
The peak-gain frequency.
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
The bandwidth around the peak-gain frequency.
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
Band-reject filter (two-zero).
This unit implements the two-zero filter derived by Julius O. Smith III in Two_Zero.html.
Arguments:
The generated signal.
Allowed links: Instrument Signal, Voice Signal
The signal to be filtered.
Allowed links: Instrument Signal, Voice Signal
The peak-reject frequency.
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
The bandwidth around the peak-reject frequency.
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
Band-reject filter (2nd-order Butterworth).
This unit is not presently functional.
This unit employs the 2nd-order Butterworth band-reject coefficients detailed by Victor Lazzarini in “Time-Domain Audio Processing”, chapter 6 of The Audio Programming Book, page 484.
Arguments:
The generated signal.
Allowed links: Instrument Signal, Voice Signal
The signal to be filtered.
Allowed links: Instrument Signal, Voice Signal
The peak-reject frequency.
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
The bandwidth around the peak-reject frequency.
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
High-pass filter (1st-order).
This unit employs the high-pass coefficients of the 1st-order IIR filter described by Victor Lazzarini in “Time-Domain Audio Processing”, chapter 6 of The Audio Programming Book, page 486
Arguments:
The generated signal.
Allowed links: Instrument Signal, Voice Signal
The signal to be filtered.
Allowed links: Instrument Signal, Voice Signal
The low cutoff frequency.
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
High-pass filter (2nd-order Butterworth).
This unit is not presently functional.
This unit employs the 2nd-order Butterworth high-pass coefficients detailed by Victor Lazzarini in “Time-Domain Audio Processing”, chapter 6 of The Audio Programming Book, page 484.
Arguments:
The generated signal.
Allowed links: Instrument Signal, Voice Signal
The signal to be filtered.
Allowed links: Instrument Signal, Voice Signal
The low cutoff frequency.
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
Low-pass filter (1st-order).
This unit employs the low-pass coefficients of the 1st-order IIR filter described by Victor Lazzarini in “Time-Domain Audio Processing”, chapter 6 of The Audio Programming Book, page 486.
Arguments:
The generated signal.
Allowed links: Instrument Signal, Voice Signal
The signal to be filtered.
Allowed links: Instrument Signal, Voice Signal
The high cutoff frequency.
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
Low-pass filter (2nd-order Butterworth).
This unit employs the 2nd-order Butterworth high-pass coefficients detailed by Victor Lazzarini in “Time-Domain Audio Processing”, chapter 6 of The Audio Programming Book, page 484.
Arguments:
The generated signal.
Allowed links: Instrument Signal, Voice Signal
The signal to be filtered.
Allowed links: Instrument Signal, Voice Signal
The low cutoff frequency.
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
Generates a control signal that evolves exponentially over a specified duration.
This unit adapts a unit of similar purpose in Music11. For some applications involving exponential control signals, a better solution might be to employ exponential contours.
If the duration is short of the note duration, the value will continue changing at the same rate.
If the the node slurs from a previous note, the goal of the previous note becomes the new note's origin (overriding the input).
Arguments:
The output control signal.
Allowed links: Instrument Signal, Voice Signal
The starting value. Must be positive.
Allowed links: Constant, System Variable, Parameter, Variable
Time in seconds to reach goal. Must be positive.
Allowed links: Constant, System Variable, Parameter, Variable
The ending value. Must be positive.
Allowed links: Constant, System Variable, Parameter, Variable
Generates a control signal that evolves exponentially over a specified duration.
This unit adapts a unit of similar purpose in Music11. For some applications involving exponential control signals, a better solution might be to employ exponential contours.
If the duration is short of the note duration, the value will continue changing at the same rate.
If the the node slurs from a previous note, the goal of the previous note becomes the new note's origin (overriding the input).
Arguments:
The output control signal.
Allowed links: Instrument Signal, Voice Signal
The starting value. Must be positive.
Allowed links: Constant, System Variable, Parameter, Variable
Time in seconds to reach goal1. Must be positive.
Allowed links: Constant, System Variable, Parameter, Variable
The ending value for segment 1. Must be positive.
Allowed links: Constant, System Variable, Parameter, Variable
Time in seconds to reach goal2. Must be positive.
Allowed links: Constant, System Variable, Parameter, Variable
The ending value for segment 2. Must be positive.
Allowed links: Constant, System Variable, Parameter, Variable
Time in seconds to reach goal3. Must be positive.
Allowed links: Constant, System Variable, Parameter, Variable
The ending value for segment 3. Must be positive.
Allowed links: Constant, System Variable, Parameter, Variable
Outputs a signal which mixes the input signal (argument #2) with a looped-back, low-pass filtered copy of itself. The loop-back time (argument #3) is variable, subject to an allocated limit (argument #6).
This unit implements the model described in the Wikipedia article on KarplusÐStrong string synthesis, which interposes a low-pass within a comb filter. Rather than simply averaging consecutive samples as originally suggested, the present implementation exploits two enhancements taken from The Audio Programming Book the variable delay line described starting p. 495, and the 1st-order low-pass filter described starting page 486
Arguments:
The generated signal. The output must be a signal.
Allowed links: Instrument Signal, Voice Signal
The signal to be processed. For a plucked string this should be a short noise burst.
Allowed links: Contour, Instrument Signal, Voice Signal
The loop-back duration in seconds. For string synthesis this argument will generally be calculated by inverting a frequency. The loop-back duration may be a signal; however it may never exceed argument #6.
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
“The time it takes for [an impulse] to fall to 1/1,000 of its original amplitude (-60 dB).”
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
The maximum delay duration, used to size the sample-history array.
Allowed links: Constant, System Variable, Parameter, Variable
Generates a control signal that evolves linearly over a specified duration.
This unit adapts a unit of similar purpose in Music11. For some applications involving linear control signals, a better solution might be to employ linear contours.
If the duration is short of the note duration, the value will continue changing at the same rate.
If the the node slurs from a previous note, the goal of the previous note becomes the new note's origin (overriding the input).
Arguments:
The output control signal.
Allowed links: Instrument Signal, Voice Signal
The starting value.
Allowed links: Constant, System Variable, Parameter, Variable
Time in seconds to reach goal. Must be positive.
Allowed links: Constant, System Variable, Parameter, Variable
The ending value.
Allowed links: Constant, System Variable, Parameter, Variable
Generates a control signal that evolves linearly over three segments.
This unit adapts a unit of similar purpose in Music11. For some applications involving linear control signals, a better solution might be to employ linear contours.
If the final segment duration is short of the note duration, the value will continue changing at the same rate.
If the the node slurs from a previous note, the goal of the previous note becomes the new note's origin (overriding the input).
Arguments:
The output control signal.
Allowed links: Instrument Signal, Voice Signal
The starting value.
Allowed links: Constant, System Variable, Parameter, Variable
Time in seconds to reach goal1. Must be positive.
Allowed links: Constant, System Variable, Parameter, Variable
The ending value for segment 1.
Allowed links: Constant, System Variable, Parameter, Variable
Time in seconds to reach goal2. Must be positive.
Allowed links: Constant, System Variable, Parameter, Variable
The ending value for segment 2.
Allowed links: Constant, System Variable, Parameter, Variable
Time in seconds to reach goal3. Must be positive.
Allowed links: Constant, System Variable, Parameter, Variable
The ending value for segment 3.
Allowed links: Constant, System Variable, Parameter, Variable
Outputs the exponent necessary to raise the indicated base to the indicated power.
Arguments:
The exponent to which the base (input #1) must be raised to obtain the power (input #2). The output must be a signal if either input is a contour or a signal. Otherwise the output must be a variable.
Allowed links: Variable, Instrument Signal, Voice Signal
The value which is raised by the exponent (the output) to obtain the power (the other input).
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
The power obtained by raising the base (the other input) to the exponent (the output).
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
Outputs the exponent necessary to raise Euler's number e to the indicated power.
Arguments:
The exponent to which Euler's number e must be raised to obtain the indicated power. The output must be a signal if the power input is a contour or a signal. Otherwise the output must be a variable.
Allowed links: Variable, Instrument Signal, Voice Signal
The power obtained by raising Euler's number e to the output of this unit.
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
Outputs the product of two inputs.
This unit adapts a unit of similar purpose in Music11.
Arguments:
The product. The output must be a signal if one or more inputs are contours or signals. Otherwise the output must be a variable.
Allowed links: Variable, Instrument Signal, Voice Signal
The multiplicand.
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
The multiplier.
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
Outputs the product of three inputs.
This unit adapts a unit of similar purpose in Music11.
Arguments:
The product. The output must be a signal if one or more inputs are contours or signals. Otherwise the output must be a variable.
Allowed links: Variable, Instrument Signal, Voice Signal
The multiplicand.
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
The first multiplier.
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
The second multiplier.
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
Generates a signal by interpolates linearly between random values.
This unit replicates MUSIC-V's “Random Function Generator” as described on pages 128-129 of The Technology of Computer Music.
Arguments:
The generated signal.
Allowed links: Instrument Signal, Voice Signal
The peak signal amplitude.
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
The frequency by which new random values are selected.
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
Generates a signal by interpolates linearly between balanced-bit values.
This unit replicates MUSIC-V's “Random Function Generator” as described on pages 128-129 of The Technology of Computer Music except that a balanced-bit generator is substituted in place of the standard random generator.
Arguments:
The generated signal.
Allowed links: Instrument Signal, Voice Signal
The peak signal amplitude.
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
The frequency by which new balance-bit values are selected.
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
Generates an oscillating waveform.
This unit replicates MUSIC-V's digital oscillator as described on pages 127-128 of The Technology of Computer Music.
Arguments:
The generated signal.
Allowed links: Instrument Signal, Voice Signal
The waveform amplitude.
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
The waveform frequency.
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
The waveform identifier.
Allowed links: Constant, System Variable, Parameter, Variable
Directs an input signal to an output channel.
This unit replicates MUSIC-V's “output unit” as described on pages 126-127 of The Technology of Computer Music.
Arguments:
The signal to send to the channel. This input must be a signal.
Allowed links: Instrument Signal, Voice Signal
The channel to which the signal will be sent. For monaural output, this value must always be 0 (which value is returned by the MONO_OUTPUT system variable). For stereo output, the value may be either 0 (which value is returned by the STEREO_LEFT system variable) or 1 (which value is returned by the STEREO_RIGHT system variable).
Allowed links: Constant, System Variable, Parameter, Variable
Outputs the first input raised to the exponent brought in as the second input.
Arguments:
The result. The output must be a signal if the inputs is a contour or a signal. Otherwise the output must be a variable.
Allowed links: Variable, Instrument Signal, Voice Signal
The base.
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
The exponent.
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
Imports a sound from an external file.
Arguments:
The generated signal.
Allowed links: Instrument Signal, Voice Signal
The waveform amplitude.
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
The waveform frequency.
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
The file identifier.
Allowed links: Constant, System Variable, Parameter, Variable
The channel identifier.
Allowed links: Constant, System Variable, Parameter, Variable
Adjusts the amplitude if a signal input (argument #2) by a multiplier (argument #3) and a divisor (argument #4).
This unit adapts a unit of similar purpose in Music11 except for Music11's imposition of a substitute when divisors near zero. Earlier implementations of the Sound engine also implemented such a feature, but this was identified as a source of signal discontinuities. Better simply to throw a divide-by-zero exception.
Most typically, this unit will be used to process an original signal (pre-filtering) and its derived consequent (post-filtering). The derived consequent feeds the signal input; the power envelope of the original signal feeds the multiplier input; and the power envelope of the derived consequent feeds the divisor input. Both power envelopes will typically have been extracted using the RMS unit.
Arguments:
The rebalanced signal.
Allowed links: Instrument Signal, Voice Signal
The unbalanced signal.
Allowed links: Instrument Signal, Voice Signal
The multiplier (numerator).
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
The divisor (denominator).
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
Extracts the power envelope from a signal by the root-mean-square method.
This unit replicates the unit of the same name in Barry Vercoe's Music11 engine. This unit has carried through into Csound, which is Music11's successor. C++ code implementing Csound's version of the RMS unit is provided by John Ffitch in “Understanding an Opcode in Csound”, chapter 10 of The Audio Programming Book, page 591.
Arguments:
The generated power envelope.
Allowed links: Instrument Signal, Voice Signal
The source signal.
Allowed links: Instrument Signal, Voice Signal
The low-pass frequency.
Allowed links: Constant, System Variable, Parameter, Variable
Suggested value: 32 Hz. for pitches higher than cello C (65.41 Hz.). Otherwise, half the fundamental frequency.
The initial value.
Allowed links: Constant, System Variable, Parameter, Variable
Comments: A sine wave with unit zero-to-peak amplitude produces a result of 0.708. A square wave with unit zero-to-peak amplitude produces a result of 0.836.
Splits an input signal between two channels of the wavefile.
This unit replicates MUSIC-V's “stereophonic output box” as described on pages 131-132 of The Technology of Computer Music.
Arguments:
The signal to send to channels 0 and 1. This input must be a signal.
Allowed links: Instrument Signal, Voice Signal
The proportion to be sent to channel 0. (1-balance) is sent to channel 1.
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
Outputs the difference between two inputs.
This unit adapts a unit of similar purpose in Music11.
Arguments:
The remainder. The output must be a signal if one or more inputs are contours or signals. Otherwise the output must be a variable.
Allowed links: Variable, Instrument Signal, Voice Signal
The minuend.
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
The subtrahend.
Allowed links: Constant, System Variable, Parameter, Variable, Contour, Instrument Signal, Voice Signal
© Charles Ames | Page created: 2014-02-20 | Last updated: 2015-07-12 |