The createwav command creates an audio object with specified parameters.
If D is a matrix, it should contain the kth sample in the jth channel at position (j,k). The value of each sample must be a real number in range [−1.0,1.0]. Any value outside this interval is clamped to it (this effect is called clipping and it will distort the signal).
If D is a single list, it is copied across channels.
D may be truncated or padded with zeros to match the appropriate number of samples or seconds.
(See Section 28.2.14 for a description of playsnd and Section 28.2.7 for a description of soundsec.)
playsnd(createwav(channel_data=sin(2*pi*440*soundsec(2)),samplerate=48000)) |
Output: Two seconds of the 440 Hz sine wave at rate 48000.
t:=soundsec(3):; L,R:=sin(2*pi*440*t),sin(2*pi*445*t):; s:=createwav([L,R]):; playsnd(s) |
Output: Three seconds of a vibrato effect on a sine wave (stereo).