modulates one audio recording using another
Array, Vector, or Matrix containing the audio to be modulated
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.
The maskArray parameter specifies the modulation mask, and must be a dense rectangular Array, Vector, or Matrix with datatype=float, 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:
aud ≔ AudioTools:-Read⁡audiofile
aud ≔ 1..19962 x 1..2 ArrayData Type: floatStorage: rectangularOrder: C_order
dims ≔ rtable_dims⁡aud
dims ≔ 1..19962,1..2
left ≔ auddims1,1
left ≔ 1 .. 19962 ArrayData Type: floatStorage: rectangularOrder: C_order
right ≔ auddims1,2
right ≔ 1 .. 19962 ArrayData Type: floatStorage: rectangularOrder: C_order
weird ≔ Modulate⁡left,right
weird ≔ 1 .. 19962 ArrayData Type: floatStorage: rectangularOrder: C_order
Download Help Document
What kind of issue would you like to report? (Optional)
Thank you for submitting feedback on this help document. Your feedback will be used
to improve Maple's help in the future.