AudioTools
Modulate
modulate one audio recording using another
Calling Sequence
Parameters
Description
Examples
Modulate(audArray, maskArray)
audArray
-
Array, Vector, or Matrix containing the audio to be modulated
maskArray
Array, Vector, or Matrix specifying the modulation mask
The Modulate command uses one audio recording to modulate another.
The audArray parameter specifies the audio to be modulated, and must be a dense, rectangular, one or two dimensional Array, Vector, or Matrix with datatype=float[8].
The maskArray parameter specifies the modulation mask, and must be a dense rectangular Array, Vector, or Matrix with datatype=float[8], and the same dimensions as audArray.
The Modulate operation consists of multiplying each sample in the audArray by the corresponding sample in the maskArray, and writing the result to the output. Notice that this operation is commutative; the data and mask can be interchanged and will still give the same result.
Samples with a value of 1.0 in the maskArray will cause the corresponding audArray sample to be copied verbatim into the output. Samples of value 0.0 in the mask will result in 0.0 in the output, regardless of the value of the corresponding audio sample. Samples of value -1.0 in the mask will invert the value of the corresponding audio sample.
For example, consider a mask M that gradually transitions from 1.0 on the left to 0.0 on the right. Using the Modulate command with this mask and audio data A produces audio data that starts out sounding like A and fades to silence. Modulating audio B with the inverse of M, namely 1−M, will produce audio data that starts out silent and intensifies to full volume.
Combining these two audio objects by simple addition, A+B, yields audio data that fades from A to B.
audiofile≔cat⁡kernelopts⁡datadir,/audio/stereo.wav:
with⁡AudioTools:
aud≔Read⁡audiofile
aud≔Sample Rate22050File FormatPCM File Bit Depth8Channels2Samples/Channel19962Duration0.90531⁢s
dims≔rtable_dims⁡aud
dims≔1..19962,1..2
left≔auddims1,1
left≔Sample Rate22050File FormatPCM File Bit Depth8Channels1Samples/Channel19962Duration0.90531⁢s
right≔auddims1,2
right≔Sample Rate22050File FormatPCM File Bit Depth8Channels1Samples/Channel19962Duration0.90531⁢s
weird≔Modulate⁡left,right
weird≔Sample Rate22050File FormatPCM File Bit Depth8Channels1Samples/Channel19962Duration0.90531⁢s
See Also
Array
AudioTools[Convolution]
AudioTools[Scale]
Matrix
Vector
Download Help Document