clc;
fprintf('Beginning to run %s.m ...\n', mfilename);
close all;
clear;
workspace;
format short g;
format compact;
fontSize = 15;
[y, Fs] = audioread('guitartune.wav');
soundsc(y, Fs);
t = (1 : length(y)) / Fs;
subplot(3, 1, 1);
plot(t, y, 'b-', 'LineWidth', 2);
title('Original Audio Waveform', 'FontSize', fontSize);
xlabel('Seconds', 'FontSize', fontSize);
ylabel('Amplitude', 'FontSize', fontSize);
xticks(1 : round(t(end)));
grid on;
drawnow;
audioTime = length(y) / Fs;
fprintf('Audio length = %.3f seconds.\n', audioTime);
pulseWidth = Fs;
onePulse = [ones(1, pulseWidth), zeros(1, pulseWidth)];
numReps = ceil(audioTime/2);
pulseTrain = repmat(onePulse, [1, numReps]);
pulseTrain = pulseTrain(1 : length(y));
pulseTrain = pulseTrain(:);
subplot(3, 1, 2);
plot(t, pulseTrain, 'b-', 'LineWidth', 2);
title('Pulse Train', 'FontSize', fontSize);
xlabel('Seconds', 'FontSize', fontSize);
ylabel('Amplitude', 'FontSize', fontSize);
grid on;
xticks(1 : round(t(end)));
yPulsed = y .* pulseTrain;
subplot(3, 1, 3);
plot(t, yPulsed, 'b-', 'LineWidth', 2);
title('Pulsed Waveform', 'FontSize', fontSize);
xlabel('Seconds', 'FontSize', fontSize);
ylabel('Amplitude', 'FontSize', fontSize);
grid on;
xticks(1 : round(t(end)));
pause(audioTime);
soundsc(yPulsed, Fs);
fprintf('Done running %s.m ...\n', mfilename);
Best Answer