Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

neural network for speech recognition

Status
Not open for further replies.

jinal patel

Full Member level 1
Full Member level 1
Joined
Feb 15, 2007
Messages
95
Helped
3
Reputation
6
Reaction score
1
Trophy points
1,288
Activity points
1,880
matlab code for speech recognition

Hi to all..
I am doing my project on hardware control using Speech Recognition system..for this i required a matlab code for Speech Recognition (not identification)..Means i want to varify a stored character (or word if possible) speek by ANY speaker.. When ever a particular word or character is varified, then i should get high output on parallel port..so that using this output i can control a specific hardware..
If accurate code is available in C/C++ then also its allowable for me..
please help me [/quote]
 

speech recognition code

Vista!!! Windows Vista has Speech Recognition support.

Added after 9 minutes:

Sorry... You meant hardware!

Well have a look at Microchip's dsPIC. They provide library for Speech Recognition and a free compiler in the form of Student Edition.
 

matlab code speech recognition

Hi Hill..
actually i want to do all my coding in matlab .. I just want to get output pin of parallel port high when ever any chacter will recognized.. nothing else..If i get output for only one character(any from a to z) then also its good for me. i donot want more than one character. But it should be strickly detect only one pre stored character..
 

speech recognition matlab code

Hello,

Did u try to do it on matlab???
 
speech recognition code using matlab

hii..im also have problem in speech recognition..
now im only have solution form waveread, and fft..then what should i do after that..?
how to do feature extraction and match with the trained data?
and one more problem..how to implement Neural Network?training using back propagation?
 

speech recognition code matlab

Don't look for it....write it...have you tried it...??
And yes...google ....u will get it...it is there on net...
 

matlab speech recognition code

hey payate...

i dont have a good idea abt neural nets but aa for the feature extraction is concerned in the normal dsp techniques like HMM or DWT, the genaral tendency is to use linear predictive coeff or cepstarl coeff...followed by vector quantization.
let me tell u a few advantages of this ...
1. this will make the signal independent of the speaker as u r not usin the freq...the main diff between 2 speakers.
2. the amount of data to be stored will be significantly less...

these are just a few....
the output of this would be a vector of quantized values...
if u think that this kind of a data is useful for u, then i can help u further....
regards,
rakesh
 

matlab program for speech recognition

dear rakesh..

can u help me on that..im try to get the vectors..but i dont know how to do that...

this is my code..can u please check it :


function matlab_tools()

% function matlab_tools
% =====================
%
% Some basic tools / functions from matlab which are important
% for speech processing.


% Graphical intialization
% -----------------------

figure(1);
set(gcf,'position',[150 150 500 500]) % Bigger window than default


% Read a *.wav signal
% -------------------

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

% Play the signal
% ---------------

sound(x,fs);


% Preepmhasis filter
% ------------------
%
% It is common practice to use a preemphasis filter in speech recognition
% tasks. It is a simple hight pass filter. One effect is thus that it removes
% a bias from the signal.
% If you listen to the signal after the preemphasis filter, you will hear
% that it sounds differently.
% You can comment the preemphasis filter out to see if there is a difference
% in the oscillogram.

precoeff = -0.9;
x = [x(1)*(1+precoeff);x(2:end)+precoeff*x(1:end-1)];

% Plot the oscillogram
% --------------------
%
% Basically it is possible to type just plot(x) which displays the
% oscillogram of the signal. In this case the units on the x-axis
% would be samples. It is preferrable though to have the units on
% the x-axis in seconds. Therefore the plot function is called with
% two arguments:
% 1st arg: array with the sampling times
% since the sampling frequcency is 'fs', the sampling period is 1/fs.
% i.e. the time between two samples is 1/fs.
% 2nd arg: array with the corresponding function values

subplot(3,1,1);
plot([0:length(x)-1]/fs,x);
xlim([0 0.7]);
xlabel('time ');


% Plot the Spectrogram
% --------------------
%
% This an easy way to perfrom a short-term analysis of a speech
% signal. The spectrogram function can be called with specgram(x).
% Then the scaling of time and frequency axes is not in Second or Hertz.
% With some more arguments the function has Seconds / Hertz as units and is
% more flexible:
% 1st arg: signal in time domain
% 2nd arg: number of fft points (can be chose same as the window-size)
% 3rd arg: sampling frequency
% 4th arg: window-size
% 5th arg: window-shift

% In this first version of the spectrogram the window-size is quite big.
% Therefore the resultion in the frequency domain is high, the resolution
% in the time domain is low however.

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

% Now in the second version we don't care so much about the frequency
% resolution any more but want to have a better resolution in the time-domain
% Terefore the winow-size is chosen smaller.

subplot(3,1,3);
winSize = 100;
winShift = 50;
specgram(x,winSize,fs,winSize,winShift);


% FFT
% ---
%
% Now we will do a fft (just for one frame) without the specgram function.

figure(2);
set(gcf,'position',[150 150 500 500]) % Bigger window than default

winSize = 300;

%-- Select a time-slice for which the fft has to be plotted.

xx = x(1001:1000+winSize);

%-- Plot in the time domain

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

% Often the FFT is not performed on the signal directly but the
% signal is windowed for example with a hamming window. This is
% done to remove discontinuities at the frame border which would
% introduce higher frequency components.

subplot(3,1,2);
win = hamming(winSize)/0.54;
xx = xx .* win;
plot([0:winSize-1]/fs,xx);

subplot(3,1,3);

% Do the FFT and plot the frame in the frequency domain.
% The frequceny resolution is fs/winSize.
% This plots the frequcency from 0 up to the sampling frequency fs.

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

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Demonstration code for "Independent component analysis: A Tutorial Introduction"
% JV Stone, MIT Press, September 2004.
% Copyright: 2005, JV Stone, Psychology Department, Sheffield University, Sheffield, England.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Basic Bell-Sejnowski ICA algorithm demonstrated on 2 speech signals.
% The default value of each parameter is given in [] brackets.

% [0] Set to 1 to hear signals.
listen=0; % set to 1 if have audio.

% [1] Set random number seed.
seed=9; rand('seed',seed); randn('seed',seed);

% [2] M = number of source signals and signal mixtures.
M = 2;
% [1e4] N = number of data points per signal.
N = 1e4;

% Load data, each of M=2 columns contains a different source signal.
% Each column has N rows (signal values).

% Load standard matlab sounds (from MatLab's datafun directory)
% Set variance of each source to unity.
load one; s1=x(1:N); s1=s1/std(s1);
load one; s2=x(1:N); s2=s2/std(s2);

% Combine sources into vector variable s.
s=[s1,s2];

% Make new mixing matrix.
A=randn(M,M);

% Listen to speech signals ...
% [10000] Fs Sample rate of speech.
Fs=10000;
if listen soundsc(s:),1),Fs); soundsc(s:),2),Fs);end;

% Plot histogram of each source signal -
% this approximates pdf of each source.
figure(3);hist(s:),1),50); drawnow;
figure(4);hist(s:),2),50); drawnow;

% Make M mixures x from M source signals s.
x = s*A;

% Listen to signal mixtures signals ...
if listen soundsc(x:),1),Fs); soundsc(x:),2),Fs); end;

% Initialise unmixing matrix W to identity matrix.
W = eye(M,M);

% Initialise y, the estimated source signals.
y = x*W;

% Print out initial correlations between
% each estimated source y and every source signal s.
r=corrcoef([y s]);
fprintf('Initial correlations of source and extracted signals\n');
rinitial=abs(r(M+1:2*M,1:M))

maxiter=100; % [100] Maximum number of iterations.
eta=1; % [0.25] Step size for gradient ascent.

% Make array hs to store values of function and gradient magnitude.
hs=zeros(maxiter,1);
gs=zeros(maxiter,1);

% Begin gradient ascent on h ...
for iter=1:maxiter
% Get estimated source signals, y.
y = x*W; % wt vec in col of W.
% Get estimated maximum entropy signals Y=cdf(y).
Y = tanh(y);
% Find value of function h.
% h = log(abs(det(W))) + sum( log(eps+1-Y:)).^2) )/N;
detW = abs(det(W));
h = ( (1/N)*sum(sum(Y)) + 0.5*log(detW) );
% Find matrix of gradients @h/@W_ji ...
g = inv(W') - (2/N)*x'*Y;
% Update W to increase h ...
W = W + eta*g;
% Record h and magnitude of gradient ...
hs(iter)=h; gs(iter)=norm(g:)));
end;

% Plot change in h and gradient magnitude during optimisation.
figure(3);plot(hs);title('Function values - Entropy');
xlabel('Iteration');ylabel('h(Y)');
figure(4);plot(gs);title('Magnitude of Entropy Gradient');
xlabel('Iteration');ylabel('Gradient Magnitude');

% Print out final correlations ...
r=corrcoef([y s]);
fprintf('FInal correlations between source and extracted signals ...\n');
rfinal=abs(r(M+1:2*M,1:M))

% Listen to extracted signals ...
if listen soundsc(y:),1),Fs); soundsc(y:),2),Fs);end;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 

vqlsfspectralindex

hey payate....
i am so sorry i have no idea abt the algo u r usin....i can actually i have no clue wat it is. if u can explain a bit to me....i may try to help u....like wat kind of vectors u want n wat is ur algo for the recognition system is....

regards,
rakesh
 

matlab program for speech recognition

hey rakesh..

actually this matlab code is not for the recognition...this is just to create a spectrogram and find the FFT of the signal..from this, we can find some vector..but i don.t understand with that vector...
i already try used that vector in NN backpropagation code..but it didn't use...

if u have any idea about my speech recognition just tell me...or u have any sample or example on that...
im really need ur help...

Added after 1 minutes:

hey rakesh..

actually this matlab code is not for the recognition...this is just to create a spectrogram and find the FFT of the signal..from this, we can find some vector..but i don.t understand with that vector...
i already try used that vector in NN backpropagation code..but it didn't use...

if u have any idea about my speech recognition just tell me...or u have any sample or example on that...
im really need ur help...
 

speech recognition code in word format

hey payate....

i am sendin u a MATLAB code whose output is a vector quantized output. i dont know whether this is the way ppl do for NN. i have no good idea abt it.

thecode goes like this....
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%speech recognition
signal=open('C:\MATLAB7\work\testsound.wav');

%signal representation (or) signal preprocessing
t=length(signal.data)./signal.fs;
s=t*8000;
for i=1:s
j=i*signal.fs/8000;
j=uint16(j);
x(i)=signal.data(j);
end

t1=0;
k=0;
while t1 <= (t-0.03)
t2=t1+0.03;
s1=t1*8000;
s2=t2*8000;
if s1==0
s1=1;
end

for i=1:s2-s1
exx=uint16(s1+i-1);
temp(i)=x(exx);
end
l=lpc(temp,12);
k=[k l]
t1=t1+0.01;
end

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

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
the function that r to eb used in this are lpc(linear predictive codin is an inbuilt matlab code....and vqsplit(); is a user defined function which i included as an attachment with this post.

the program that i am doin is something like this...

the signal is split into parts of 30ms of frames n the linear predictive codes of order 12 for each are taken with gap between each frame as 10ms, i.e, u will have 20ms of overlappin among the corresponding frames. now this give u the predictive coeff. of the signal, with 12 values each representin one frame of the actual signal.
so, here itself as u an is there is a lot of compression in the data.

now to further compress it we use vector quantization(VQ). here i used( actually got a code from somebody) k-mean algorithm for the VQ. in this as u give the LPC coeff of all the frame in one vector as an input, it will quantize them into some given no. of values dependin on the centroid value of the i/p values.

the output here is the vector which is ur desired o/p.

for knowin abt the signal processin usin statistical signal processin go through "fundamentals of speech recognition" by rabiner. i dont have an e-book of this but i have a paper on this which i am sendin along with this....

hope this will help u...

rakesh
 

matlab code for speech recognition using hmm

sorry here is the vpsplit(); fucntion...

function [m, p, DistHist]=vqsplit(X,L)
% Vector Quantization: K-Means Algorithm with Spliting Method for Training
% NOT TESTED FOR CODEBOOK SIZES OTHER THAN POWERS OF BASE 2, E.G. 256, 512, ETC
% (Saves output to a mat file (CBTEMP.MAT) after each itteration, so that if
% it is going too slow you can break it (CTRL+C) without losing your work
% so far.)
% [M, P, DH]=VQSPLIT(X,L)
%
% or
% [M_New, P, DH]=VQSPLIT(X,M_Old) In this case M_Old is a codebook and is
% retrained on data X
%
% inputs:
% X: a matrix each column of which is a data vector
% L: codebook size (preferably a power of 2 e.g. 16,32 256, 1024) (Never
% tested for other values!
%
% Outputs:
% M: the codebook as the centroids of the clusters
% P: Weight of each cluster the number of its vectors divided by total
% number of vectors
% DH: The total distortion history, a vector containing the overall
% distortion of each itteration
%
% Method:
% The mean vector is split to two. the model is trained on those two vectors
% until the distortion does not vary much, then those are split to two and
% so on. until the disired number of clusters is reached.
% Algorithm:
% 1. Find the Mean
% 2. Split each centroid to two
% 3. Assign Each Data to a centroid
% 4. Find the Centroids
% 5. Calculate The Total Distance
% 6. If the Distance has not changed much
% if the number of Centroids is smaller than L2 Goto Step 2
% else Goto 7
% Else (the Distance has changed substantialy) Goto Step 3
% 7. If the number of Centroids is larger than L
% Discard the Centroid with (highest distortion OR lowest population)
% Goto 3
% 8. Calculate the Variances and Cluster Weights if required
% 9. End
%
% Esfandiar Zavarehei, Brunel University
% May-2006

e=.01; % X---> [X-e*X and X+e*X] Percentage for Spliting
eRed=0.75; % Rate of reduction of split size, e, after each spliting. i.e. e=e*eRed;
DT=.005; % The threshold in improvement in Distortion before terminating and spliting again
DTRed=0.75; % Rate of reduction of Improvement Threshold, DT, after each spliting
MinPop=0.10; % The population of each cluster should be at least 10 percent of its quota (N/LC)
% Otherwise that codeword is replaced with another codeword


d=size(X,1); % Dimension
N=size(X,2); % Number of Data points
isFirstRound=1; % First Itteration after Spliting

if numel(L)==1
M=mean(X,2); % Mean Vector
CB=[M*(1+e) M*(1-e)]; % Split to two vectors
else
CB=L; % If the codebook is passed to the function just train it
L=size(CB,2);
e=e*(eRed^fix(log2(L)));
DT=DT*(DTRed^fix(log2(L)));
end

LC=size(CB,2); % Current size of the codebook

Iter=0;
Split=0;
IsThereABestCB=0;
maxIterInEachSize=20; % The maximum number of training itterations at each
% codebook size (The codebook size starts from one
% and increases thereafter)
EachSizeIterCounter=0;
while 1
%Distance Calculation
[minIndx, dst]=VQIndex(X,CB); % Find the closest codewords to each data vector

ClusterD=zeros(1,LC);
Population=zeros(1,LC);
LowPop=[];
% Find the Centroids (Mean of each Cluster)
for i=1:LC
Ind=find(minIndx==i);
if length(Ind)<MinPop*N/LC % if a cluster has very low population just remember it
LowPop=[LowPop i];
else
CB:),i)=mean(X:),Ind),2);
Population(i)=length(Ind);
ClusterD(i)=sum(dst(Ind));
end
end
if ~isempty(LowPop)
[temp MaxInd]=maxn(Population,length(LowPop));
CB:),LowPop)=CB:),MaxInd)*(1+e); % Replace low-population codewords with splits of high population codewords
CB:),MaxInd)=CB:),MaxInd)*(1-e);

%re-train
[minIndx, dst]=VQIndex(X,CB);

ClusterD=zeros(1,LC);
Population=zeros(1,LC);

for i=1:LC
Ind=find(minIndx==i);
if ~isempty(Ind)
CB:),i)=mean(X:),Ind),2);
Population(i)=length(Ind);
ClusterD(i)=sum(dst(Ind));
else %if no vector is close enough to this codeword, replace it with a random vector
CB:),i)=X:),fix(rand*N)+1);
disp('A random vector was assigned as a codeword.')
isFirstRound=1;% At least another iteration is required
end
end
end
Iter=Iter+1;
if isFirstRound % First itteration after a split (dont exit)
TotalDist=sum(ClusterD(~isnan(ClusterD)));
DistHist(Iter)=TotalDist;
PrevTotalDist=TotalDist;
isFirstRound=0;
else
TotalDist=sum(ClusterD(~isnan(ClusterD)));
DistHist(Iter)=TotalDist;
PercentageImprovement=((PrevTotalDist-TotalDist)/PrevTotalDist);
if PercentageImprovement>=DT %Improvement substantial
PrevTotalDist=TotalDist; %Save Distortion of this iteration and continue training
isFirstRound=0;
else%Improvement NOT substantial (Saturation)
EachSizeIterCounter=0;
if LC>=L %Enough Codewords?
if L==LC %Exact number of codewords
disp(TotalDist)
break
else % Kill one codeword at a time
[temp, Ind]=min(Population); % Eliminate low population codewords
NCB=zeros(d,LC-1);
NCB=CB:),setxor(1:LC,Ind(1)));
CB=NCB;
LC=LC-1;
isFirstRound=1;
end
else %If not enough codewords yet, then Split more
CB=[CB*(1+e) CB*(1-e)];
e=eRed*e; %Split size reduction
DT=DT*DTRed; %Improvement Threshold Reduction
LC=size(CB,2);
isFirstRound=1;
Split=Split+1;
IsThereABestCB=0; % As we just split this codebook, there is no best codebook at this size yet
disp(LC)
end
end
end
if ~IsThereABestCB
BestCB=CB;
BestD=TotalDist;
IsThereABestCB=1;
else % If there is a best CB, check to see if the current one is better than that
if TotalDist<BestD
BestCB=CB;
BestD=TotalDist;
end
end
EachSizeIterCounter=EachSizeIterCounter+1;
if EachSizeIterCounter>maxIterInEachSize % If too many itterations in this size, stop training this size
EachSizeIterCounter=0;
CB=BestCB; % choose the best codebook so far
IsThereABestCB=0;
if LC>=L %Enough Codewords?
if L==LC %Exact number of codewords
disp(TotalDist)
break
else % Kill one codeword at a time
[temp, Ind]=min(Population);
NCB=zeros(d,LC-1);
NCB=CB:),setxor(1:LC,Ind(1)));
CB=NCB;
LC=LC-1;
isFirstRound=1;
end
else %Split
CB=[CB*(1+e) CB*(1-e)];
e=eRed*e; %Split size reduction
DT=DT*DTRed; %Improvement Threshold Reduction
LC=size(CB,2);
isFirstRound=1;
Split=Split+1;
IsThereABestCB=0;
disp(LC)
end
end
disp(TotalDist)
p=Population/N;
save CBTemp CB p DistHist
end
m=CB;

p=Population/N;

disp(['Iterations = ' num2str(Iter)])
disp(['Split = ' num2str(Split)])

function [v, i]=maxn(x,n)
% [V, I]=MAXN(X,N)
% APPLY TO VECTORS ONLY!
% This function returns the N maximum values of vector X with their indices.
% V is a vector which has the maximum values, and I is the index matrix,
% i.e. the indices corresponding to the N maximum values in the vector X

if nargin<2
[v, i]=max(x); %Only the first maximum (default n=1)
else
n=min(length(x),n);
[v, i]=sort(x);
v=v(end:-1:end-n+1);
i=i(end:-1:end-n+1);
end

function [I, dst]=VQIndex(X,CB)
% Distance function
% Returns the closest index of vectors in X to codewords in CB
% In other words:
% I is a vector. The length of I is equal to the number of columns in X.
% Each element of I is the index of closest codeword (column) of CB to
% coresponding column of X

L=size(CB,2);
N=size(X,2);
LNThreshold=64*10000;

if L*N<LNThreshold
D=zeros(L,N);
for i=1:L
D(i,:)=sum((repmat(CB:),i),1,N)-X).^2,1);
end
[dst I]=min(D);
else
I=zeros(1,N);
dst=I;
for i=1:N
D=sum((repmat(X:),i),1,L)-CB).^2,1);
[dst(i) I(i)]=min(D);
end
end

function [I, dist]=VQLSFSpectralIndex(X,CB,W)
% If your codewords are LSF coefficients, You can use this function instead of VQINDEX
% This is for speech coding
% I=VQLSFSPECTRALINDEX(X,CB,W)
% Calculates the nearest set of LSF coefficients in the codebook CB to each
% column of X by calculating their LP spectral distances.
% I is the index of the closest codeword, X is the set of LSF coefficients
% (each column is a set of coefficients) CB is the codebook, W is the
% weighting vector, if not provided it is assumed to be equal to ones(256,1)
% Esfandiar Zavarehei
% 9-Oct-05

if nargin<3
L=256;
W=ones(L,1);
else
if isscalar(W)
L=W;
W=ones(L,1);
elseif isvector(W)
W=W:));
L=length(W);
else
error('Invalid input argument. W should be either a vector or a scaler!')
end
end

NX=size(X,2);
NCB=size(CB,2);

AX=lsf2lpc(X);
ACB=lsf2lpc(CB);


D=zeros(NCB,1);

w=linspace(0,pi,L+1);
w=w(1:end-1);
N=size(AX,2)-1;
WFZ=zeros(N+1,L);
IMAGUNIT=sqrt(-1);
for k=0:N
WFZ(k+1,:)=exp(IMAGUNIT*k*w);
end

SCB=zeros(L,NCB);
for i=1:NCB
SCB:),i)=(1./abs(ACB(i,:)*WFZ));
end

I=zeros(1,NX);
dist=zeros(1,NX);
for j=1:NX
SX=(1./abs(AX(j,:)*WFZ))';
for i=1:NCB
D(i)=sqrt(sum(((SX-SCB:),i)).^2).*W));
end
[dist(j), I(j)]=min(D);
end
 

speech recognition matlab codes

dear rakesh...

from the code..there some error":

Undefined command/function 'signal'.

??? Error: File: F:\MATLAB\work\vpsplit.m Line: 209 Column: 1
Function definitions are not permitted at the prompt or in scripts.
 

matlab codes for speech recognition

hey....

r u suree 'coz Im not gettin any error while run the program. it is showin all fine and good.

plz kindly check it again....just as the way i gave it to u. if u r usin it in some other program i may not know the error. n i did it in MATLAB 7...
 

extract the lpc coefficients matlab code

owhh..is that in matlab7..
currently im still using matlab 6..
ok..i/ll try to use matlab 7
 

matlab and speech recognition tutorial

In rakesh_vnit's SPeech Recognition Code , I got Smiley at some places, I replaced them by ":)". Then also MAtlab is giving error like "The expression to the left is not the valid target for the assignment".[/quote][/GVideo][/youtube]

Added after 1 minutes:

In rakesh_vnit's SPeech Recognition Code , I got Smiley at some places, I replaced them by ":) Then also MAtlab is giving error like "The expression to the left is not the valid target for the assignment".

Added after 2 minutes:

In rakesh_vnit's SPeech Recognition Code , I got Smiley at some places, I replaced them by ": and ) ". Then also MAtlab is giving error like "The expression to the left is not the valid target for the assignment".
 

speech recoginition code using c

hey yagneshreva,

that error comes when the variable u r assigning the final value of the function is not matching in type of the matlab. so, make sure that the variable u r assigning to in your actual program is same as that of the one used in the function.

regards,

rakesh
 

using specgram for voice recognition

Hello!
i need some help regarding a project. the aim of our project is to implement speech recognition of only 4 words.we our quite confused that which approach would do well. we have used co-relation plus LPC techniques but it was in vain... our success rate is not very high.....
kindly guide us with some approach to it in addition to a code.....we'll be gratefulll.......waiting badly 4 ur help...
thanking u in anticipation..........fatima

Added after 4 minutes:

i need help with recognition of four words....
 

fundamentals of speech recognition+matlab

anybody having any idea about this project????? plz help :(
 

speech recognition matlab ebook

FATIMA AJMAL said:
anybody having any idea about this project????? plz help :(
Hi Fatima
u can go in for mfcc technique for feature extraction..........
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top