clc;
close all;
clear all;
[x , fs] = audioread('C:\Users\Administrator\Desktop\waves_yesno\0_0_0_1_0_0_0_1.wav');
%mel
bank = melbankm(24, 256 , fs , 0 , 0.5 , 'm');
bank_1 = full(bank);
bank_2 = bank_1 / max(bank_1(:));
%DCT
for k = 1 : 12
n = 0 : 23;
dctcoef(k , :) = cos((2 * n + 1) * k * pi / (2 * 24));
end
w = 1 + 6 * sin(pi * [1 : 12] ./ 12);
w2one = w /max(w);
x2double = double(x);
x2emph = filter([1 -0.98] , 1 , x2double);
x2enfra = enframe(x2emph , 256 , 80);
for i = 1 : size(x2enfra , 1)
y = x2enfra(1 , :);
s = y' .* hamming(256);%注意hamming1 * 1matrix
% y2rota = y';
t = abs(fft(s));
t2pow = t .^ 2;
c1 = dctcoef * log(bank_2 * t(1 :129));
c2 = c1 .* w';
m(1 , :) = c2;
end
dtm2zeros = zeros(size(m));
% dols = size(m ,1);
for i = 3 : size(m , 1) - 2
dtm2zeros(i , :) = -2 * m(i -2 , :) - m (i-1 , :) + m(i+1 ,:)+2 * m(i + 2 , :);
end
dtm2first= dtm2zeros / 3;
dtmm = zeros(size(dtm2first));
for i = 3: size(dtm2first , 1) - 2
dtmm2zeros(i , :) = -2 * dtm2first(i -2 , :) - dtm2first(i-1 , :) + dtm2first(i+1 ,:)+2 * dtm2first(i + 2 , :);
end
dtmm2first = dtmm2zeros / 3;
ccc = [m dtm2first dtmm2first];
ccc2first = ccc(3 : size(m , 1) - 2, :);
% subplot(211)
ccc_1 = ccc(: , 1);