image thumbnail
from Penarayuz by Ozgur Emekli
Tool (GUI) for music audio transcription

[fmutlak,nadlar,accur]=fbul(ostidx,oftidx,w,fs,data)
function [fmutlak,nadlar,accur]=fbul(ostidx,oftidx,w,fs,data)

load frekanslar

if min(length(data))>=2
    data=data(:,1);
end


for m=1:length(ostidx)
    
       
        fre=fft(data(ostidx(m)*w:oftidx(m)*w));
        [u1 fdegerler(m)]=max(abs(fre( ceil(length(fre)/fs*100):round(length(fre)/fs*2000))));
    
        fdegerler(m)=fdegerler(m)+ceil(length(fre)/fs*100)-1;
        fdegerler(m)=fdegerler(m)/(length(fre)/fs);
end

% Her bir spektrumun max deerine karlk gelen x deeri temel frekans
% olarak belirleniyor:

for n=1:length(fdegerler)

asort=sort(abs(deger-fdegerler(n)));
[u2(n) nindx]=min(abs(deger-fdegerler(n))); % Notann ismi iin notann frekans
accur(n)=u2(n)/asort(2);
nadlar{n}=nota{nindx}; %deerinin en yakn olduu nota frekans bulunuyor:
fmutlak(n)=deger(nindx);
% fdegerler: Tespit edilen frekans
% fmutlak: Tespit edilen frekansn en yakn olduu nota frekans
end

Contact us at files@mathworks.com