paleisti ir algoritmas

M

mosol2005

Guest
hi kiekvieną. Atsiprašome už mano prasta english.i "m dirba" formantas aptikti per LPC metodas ". Aš ką nors, bet i cant suprasti it.can kam paaiškinti tai algorithm.please.it 's necessrary.also ir negali paleisti

Formants nustatymas per LPC metodas
LPC
% PAVADINIMAS
% SpLpc - Linijinis kodavimą (vieno etapo galutinio stebėjimo
% Dešrelė filtras prognozę)
% TRUMPA APŽVALGA
% [P e] = spLpc (x, FS, ncoef, rodo)
% APRAŠYMAS
% Įsigykite LPC koeficientus (AR modelis)
% Sąnaudų
% X (vektorius) dydžio Nx1 kuriame signalas
% FS (Skaliarinė), mėginių ėmimo dažnumas
% [Ncoef] (Skaliarinė) skaičiaus koeficientus.Pagal nutylėjimą naudojamas
% Ncoef = 2 FS / 1000;
% Kaip taisyklė nykštys.
% Rezultatus
% Dalis (vektoriniu) dydžio ncoefx1 kuriame LPC koeficientus
% P (Skaliarinė) variacijos (galios) ir prognozavimo klaidų
% E (vektoriniu) dydžio Nx1 kuriame yra liekamosios klaidos signalus
% AUTORIUS
% Naotoshi SEO, Balandis 2008
% NAUDOJIMUI
% Lpc.m (Signal Processing priemonių)
funkcija [P e] = spLpc (x, FS, ncoef)
jei ~ egzistuoja ( "ncoef", "gali") | | isempty (ncoef)
ncoef = 2 apvalus (FS / 1000);% taisyklė Praktinis žmogaus kalbos
pabaiga
[P] = LPC (x, ncoef);
jei nargout> 2,
est_x = filtrą ([0-a (2 tikslu)], 1, x);% Numatomas signalo
e = x - est_x;% Likutinis signalas
pabaiga
pabaigos [x FS] = wavread ( "bee.wav ');
a = spLpc (x, fs, [], "sklypas"); Formants nustatymas
% PAVADINIMAS
% SpFormantsLpc - Formants Įvertinimas per LPC metodas
% TRUMPA APŽVALGA
% [F] = spFormantsLpc (a FS)
% APRAŠYMAS
% Prognozuoti formants dažniai
% Sąnaudų
% Dalis (vektoriniu) dydžio ncoefx1 kuriame yra LPC koeficientus
% Pradinio signalo.Naudokite spLpc.m
% FS (Skaliarinė), mėginių ėmimo dažnumas originalus signalas
% Rezultatus
% F (vektoriniu) dydžio ncoefx1 kuriame formants
% AUTORIUS
% Naotoshi SEO, Balandis 2008
% TAIP PAT ŽR
% SpLpc.m
funkcija [F] = spFormantsLpc (a FS)
r = šaknis (a);
r = r (IMAG (r)> 0,01);
F = rūšiuoti (atan2 (IMAG (r), realus (r)) * fs / (2 * pi));
endFormants stebėjimas Trumpųjų laiko Frames
"% PAVADINIMAS
% SpFormantsTrackLpc: Formants stebėjimas per LPC metodas
% TRUMPA APŽVALGA
% [F, T] = spFormantsTrackLpc (x, FS, ncoef,
% Frame_length, frame_overlap, langas, rodo)
% APRAŠYMAS
% Formants stebėjimas per LPC metodas
% Sąnaudų
% X (vektorius) dydžio Nx1.
% FS (Skaliarinė) mėginių ėmimo dažnis Hz.
% [Ncoef] (Skaliarinė) skaičių LPC koeficientai naudojami
% Vertinimo.ncoef = 2 FS / 1000 yra numatytasis.
% [Frame_length]
% (Skaliarinė) ilgio kiekvienos rėmo mikro sekundę.
% Numatytasis yra 30ms.
% [Frame_overlap]
% (Skaliarinė) ilgio kiekvienos rėmo dubliavimosi mikro sekundę.
% Numatytasis yra frame_length / 2.
% [Langas]
% (String) langą funkcijos, kaip antai rectwin, Hamminga.
%, Jei nenurodyta,
tai atitinka Hamminga
% [Parodyti] (boolean) sklypas, ar ne.Pagal nutylėjimą yra 0.
% Rezultatus
% F (vektoriniu) formants (F = F (surasti (T == 0,01))
% T (vektoriniu) formantas kartus
% AUTORIUS
% Naotoshi SEO, 2006
m. balandis
funkcija [F, T] = spFormantsTrackLpc (x, FS, ncoef, frame_length, frame_overlap, langas, rodo)
%% Initialization
N = trukmė (x);
jei ~ egzistuoja ( "frame_length", "gali") | | isempty (frame_length)
frame_length = 30;
pabaiga
jei ~ egzistuoja ( "frame_overlap", "gali") | | isempty (frame_overlap)
frame_overlap = 20;
pabaiga
jei ~ egzistuoti ( "Langas", "gali") | | isempty (langas)
langas = 'Hamminga ";
pabaiga
jei ~ egzistuoti ( "šou", "var") | | isempty (rodyti)
show = 0;
pabaiga
jei ~ egzistuoja ( "ncoef", "gali")
ncoef = [];
pabaiga
nsample = apvali (frame_length * fs / 1000);% konvertuoti aj punktuose
noverlap = apvali (frame_overlap * fs / 1000);% konvertuoti aj punktuose
langas = eval (sprintf ( "% s (nsample)", lange));% pvz., Hamminga (nfft)

poz = 1; t = 1;
F = [];% formants
T = [];% laikas (s) rėmo
mid = apvalių (nsample / 2);
while (Pos nsample <= N)
frame = x (pos: pos nsample-1);
frame = k - vidutinė (rėmo);
a = spLpc (rėmas, FS, ncoef);
fm = spFormantsLpc (a, fs);
i = 1:
length (fm)
F = [F Fm (i)];% skaičius formants nėra vienodi rėmas
T = [T (poz mid) / FS];
pabaiga
poz = poz (nsample - noverlap);
t = t 1;
pabaiga

jei rodo,
% Sklypo signalo
t = (0: N-1) / fs;
subplot (2,1,1);
plot (t, x);
legenda ( "Waveform");
xlabel ( "Laikas (s) ');
ylabel ( 'Amplitude');
xlim ([t (1) t (pabaigos)]);

% Sklypo formants pėdsakas
subplot (2,1,2);
Sklypas (T, K,'.');
Atidedamos;
legenda (Formants');
xlabel ( "Laikas (s) ');
ylabel (dažnis (Hz) ');
xlim ([t (1) t (pabaigos)]);
pabaigos [x FS] = wavread ( "bee.wav ');
[F, T] = spFormantsTrackLpc (x, fs, [], 30, 20, "Hamminga", "sklypas");

 

Welcome to EDABoard.com

Sponsor

Back
Top