This commit is contained in:
Ly PECHVATTANA 2023-03-26 23:38:15 +07:00
parent 81618e47f7
commit 10a30542e0
2 changed files with 25 additions and 8 deletions

BIN
downsampled_audio.wav Normal file

Binary file not shown.

View File

@ -1,17 +1,16 @@
pkg load signal pkg load signal
%load & plot audio file modulator %load & plot audio file modulator
%modulator = fullfile('sound', 'modulator22.wav');
[audio_data sampling_freq]= audioread('modulator22.wav'); [audio_data sampling_freq]= audioread('modulator22.wav');
figure; figure;
plot(audio_data); plot(audio_data);
xlabel('Time (s)'); xlabel('Time in [s]');
ylabel('Amplitude'); ylabel('Amplitude in [dB]');
title('Modulator22'); title('Speech data in time domain');
%spectral anlysis %FFT vs DFT comparison
if (1) if (0)
t = 5; t = 5;
%average %average
for i=1:t for i=1:t
@ -38,11 +37,13 @@ average_fft = sum_fft/t
average_dft = sum_dft/t average_dft = sum_dft/t
end end
%Spectrogram
frequencySpectrum(audio_data,sampling_freq,1);
%Compute and display spectrogram %Compute and display spectrogram
if(0) if(0)
spectrogram(audio_data,sampling_freq,5,5); spectrogram(audio_data,sampling_freq,5,5);
%spectrogram(audio_data,sampling_freq,30,5); %spectrogram(audio_data,sampling_freq,30,5);
wan = audio_data(0.37*sampling_freq:1.17*sampling_freq); wan = audio_data(0.37*sampling_freq:1.17*sampling_freq);
tu = audio_data(1.24*sampling_freq:1.75*sampling_freq); tu = audio_data(1.24*sampling_freq:1.75*sampling_freq);
tri = audio_data(1.84*sampling_freq:2.19*sampling_freq); tri = audio_data(1.84*sampling_freq:2.19*sampling_freq);
@ -51,3 +52,19 @@ if(0)
frequencySpectrum(tu,sampling_freq,1); frequencySpectrum(tu,sampling_freq,1);
frequencySpectrum(tri,sampling_freq,1); frequencySpectrum(tri,sampling_freq,1);
end end
%downsampling
audio_downsampled = downsample(audio_data, 2);
audiowrite('downsampled_audio.wav',audio_downsampled ,4000);
%down_deci = decimate(audio_data, 2);
%audiowrite('decimate_audio.wav',down_deci,4000);
%low-pass filter
lp = fir1(30,1000/sampling_freq,'low');
y = filter(lp,1,audio_data);
frequencySpectrum(y,sampling_freq,1);
lp_butter = butter(8,1000/sampling_freq,'low');
y_butter = filter(lp_butter,1,audio_data);
frequencySpectrum(y_butter,sampling_freq,1);