SignalLab2/speech_analysis.m

53 lines
1.2 KiB
Matlab

pkg load signal
%load & plot audio file modulator
%modulator = fullfile('sound', 'modulator22.wav');
[audio_data sampling_freq]= audioread('modulator22.wav');
figure;
plot(audio_data);
xlabel('Time (s)');
ylabel('Amplitude');
title('Modulator22');
%spectral anlysis
if (1)
t = 5;
%average
for i=1:t
%FFT
[power, duration]=frequencySpectrum(audio_data,sampling_freq,1);
duration_fft(i) = duration;
%DFT
[power, duration]=frequencySpectrum(audio_data,sampling_freq,0);
duration_dft(i) = duration;
sum_fft =0;
sum_dft =0;
sum_fft = sum_fft + duration_fft(i);
sum_dft = sum_fft + duration_dft(i);
endfor
%estimate the duration of FFT
average_fft = sum_fft/t
average_dft = sum_dft/t
end
%Compute and display spectrogram
if(0)
spectrogram(audio_data,sampling_freq,5,5);
%spectrogram(audio_data,sampling_freq,30,5);
wan = audio_data(0.37*sampling_freq:1.17*sampling_freq);
tu = audio_data(1.24*sampling_freq:1.75*sampling_freq);
tri = audio_data(1.84*sampling_freq:2.19*sampling_freq);
frequencySpectrum(wan,sampling_freq,1);
frequencySpectrum(tu,sampling_freq,1);
frequencySpectrum(tri,sampling_freq,1);
end