% Linear/Exponentiel Envelope Test % % 2025-07-17 mchris % % Sampling parameters Fs = 44100; T = 2; t = linspace(0, T, Fs*T); % Envelope parameters tau = 0.5; delay = 0.5; delaySamples = round(delay * Fs); % Exponential decay envelope (already implemented) envelope_exp = zeros(size(t)); envelope_exp(delaySamples+1:end) = exp(-(t(1:end - delaySamples))/tau); % Linear decay envelope envelope_lin = zeros(size(t)); decay_length = length(t) - delaySamples; % length after delay envelope_lin(delaySamples+1:end) = linspace(1,0,decay_length); % Sine wave f = 440; signal = sin(2 * pi * f * t); % Modulated signals modulated_signal_exp = signal .* envelope_exp; modulated_signal_lin = signal .* envelope_lin; % Normalize for audio modulated_signal_exp = modulated_signal_exp / max(abs(modulated_signal_exp)); modulated_signal_lin = modulated_signal_lin / max(abs(modulated_signal_lin)); % Play linear decay version printf("play linear"); sound(modulated_signal_lin, Fs); printf("play exponentiel"); % Play exponential version sound(modulated_signal_exp, Fs); % (Optional) Plot both envelopes figure; plot(t, envelope_exp, 'r', t, envelope_lin, 'b--'); legend('Exponential envelope','Linear envelope'); xlabel('Time (s)'); ylabel('Amplitude'); title('Envelope Comparison');