Export Audio with Volume Automation

1 view (last 30 days)
Dear Community,
I would like to print a sinewave with volume automation in mathlab. I am already able to print a stereo wave file with a fixed amplitude. Is it possible to set time points with corresponding amplitude values?
fs = 44100;
i=1/fs;
t = 0:i:2;
phi = 0;
A = 1;
f = 220.0000;
x = A*sin((2*pi*f*t) + phi);
f = 220.0000;
y = A*sin((2*pi*f*t) + phi);
stereo_mtx = [x(:), y(:)];
audiowrite('stereo sound 3.wav', stereo_mtx, fs);
Any help is much appreciated! Thanks

Accepted Answer

Mathieu NOE
Mathieu NOE on 6 Dec 2021
hello Hans
this is my suggestion
fs = 44100;
dt=1/fs;
t = 0:dt:2;
phi = 0;
A = 1;
f = 220.0000;
x = A*sin((2*pi*f*t) + phi);
f = 220.0000;
y = A*sin((2*pi*f*t) + phi);
% define volume envelopp by time index + amplitude set points
tt = [0 0.5 1.5 2];
yt = [0 1 0.75 0]; % linear fade in / fade out demo
w = interp1(tt,yt,t); % create window of same length as signal
y = y.*w; % apply window
stereo_mtx = [x(:), y(:)];
audiowrite('stereo sound 3.wav', stereo_mtx, fs);

More Answers (0)

Categories

Find more on Audio Processing Algorithm Design in Help Center and File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!