%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ANALYZA ZNELOSTI/NEZNELOSTI

[y, Fs] = audioread('veta.wav');
y = y(1:end,1); 

[y1, znelost1] = ZCR_final(y,Fs,20);
[y2, znelost2] = STE_final(y,Fs,20);
[y3, znelost3] = HNR_final(y,Fs,20);

t=[0:20:numel(znelost1)*20-1];

figure(1)

subplot(3,1,1)
area(t,znelost1)
hold on
stem(t,znelost1,'blue')
title('ZCR')
ax = gca;
ax.FontSize = 10;
%xlabel('Čas [ms]')
%ylabel('Znělost / Neznělost [-]')
xlim([0 2640])

subplot(3,1,2)
area(t,znelost2)
hold on
stem(t,znelost2,'blue')
title('STE')
ax = gca;
ax.FontSize = 10;
%xlabel('Čas [ms]')
ylabel('Znělost / Neznělost [-]')
xlim([0 2640])

subplot(3,1,3)
area(t,znelost3)
hold on
stem(t,znelost3,'blue')
title('HNR')
ax = gca;
ax.FontSize = 10;
xlabel('Čas [ms]')
%ylabel('Znělost / Neznělost [-]')
xlim([0 2640])



figure(2)

subplot(1,3,1)
histogram(znelost1,'Normalization','probability')
title('ZCR')
xlabel('Neznělé            Znělé')
set(gca,'XTick',[])
ytix = get(gca, 'YTick');
set(gca, 'YTick',ytix, 'YTickLabel',ytix*100)
ylabel('Četnost [%]')

subplot(1,3,2)
histogram(znelost2,'Normalization','probability')
title('STE')
xlabel('Neznělé            Znělé')
ytix = get(gca, 'YTick');
set(gca, 'YTick',ytix, 'YTickLabel',ytix*100)
set(gca,'XTick',[])
ylabel('Četnost [%]')

subplot(1,3,3)
histogram(znelost3,'Normalization','probability')
title('HNR')
xlabel('Neznělé            Znělé')
ytix = get(gca, 'YTick');
set(gca, 'YTick',ytix, 'YTickLabel',ytix*100)
set(gca,'XTick',[])
ylabel('Četnost [%]')



figure(3)

t=[0:length(y)-1] / Fs;
t = t*1000;


subplot(4,1,1)
plot(t,y)
title('Vstupní signál')
xlabel('Čas [ms]')
ylabel('y [-]')
xlim([0 2646])

subplot(4,1,2)
plot(t,y1)
title('ZCR')
xlabel('Čas [ms]')
ylabel('y [-]')
xlim([0 2646])

subplot(4,1,3)
plot(t,y2)
title('STE')
xlabel('Čas [ms]')
ylabel('y [-]')
xlim([0 2646])

subplot(4,1,4)
plot(t,y3)
title('HNR')
xlabel('Čas [ms]')
ylabel('y [-]')
xlim([0 2646])


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ANALYZA ZAKLADNI FREKVENCE

[y, Fs] = audioread('veta.wav');
y = y(1:end,1); 

[F1] = Pitch_AMDF_final(y, Fs, 20, @STE_final, 20);
[F2] = Pitch_ACF_final(y, Fs, 20, @STE_final, 20);
[F3] = Pitch_NCC_final(y, Fs, 20, @STE_final, 20);

figure(4)

t=[0:20:numel(F1)*20-1];
t2=[0:length(y)-1] / Fs;
t2 = t2*1000;

subplot(4,1,1)
stem(t, F1)
title('AMDF')
xlabel('Čas [ms]')
ylabel('F0 [Hz]')
hold on
plot(t2,50*y2+40)
xlim([0 2460])
ylim([0 200])

subplot(4,1,2)
stem(t, F2)
title('ACF')
xlabel('Čas [ms]')
ylabel('F0 [Hz]')
hold on
plot(t2,50*y2+40)
xlim([0 2460])
ylim([0 200])

subplot(4,1,3)
stem(t, F3)
title('NCC')
xlabel('Čas [ms]')
ylabel('F0 [Hz]')
hold on
plot(t2,50*y2+40)
xlim([0 2460])
ylim([0 200])

subplot(4,1,4)
stem(t, F1,'green')
hold on
stem(t, F2,'red')
hold on
stem(t, F3,'blue')
hold on
xlim([0 2460])
ylim([0 200])
title('AMDF + ACF + NCC')
xlabel('Čas [ms]')
ylabel('F0 [Hz]')



figure(5)

subplot(1,3,1)
histogram(F1,'Normalization','probability')
title('AMDF')
xlabel('F0 [Hz]')
ytix = get(gca, 'YTick');
set(gca, 'YTick',ytix, 'YTickLabel',ytix*100)
%set(gca,'XTick',[])
ylabel('Četnost [%]')

subplot(1,3,2)
histogram(F2,'Normalization','probability')
title('ACF')
xlabel('F0 [Hz]')
ytix = get(gca, 'YTick');
set(gca, 'YTick',ytix, 'YTickLabel',ytix*100)
%set(gca,'XTick',[])
ylabel('Četnost [%]')

subplot(1,3,3)
histogram(F3,'Normalization','probability')
title('NCC')
xlabel('F0 [Hz]')
ytix = get(gca, 'YTick');
set(gca, 'YTick',ytix, 'YTickLabel',ytix*100)
%set(gca,'XTick',[])
ylabel('Četnost [%]')


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ANALYZA PODOBNOSTI SOUSEDNICH PERIOD


[y, Fs] = audioread('hlaska_a.wav');
y = y(5786:end,1); 

[periodicita1] = AMDF_Periodicita_lin3(y, Fs, 40); 
[periodicita2] = AMDF_Periodicita_nelin(y, Fs, 40); 
[periodicita3] = NCC_Periodicita_lin(y, Fs, 40);
[periodicita4] = NCC_Periodicita_nelin2(y, Fs, 40);
[periodicita5] = DTW_Periodicita_lin(y, Fs, 40);
[periodicita6] = DTW_Periodicita_nelin(y, Fs, 40);

t=[0:length(y)-1] / Fs;
t = t*1000;

figure(6)

subplot(6,1,1)
stem(periodicita1)
title('Periodicita (AMDF, lineární přizp.)')
xlabel('perioda [n]')
ylabel('Podobnost [%]')
xlim([0 28])

subplot(6,1,2)
stem(periodicita2)
title('Periodicita (AMDF, nelineární přizp.)')
xlabel('perioda [n]')
ylabel('Podobnost [%]')
xlim([0 28])

subplot(6,1,3)
stem(periodicita3)
title('Periodicita (NCC, lineární přizp.)')
xlabel('perioda [n]')
ylabel('Podobnost [%]')
xlim([0 28])

subplot(6,1,4)
stem(periodicita4)
title('Periodicita (NCC, nelineární přizp.)')
xlabel('perioda [n]')
ylabel('Podobnost [%]')
xlim([0 28])

subplot(6,1,5)
stem(periodicita4)
title('Periodicita (DTW, lineární přizp.)')
xlabel('perioda [n]')
ylabel('Podobnost [%]')
xlim([0 28])

subplot(6,1,6)
stem(periodicita4)
title('Periodicita (DTW, nelineární přizp.)')
xlabel('perioda [n]')
ylabel('Podobnost [%]')
xlim([0 28])



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%





