43 lines
897 B
Matlab
43 lines
897 B
Matlab
% Read and play original audio
|
|
[audio, fs] = audioread('./audio.wav');
|
|
%sound(audio, fs);
|
|
|
|
% Read and play room impulse response (RIR)
|
|
[rir, fs_rir] = audioread('./rir.wav');
|
|
%sound(rir, fs_rir);
|
|
|
|
% Apply convolution (reverb effect)
|
|
audio_reverb = conv(audio, rir);
|
|
|
|
%sound(audio_reverb, fs);
|
|
|
|
% Plot the waveforms
|
|
figure;
|
|
|
|
% Original audio
|
|
subplot(2,1,1);
|
|
plot(audio);
|
|
title('Original Audio');
|
|
xlabel('Sample Number');
|
|
ylabel('Amplitude');
|
|
|
|
% Reverberated audio
|
|
subplot(2,1,2);
|
|
plot(audio_reverb);
|
|
title('Audio with Reverb');
|
|
xlabel('Sample Number');
|
|
ylabel('Amplitude');
|
|
|
|
% Calculate signal energy
|
|
function [ W ] = energy( x )
|
|
W = sum(abs(x).^2);
|
|
end
|
|
|
|
energy_rir = energy(rir)
|
|
energy_original = energy(audio)
|
|
energy_reverb = energy(audio_reverb)
|
|
|
|
% Display energy values
|
|
fprintf('Original Audio Energy: %.4f\n', energy_original);
|
|
fprintf('Reverberated Audio Energy: %.4f\n', energy_reverb);
|