balso atpažinimo kodas

J

jinal Patel

Guest
Labas visiems ..character (or word if possible) speek by ANY
speaker..

Aš savo projektą aparatūros valdymas naudojant balso atpažinimo sistema .. ir i reikėjo MATLAB kodas kalbos atpažinimas (ne identifikavimo) .. lėšų ir nori varify saugomas
pobūdį (ar žodį, jei įmanoma) speek pagal bet
kalba ..Kai kada nors konkretų žodį ar pobūdžio varified, tada man reikia gauti aukštą produkcijos lygiagrečios uostas .. taip, kad naudojant šią produkciją ir gali kontroliuoti aparatūros ..
Jei tiksliai kodas yra C / C , tada taip pat jos leistiną man ..
man padėti [/ quote]

 
Vista!Windows Vista Speech Recognition paramą.Po 9 minučių:Atsiprašome ...Jūs reiškė įrangos!

Ir pasirinkite Microchip's dsPIC.Jie teikia biblioteka balso atpažinimo ir nemokamą kompiliatorių kaip Studentų versijos.

 
Max Hill ..
iš tikrųjų aš noriu daryti viską mano kodavimas MATLAB ..Aš tik noriu gauti išvesties Kaisčiai lygiagrečiai uosto aukšto kai kada bet chacter bus pripažinta ..nieko .. Jei rasti produkciją tik vieną simbolį (bet nuo a iki z), tada taip pat geras man.i donot nori daugiau kaip vieną simbolį.Tačiau jis turėtų būti strickly nustatyti tik vieną išankstinio saugomi pobūdžio ..

 
hii .. jiems taip pat yra problema atpažinti ..
dabar jiems tik tirpalo pavidalu waveread ir FFT .. tada ką turėtų daryti po to ..?
kaip tai funkcija išgaunant ir rungtynės su apmokyti duomenis?
ir dar viena problema .. kaip įgyvendinti Neural Network? mokymo naudojant back-propagation?

 
Ne ieškokite jo .... parašyti ... Jūs bandėte ją ...??
Ir taip ... google .... u get it ... jis ten neto ...

 
hey payate ...

i dont turite gerą idėją Abt neuronų tinklų bet aa dėl požymių išskyrimas yra susirūpinęs į įprastą DSP metodus kaip HMM arba DWT, kad genaral tendencija naudoti linijinės prognozuojantys coeff arba cepstarl coeff ... po vektoriaus quantization.
leiskite man pasakyti ua keletą privalumų šios ...
1.tai, kad signalas nepriklauso nuo kalbančiojo kaip gimęs ne usin ir dažnis ... pagrindinių skirtumų tarp 2 garsiakalbiai.
2.sumą, kad duomenys būtų saugomi, bus gerokai mažiau ...

tai tik keletas ....
produkcija tai būtų Vektorius Kvantas vertės ...
jei ir manote, kad tokio pobūdžio duomenis, yra naudingas ir, tada ir gali padėti ir toliau ....
linkėjimai,
Rakesh

 
brangūs Rakesh ..

gali ir man padėti tą .. im iškamantinėti Vektorius .. But i dont know how to do that ...

tai mano kodas .. gali ir patikrinkite, ar jis:funkcija matlab_tools ()

% Funkcija matlab_tools
% =====================
%
% Kai kurios pagrindinės priemonės / funkcijų MATLAB, kurie yra svarbūs
% Dėl kalbos apdorojimas.% Grafinis intialization
% -----------------------

skaičius (1);
nustatyti (gcf lt, "pozicija", [150 150 500 500])% Bigger lange kaip numatytasis% Skaityti *. wav signalas
% -------------------

[x, FS] = wavread ( "one.wav ');

% Groti signalo
% ---------------

garsas (x, fs);% Preepmhasis filtras
% ------------------
%
% Tai yra įprasta praktika naudoti preemphasis filtras atpažinti
% Užduotis.Tai paprastas aukštis Filtras.Vienas poveikis yra todėl, kad ji panaikina
% Per įstrižinės nuo signalo.
% Jei klausytis signalo po preemphasis filtras, išgirsite
%, Kad jis skamba kitaip.
% Galite pakomentuoti preemphasis odfiltrowywania norėdami pamatyti, jei yra skirtumas
%
Per Oscylograf.

precoeff = -0,9;
x = [x (1) * (1 precoeff) × (2 tikslu) precoeff * x (1: pabaigos-1)];

% Nubraižykite Oscylograf
% --------------------
%
% Iš esmės tai įmanoma įvesti tik plot (x), kuris rodo
% Oscylograf apie signalo.Šiuo atveju vienetai X ašyje
% Būtų pavyzdžių.Tai geriau nors turi vienetai
% X ašies sekundėmis.Todėl sklypo funkcija vadinama su
% Du argumentai:
%
1. arg: masyvas su mėginių kartus
% Nuo mėginių frequcency yra "FS", ėminių ėmimo laikotarpiu 1/fs.
%, Ty laiko tarpą tarp dviejų mėginių 1/fs.
% 2 arg: masyvas su atitinkama funkcija vertybės

subplot (3,1,1);
plot ([0:
length (x) -1] / FS, x);
xlim ([0 0,7]);
xlabel (laikas );% Nubraižykite Spectrogram
% --------------------
%
% Tai paprasčiausias būdas perfrom trumpalaikė analizė kalboje
% Signalo.Į Spectrogram funkcija gali būti su specgram (x).
% Tada Padalos laiko ir dažnio magistralėse nėra Antra ar Hertz.
% Su daugiau argumentų funkcija turi sekundžių / Hertz vienetais ir
% Lankstesnis:
%
1. arg: signalas laiko srityje
% 2 arg skaičiumi FFT taškai (gali būti pasirinko pati kaip lango dydžio)
% 3 arg: ėminių ėmimo dažnis
%
4. arg: lango dydis
%
5. arg: langą poslinkio

% Šiame pirmąją versiją, Spectrogram lango dydis yra gana didelis.
% Todėl resultion į dažnių srityje yra aukštas, rezoliucijos
%
Tuo metu domenas yra mažai tačiau.

subplot (3,1,2);
winSize = 300;
winShift = 100;
specgram (x, winSize, FS, winSize, winShift);

% Dabar antroji versija we
don't care tiek apie dažnis
% Rezoliucijos bet daugiau, bet nori turėti geresnes rezoliucijos laiko domeno
% Terefore į winow dydis yra pasirinktas mažesnis.

subplot (3,1,3);
winSize = 100;
winShift = 50;
specgram (x, winSize, FS, winSize, winShift);% FFT
% ---
%
% Dabar mes padaryti FFT (tik vieną langelį) be specgram funkcija.

skaičius (2);
nustatyti (gcf lt, "pozicija", [150 150 500 500])% Bigger lange kaip numatytasis

winSize = 300;

% - Pasirinkite laiko tos, kurių FFT turi būti brėžiamas.

xx = x (1001:1000 winSize);

% - Sklypas, laikas domeno

subplot (3,1,1);
plot ([0: winSize-1] / FS, xx);

% Dažnai FFT nėra atliekamas signalo tiesiogiai, bet
% Signalo langų pavyzdžiui su Hamminga lange.Tai
% Padaryta pašalinti pertraukų metu rėmo sienos, kuri
% Įvesti dažniau komponentai.

subplot (3,1,2);
win = Hamminga (winSize) / 0,54;
xx = xx .* laimėti;
plot ([0: winSize-1] / FS, xx);

subplot (3,1,3);

% Ar FFT ir sklypo rėmo į dažnių srityje.
% The frequceny rezoliucijos FS / winSize.
% Šis sklypai su frequcency nuo 0 iki mėginiai FS.

X = abs (FFT (xx));
plot ([0: winSize-1] * fs / winSize, X);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 5

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Prezentacijos kodas "Nepriklausoma sudėtinės analizė: A Tutorial Įvadas"
% BĮ akmens, MIT Press, 2004
m. rugsėjo mėn.
% Copyright: 2005, BĮ akmens psichologijos katedra, Sheffield University, Sheffield, England.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Pagrindinio Bell-Sejnowski ICA algoritmas parodytas 2 kalbos signalus.
% Reikšmė pagal nutylėjimą kiekvienam parametrui yra pateiktas [] skliaustuose.

% [0] nustatykite 1 girdėti signalus.
klausytis = 0,%, nustatyta 1, jei yra garso.

% [1] Nustatyti atsitiktinių skaičių sėkla.
sėklos = 9; randas ( "sėkla", sėklos); randn ( "sėkla", sėklos);

% [2] m = skaičių šaltinį signalai ir signalų mišiniai.
M = 2;
% [1e4] N = taškų vienam signalui.
N = 1e4;

% Apkrovos duomenis, kiekvienos M = 2 skiltys yra kito šaltinio signalo.
% Kiekviename stulpelyje turi N eilučių (signalo vertes).

% Apkrovos standartinės MATLAB garsai (nuo MatLab's datafun katalogas)
% Nustatykite variacijos kiekvieno šaltinio tapatybę.
apkrova vienas s1 = x (1: N); s1 = s1/std (s1);
apkrova vieną; s2 = x (1: N); s2 = s2/std (s2);

% Apjungti šaltiniai vektoriniu kintamasis s.
s = [s1, s2];

% Make new maišymo matrica.
A = randn (M, M);

% Klausyti kalbos signalai ...
% [10000] Fs Imties norma kalboje.
Fs = 10000;
jei klausytis soundsc (-ai :), 1), fs); soundsc (-ai :), 2), Fs) end;

% Sklypo histogramoje kiekvieno šaltinio signalo --
% Šios atitinka pdf kiekvieno šaltinio.
skaičius (3); ist (-ai :), 1), 50); drawnow;
skaičius (4); ist (-ai :), 2), 50); drawnow;

% Padaryti M mixures x iš M šaltinio signalų s.
X = S * A;

% Klausyti signalas mišiniai signalai ...
jei klausytis soundsc (x :), 1), fs); soundsc (x :), 2), Fs) end;

% Initialise unmixing matrica W tapatybės matricą.
W = akis (M, M);

% Initialise y, apskaičiuotos šaltinio signalus.
y = x * W;

% Spausdinti pradinį koreliacijas tarp
% Kiekvieną numatomą išeities Y ir kiekvieno šaltinio signalo s.
r = corrcoef ([Ys]);
fprintf ( "Pradinis Koreliacija šaltinių ir ekstrahuojamas signalus \ n");
rinitial = abs (r (M 1:2 * M 1, M))

maxiter = 100;% [100] Didžiausia skaičių iteracijų.
eta = 1;% [0,25] Žingsnis dydis gradientas pasikėlimas.

% Padaryti masyvas hr laikyti vertės funkcija ir nuolydžio dydį.
hr = nulio (maxiter, 1);
gs = nulio (maxiter, 1);

% Pradėti gradientas pasikėlimas dėl h ...
ITER = 1: maxiter
% Gauk apskaičiuotos šaltinio signalų m.
y = x * W;% masės vec į col W.
% Gauk apskaičiuota maksimali entropija signalai Y = CDF (y).
Y = tanh (y);
% Rasti vertės funkcija h.
% H = log (abs (det (W))) sum (log (eps 1- (Y

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Šypsotis" border="0" />

. ^ 2)) / N;
detW = abs (det (W));
h = ((1 / N) * suma (sumos (Y)) 0,5 * log (detW));
% Raskite matricos nuolydžių @ h / @ W_ji ...
g = inv (W) - (2 / N) * x * Y;
% Atnaujinkite W padidinti h ...
W = W eta * g;
% Įrašai h dydį gradientas ...
hr (ITER) = h; gs (ITER) = norma (g (

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Šypsotis" border="0" />

);
pabaigos;

% Sklypo pakeisti h gradiento dydį per optimizavimą.
skaičius (3); sklypo (hr); pavadinimas ( "Pareigos vertės - Entropija ');
xlabel (Iteracja '); ylabel ( "h (A)');
skaičius (4); sklypo (Es); pavadinimas ( "Kompensuotinų Entropija gradientowa ');
xlabel (Iteracja '); ylabel (gradientowa dydis');

% Spausdinti galutinis Koreliacija ...
r = corrcoef ([Ys]);
fprintf ( "Galutinė koreliacijas tarp šaltinį ir ekstrahuojamas signalai ... \ n");
rfinal = abs (r (M 1:2 * M 1, M))

% Klausyti ekstrahuojamas signalai ...
jei klausytis soundsc (g :), 1), fs); soundsc (g :), 2), Fs) end;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%

 
hey payate ....
i am so sorry I have no idėja Abt kad algo gimęs usin .... i tikrųjų gali ir neturi clue wat ji yra.jei ir galima paaiškinti šiek tiek su manimi .... ir gali bandyti padėti u. ... patiko wat natūra Vektorius ir norite n wat yra gimęs algo dėl pripažinimo sistema ....

linkėjimai,
Rakesh

 
hey Rakesh ..

faktiškai šis MATLAB kodo nėra pripažinimą ... tai tik sukurti Spectrogram ir rasti FFT ir signalo .. nuo to, mes galime radote vektoriniu .. but i don.t suprasti su vektoriniu ...
aš jau išbandyti naudojamas pernešėjas NN backpropagation kodas .. bet jis ne naudoti ...

jei ir turite idėją apie mano atpažinti tik man ... arba ir turite pavyzdį ar pavyzdys, kad ...
jiems tikrai reikia ur padėti ...Parašytas po 1 minučių:hey Rakesh ..

faktiškai šis MATLAB kodo nėra pripažinimą ... tai tik sukurti Spectrogram ir rasti FFT ir signalo .. nuo to, mes galime radote vektoriniu .. but i don.t suprasti su vektoriniu ...
aš jau išbandyti naudojamas pernešėjas NN backpropagation kodas .. bet jis ne naudoti ...

jei ir turite idėją apie mano atpažinti tik man ... arba ir turite pavyzdį ar pavyzdys, kad ...
jiems tikrai reikia ur padėti ...

 
hey payate ....

i am sendin ua MATLAB kodas, kurio produkcija yra vektoriniu Kvantas produkcijos.I dont know, ar tai būdas ppl padaryti NN.I have no gera idėja Abt ji.

thecode goes like this ....
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% atpažinti
signalas = open ( "C: \ MATLAB7 \
work \ testsound.wav ');

% signalo atstovavimo (arba) signalo apdorojimo
t = ilgis (signal.data). / signal.fs;
s = t * 8000;
i = 1: S
j = i * signal.fs/8000;
j = Uint16 (j);
x (i) = signal.data (j);
pabaiga

t1 = 0;
k = 0;
o t1 <= (t-0.03)
t2 = t1 0,03;
s1 = t1 * 8000;
s2 = t2 * 8000;
jei s1 == 0
s1 = 1;
pabaiga

i = 1: s2-s1
exx = Uint16 (s1 i-1);
temperatūros (i) = x (exx);
pabaiga
l = LPC (temp, 12);
k = [kl]
t1 = t1 0,01;
pabaiga

% vektoriniu quantization
[c, p, dh] = vqsplit (k, 128);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
funkcijas, r į eb naudojamos šios yra LPC (linijinėms prognozuojantys codin yra Integruotą MATLAB kodą .... ir vqsplit (); yra vartotojo apibrėžta funkcija, ir įtraukti kaip priedą su šį pranešimą.

programa, i am doin yra kažką panašaus ...

signalas yra padalinama į dalis, 30ms rėmelių n Linijinės prognozuojantys kodus kad 12 už kiekvieną bus atotrūkis tarp kiekvienos rėmo su 10ms, ty, ir turės 20ms ir overlappin tarp atitinkamų freimus.Dabar šis suteikti ir prognozavimo coeff.nuo signalo ir 12 vertes kiekvieno representin vieną kadrą iš faktiško signalą.
taip, čia pati kaip ir kad tai yra daug suspaudimas duomenų.

dabar toliau Compress tai mes naudojame vektoriniu quantization (VQ).čia ir naudojamas (faktiškai gavo kodas nors) k reiškia algoritmas už VQ.Šiame, kaip ir suteikti LPC coeff visų rėmo vienos vektoriniu kaip indėlį, ji quantize juos keletas pateikiama ne.vertybių dependin dėl centroidė vertė i / p vertes.

produkcijos yra vektorių, kuris yra gimęs norimą o / p.

už knowin Abt signalo processin usin statistikos signalo processin pereiti "pagrindai atpažinti" pateikė rabiner.i dont turėti elektroninę knygą šio, bet ir turi dokumentą apie tai, i am sendin kartu su šia ....

tikiuosi, tai padės u. ..

Rakesh

 
Atsiprašome čia yra vpsplit (); fucntion ...

funkcija [m, p, DistHist] = vqsplit (X, L)
% Vektorius Kwant: K-lėšų Algoritmas su Spliting metodas mokymo
% Nietestowany DĖL codebook DYDIS IŠSKYRUS ĮGALIOJIMAI IŠ NETAURIŲJŲ 2, EG 256, 512, ETC
% (Sutaupo išėjimo į kilimėlis failą (CBTEMP.MAT) po kiekvieno itteration, kad jei
% Tai vyksta per lėtai galite ją (CTRL C) neprarandant savo darbą
% Iki šiol.)
% [K, P, DH] = VQSPLIT (X, L)
%
% Arba
% [M_New, P, DH] = VQSPLIT (X M_Old) Šiuo atveju M_Old yra codebook ir
% Retrained duomenų X
%
% Sąnaudos:
% X: matrica kiekviename stulpelyje yra duomenų vektoriaus
% L: codebook dydžio (pageidautina galia 2
pvz. 16,32 256, 1024) (Niekada
% Išbandyti kitas vertybes!
%
% Išėjimai:
% M: su codebook kaip centroids į grupes
% P: Svoris kiekvieno klasterio numerį savo Vektorius padalintas iš viso
Skaičius% Vektorius
% DH: Bendra iškraipoma istorija, vektoriniu turinčių bendrą
% Iškraipymus kiekvienoje itteration
%
% Metodas:
% Vidutinis vektorių yra padalyta į dvi dalis.Šis modelis turi būti apmokyti šių dviejų vektorių
% Iki iškraipymas neturi skirtis daugiau, tuomet tai yra padalyta į dvi ir
% Pan.iki disired skaičių grupių pasiekiamas.
% Algoritmas:
% 1.Raskite Vidutinis
% 2.Splitas kiekvieną centroidė du
% 3.Susieti Kiekviena duomenys į centroidė
% 4.Raskite Centroids
% 5.Apskaičiuokite Bendra Atstumas
% 6.Jei Atstumas pasikeitė nedaug
%, Jei skaičius Centroids yra mažesnės nei L2 GOTO 2 pakopa
% Kita Goto 7
% Else (Nuotolinės pasikeitė substantialy) GOTO 3 žingsnis
% 7.Jei numeris Centroids yra didesnis už L
% Išmesti centroidė su (aukščiausio iškraipymo arba mažiausias gyventojų)
% GOTO 3
% 8.Apskaičiuokite skirtumus ir Kasetinės Svarstyklės, jei reikia
% 9.Pabaiga
%
% Esfandiar Zavarehei, Brunelio universitetas
% Geg-2006

e =. 01;% X ---> [Xe * X X E * X] procentas už Spliting
Ered = 0,75;% Įvertinimas mažinimo išsiskyrimo dydis, e, po kiekvieno spliting.ty E = E * Ered;
DT =. 005;% riba ir pagerinti Iškreipiamas prieš baigiantis ir spliting vėl
DTRed = 0,75;% Įvertinimas mažinimo gerinimo slenksčio, TŠ, po kiekvieno spliting
MinPop = 0,10;% gyventojų kiekvienai grupei turi būti bent 10 procentų savo kvotos (N / LC)
% Atveju, kodinis keičiamas kitu kodinisd = dydis (X, 1);% dimensijos
N = dydis (X, 2);% taškų
isFirstRound = 1;% Pirmasis Itteration po Spliting

jei numel (L) == 1
M = vidutinė (X, 2);% Vidutinė Vektorius
CB = [M * (1 e) M * (1-e)];% Splitas dviejų vektorių
kitas
CB = L;% Jei codebook perduodama funkcijas tik traukinio ji
L = dydis (KB, 2);
E = E * (Ered ^ nustatyti (log2 (L)));
DT = DT * (DTRed ^ nustatyti (log2 (L)));
pabaiga

SC = dydis (KB, 2);% Dabartinis dydis, codebook

ITER = 0;
Splitas = 0;
IsThereABestCB = 0;
maxIterInEachSize = 20;% Daugiausia mokymo itterations kiekvienam
% Codebook dydis (The codebook dydis nuo vienos
% Ir padidina to)
EachSizeIterCounter = 0;
o 1
% Atstumas apskaičiavimas
[minIndx, dst] = VQIndex (X VP);% Raskite arčiausiai kodinės kiekvienam duomenų vektoriaus

ClusterD = nuliai (1, LC);
Gyventojų = nuliai (1, LC);
LowPop = [];
% Raskite Centroids (vidutiniškai kiekvienas klasteris)
i = 1: SC
Ind = rasti (minIndx == i);
jei ilgis (Ind) <MinPop * N / LC%, jeigu grupė turi labai mažai gyventojų tiesiog prisiminti tai
LowPop = [LowPop i];
kitas
CB :), i) = vidutinis (X :), Ind), 2);
Gyventojų (i) = ilgis (Ind);
ClusterD (i) = sum (dst (Ind));
pabaiga
pabaiga
jei ~ isempty (LowPop)
[temp MaxInd] = maxn (gyventojų skaičius, ilgis (LowPop));
CB :), LowPop) = CB :), MaxInd) * (1 e);% Pakeisti mažai gyventojų kodinės su mažu didelio gyventojų kodinės
CB :), MaxInd) = CB :), MaxInd) * (1-e);

% naujo traukinio
[minIndx, dst] = VQIndex (X VP);

ClusterD = nuliai (1, LC);
Gyventojų = nuliai (1, LC);

i = 1: SC
Ind = rasti (minIndx == i);
jei ~ isempty (IND)
CB :), i) = vidutinis (X :), Ind), 2);
Gyventojų (i) = ilgis (Ind);
ClusterD (i) = sum (dst (Ind));
else% jei vektorius yra pakankamai arti, kad į šią kodinis, pakeisti jį atsitiktinai vektoriniu
CB :), i) = X :), nustatyti (randas * N) 1);
disp ( "A atsitiktinių Vektorius buvo paskirtas kaip kodinis.)
isFirstRound = 1,%, ne mažiau kaip kitą Iteration reikia
pabaiga
pabaiga
pabaiga
ITER ITER = 1;
jei isFirstRound% Pirmasis itteration po išsiskyrimo (dont išėjimas)
TotalDist = suma (ClusterD (~ isnan (ClusterD)));
DistHist (ITER) = TotalDist;
PrevTotalDist = TotalDist;
isFirstRound = 0;
kitas
TotalDist = suma (ClusterD (~ isnan (ClusterD)));
DistHist (ITER) = TotalDist;
PercentageImprovement = ((PrevTotalDist-TotalDist) / PrevTotalDist);
jei PercentageImprovement> = DT% gerinimo esminių
PrevTotalDist = TotalDist;% Išsaugoti Iškreipiamas šio Iteration ir tęsti mokymo
isFirstRound = 0;
else% gerinimo ne didelė (sočiųjų)
EachSizeIterCounter = 0;
jei SC> = L% Enough kodo?
jei L == LC% Tiksli skaičius kodinės
disp (TotalDist)
pertrauka
else% nužudė vienos kodinis metu
[temp, Ind] = min (gyventojų skaičius);% likvidavimo mažo gyventojų kodinės
NCB = nulio (d, LC-1);
NCB = CB :), setxor (1: SC, Ind (1)));
CB = NCB;
SC = SC-1;
isFirstRound = 1;
pabaiga
else% Jei nepakanka kodinės dar tada Splitas daugiau
CB = [CB * (1 e) CB * (1-e)];
e = Ered * e;% Splitas dydžio sumažinimo
DT = DT * DTRed;% gerinimo slenksčio mažinimo
SC = dydis (KB, 2);
isFirstRound = 1;
Splitas Splitas = 1;
IsThereABestCB = 0;% Kaip teisingai padalyti šią codebook nėra geriausias codebook šiame dydis dar
disp (LC)
pabaiga
pabaiga
pabaiga
jei ~ IsThereABestCB
BestCB = CB;
BestD = TotalDist;
IsThereABestCB = 1;
else% Jeigu yra geriausias CB, patikrinkite, ar šiuo metu yra geresnė negu
jei TotalDist <BestD
BestCB = CB;
BestD = TotalDist;
pabaiga
pabaiga
EachSizeIterCounter = EachSizeIterCounter 1;
jei EachSizeIterCounter> maxIterInEachSize% Jei per daug itterations šioje dydžio, nutraukti mokymo dydis
EachSizeIterCounter = 0;
CB = BestCB;% išsirinkti geriausią codebook kiek
IsThereABestCB = 0;
jei SC> = L% Enough kodo?
jei L == LC% Tiksli skaičius kodinės
disp (TotalDist)
pertrauka
else% nužudė vienos kodinis metu
[temp, Ind] = min (gyventojų skaičius);
NCB = nulio (d, LC-1);
NCB = CB :), setxor (1: SC, Ind (1)));
CB = NCB;
SC = SC-1;
isFirstRound = 1;
pabaiga
else% Splitas
CB = [CB * (1 e) CB * (1-e)];
e = Ered * e;% Splitas dydžio sumažinimo
DT = DT * DTRed;% gerinimo slenksčio mažinimo
SC = dydis (KB, 2);
isFirstRound = 1;
Splitas Splitas = 1;
IsThereABestCB = 0;
disp (LC)
pabaiga
pabaiga
disp (TotalDist)
p = Gyventojų skaičius / N;
išsaugoti CBTemp CB p DistHist
pabaiga
m = CB;

p = Gyventojų skaičius / N;

disp ([ 'Iterations =' num2str (ITER)])
disp ([ 'Splitas =' num2str (Split)])

funkcija [v, i] = maxn (x, n)
% [V I] = MAXN (x, n)
% TAIKOMOS Vektorius TIK!
% Ši funkcija grąžina N didžiausias vertes vektoriniu X jų indeksai.
% V vektoriniu kuri turi didžiausias vertes ir I indeksas matrica,
% Ty indeksai, atitinkantys N didžiausias vertybes vektoriaus X

jei nargin <2
[v, i] = max (x),%, tik pirmasis didžiausia (pagal nutylėjimą n = 1)
kitas
n = min (ilgis (x), n);
[v, i] = sort (x);
v = v (pabaiga: -1: pabaigos-n 1);
i = i (pabaiga: -1: pabaigos-n 1);
pabaiga

funkcija [I dst] = VQIndex (X KB)
% Atstumas funkcija
% Grąžina kuo Vektorius X į kodinės į VP
% Kitaip tariant:
% I yra vektorius.Ilgis I lygus stulpelių skaičius X.
% Kiekvienas elementas I indeksas arčiausiai kodinis (skiltis) ir VP į
% Coresponding skiltyje X

L = dydis (KB, 2);
N = dydis (X, 2);
LNThreshold = 64 * 10000;

jei L * N <LNThreshold
D = nulio (L, N);
i = 1: L
D (i,

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Šypsotis" border="0" />

= sum ((repmat (CB :), i), 1, N)-X). ^ 2,1);
pabaiga
[dst I] = min (D);
kitas
I = nuliai (1, N);
dst = I;
i = 1: N
D = sum ((repmat (X :), i), 1, L)-CB). ^ 2,1);
[dst (i) (i)] = min (D);
pabaiga
pabaiga

funkcija [I dist] = VQLSFSpectralIndex (X CB W)
% Jei kodinės yra LSF koeficientą, Jūs galite naudoti šią funkciją vietoj VQINDEX
% Tai kalbos kodavimo
% I = VQLSFSPECTRALINDEX (X CB W)
% Apskaičiuojami artimiausio rinkinys LSF koeficientus į codebook CB kiekvienam
% Skiltyje X apskaičiuoti savo LP Spektrinis atstumo.
% I indeksas artimiausią kodinis, X rinkinys LSF koeficientus
% (Kiekvieno stulpelio yra nustatyti koeficientus) CB yra codebook, W yra
%
Rizikos koeficientas vektoriaus, jei ne, jei ji yra laikoma lygi jų (256,1)
% Esfandiar Zavarehei
% 9-Oct-05

jei nargin <3
L = 256;
W = ones (L, 1);
kitas
jei isscalar (W)
L = W;
W = ones (L, 1);
elseif isvector (W)
V = V (

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Šypsotis" border="0" />

;
L = ilgis (m);
kitas
klaida ( "Neteisingas įvedimas argumentas. W turėtų būti vektoriniu arba scaler!")
pabaiga
pabaiga

NX = dydis (X, 2);
NCB = dydis (KB, 2);

AX = lsf2lpc (X);
ACB = lsf2lpc (VP);D = nulio (NCB, 1);

w = linspace (0, Pi, L 1);
w = w (1: pabaigos-1);
N = dydis (AX, 2) -1;
WFZ = nulio (N 1, L);
IMAGUNIT = sqrt (-1);
K = 0: N
WFZ (k 1,

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Šypsotis" border="0" />

= exp (IMAGUNIT * k * w);
pabaiga

SCB = nulio (L, NCB);
i = 1: NCB
SCB :), i) = (1./abs (ACB (i,

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Šypsotis" border="0" />

* WFZ));
pabaiga

I = nuliai (1, NX);
dist = nuliai (1, NX);
už j = 1: NX
Sx = (1./abs (AX (j,

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Šypsotis" border="0" />

* WFZ)) ";
i = 1: NCB
D (i) = sqrt (sum (((SX SCB :), i)). ^ 2) .* W));
pabaiga
[nuotolis (j), I (j)] = min (D);
pabaiga

 
brangūs Rakesh ...

iš kodų .. ten klaida ":

Neapibrėžta komandą / funkcija "signalą".

?Klaida: Failas: F: \ MATLAB \ darbo \ vpsplit.m Line: 209 skiltyje: 1
Pareigos apibrėžimai neleidžiama įrengti eilutę arba scenarijai.

 
hey ....

ru suree "Coz Im not gettin bet klaida paleisti programą.tai showin visos baudos ir gera.

PLZ mielai patikrinti dar kartą .... tik kaip būdas ir atidavė jį u.jei gimęs usin į kitą programą ir negali žinoti klaida.ni padarė jį MATLAB 7 ...

 
owhh .. tai, kad matlab7 ..
Šiuo metu jiems dar naudojant MATLAB 6 ..
ok..i / ll pabandykite naudoti MATLAB 7

 
Į rakesh_vnit kalbos pripažinimo kodeksą, aš Smiley vietomis, aš pakeitė juos "

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Šypsotis" border="0" />

". Tada taip pat Matlab suteikia klaidos kaip" sąvoka į kairę nėra svarbūs tikslo priskyrimo ". [/ Quote] [/ GVideo] [/ youtube]Parašytas po 1 minučių:Į rakesh_vnit kalbos pripažinimo kodeksą, aš Smiley vietomis, aš pakeitė juos "

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Šypsotis" border="0" />

Tada taip pat Matlab suteikia klaidos kaip "sąvoka į kairę nėra svarbūs tikslo priskyrimo".Parašytas po 2 minučių:Į rakesh_vnit kalbos pripažinimo kodeksą, aš Smiley vietomis, aš pakeitė juos "o)".Tada taip pat Matlab suteikia klaidos kaip "sąvoka į kairę nėra svarbūs tikslo priskyrimo".

 
hey yagneshreva,

kad klaida ateina kai kintamasis gimęs Priskirdamos galutinę vertę funkcija neatitinka tipo ir MATLAB.todėl įsitikinkite, kad kintamasis gimęs paskiriant į jūsų faktinės programa yra ta pati, kaip ir tos, kurios naudojamos funkcijos.

linkėjimai,

Rakesh

 
Labas!
man reikia pagalbos dėl projekto.siekiant mūsų projektą įgyvendinti atpažinti tik 4 words.we mūsų gana supainioti, kuris požiūris būtų gerai daryti.mes naudojamas bendrai susijusius plius LPC būdus, tačiau tai buvo veltui ...mūsų sėkmės rodiklis nėra labai didelis .....
maloniai gidas mums požiūrį į ją be kodo ..... mes gratefulll ....... laukia blogai 4 ur help ...
Padėkojęs ir tikintis .......... fatimaParašytas po 4 minučių:Man reikia pagalbos pripažinimo keturių žodžių ....

 
kas turintys bet mintis apie šį projektą ?????PLZ help

<img src="http://www.edaboard.com/images/smiles/icon_sad.gif" alt="Liūdnas" border="0" />
 
Fatima AJMAL rašė:

kas turintys bet mintis apie šį projektą ?????
PLZ help
<img src="http://www.edaboard.com/images/smiles/icon_sad.gif" alt="Liūdnas" border="0" />
 

Welcome to EDABoard.com

Sponsor

Back
Top