Bonjour, cliquez-ici pour vous inscrire et participer au forum.
  • Login:


+ Répondre à la discussion
Affichage des résultats 1 à 1 sur 1

aide sur la fonction lpc de Matlab

  1. Noiiz

    Date d'inscription
    juillet 2007
    Âge
    23
    Messages
    2

    aide sur la fonction lpc de Matlab

    Bonjour,
    j'utilise actullement Matlab pour tenter de faire de la reconnaissance de mots isolés. J'ai trouvé une procédure sur internet que j'ai modifiée et qui fonctionne. JE comprendre tout sauf ce que fais la fonction LPC (linéar predictive coding) et cette fonction joue un role clé puisqu'elle extrait des parametres qui sont ensuite comparés a ceux du mot que je souhaite reconnaitre. Voici le programme:



    Code:
    % This code is for creating the library of Linear Predictive Coding (LPC) features. 
    
    Fs = 10000; % Sampling Frequency (Hz) 
    n = 20; % LPC order 
    Nseconds = 1; % Length of speech signal 
    
    % List of words (you can add more words to this list but make sure 
    % each word has five characters (if less then pad it with spaces) 
    
    words = {'mélodie'; 
    'composant'; 
    'caisse'; 
    'voiture'}; 
    
    % Matrix to store features for each word (rows correspond to words) 
    fw = zeros(size(words,1),n+1); 
    
    fprintf('You will get one second to say each word.\n\n'); 
    
    % For each word, get the word from microphone and compute its features 
    for i=1:size(words,1) 
    fprintf('Hit enter and say immediately ''%s'':',words{i}); 
    % pause for enter key 
    junk=input(''); 
    
    % get a word from microphone 
    y = wavrecord(Nseconds*Fs, Fs, 'double'); 
    
    % Calculate the features of the word 
    f = lpc(y,n); 
    
    % Save them in the features matrix 
    fw(i,:) = f; 
    % abs(f) 
    % plot(1:Fs,fft(y)); 
    end 
    
    % Save features matrix to a file (this file will be loaded into Matlab during speech recognition) 
    save words_lpc.mat Fs n words fw;
    Code:
    % Speech Recognition using Linear Predictive Coding (LPC) 
    y=0; 
    % load training data 
    load words_lpc.mat; 
    
    % ask user to say a word 
    fprintf('You will get one second to say your word.\n\n'); 
    fprintf('Hit enter and say your word immediately:'); 
    % pause for enter key 
    junk=input(''); 
    
    % get the word from microphone 
    y = wavrecord(1*Fs, Fs, 'double'); 
    
    % Calculate the features of the word 
    f = lpc(y,n); 
    
    % Calculate distances between the spoken word and each word in the library 
    d = zeros(1,size(words,1)); 
    for i=1:size(words,1) 
    d(i) = sqrt(sum((f-fw(i,:)).^2)); 
    end 
    
    % Print the word with minimum feature distance. This word was spoken. 
    [temp1,indx1] = min(d); 
    fprintf('You said: %s\n',words{indx1,:});

    J'ai déjà lu l'aide Matlab mais je ne comprend pas ce que fais physiquement cette fonction lpc. Dans l'aide il dise que la fonction calcule des coefficients de prédiction qui dépendent des instants antérieurs de mon signal. MAis je vois pas comment ces coefficients peuvent servir pour reconnaitre et comparer des signaux sonores!
    Je ne vois pas non plus ce que ces parametres représentent physiquement.
     


    • Publicité




      Poursuivez votre recherche
      Recherche personnalisée


Poursuivez votre recherche :




Sur le même thème :




 

Discussions similaires

  1. graphe de fonction sur matlab
    Par joulnare18 dans le forum Logiciel - Software - Open Source
    Réponses: 7
    Dernier message: 13/04/2011, 16h01
  2. aide sur MATLAB (RK)
    Par zeudox dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 10/04/2009, 01h22
  3. aide sur matlab
    Par léco dans le forum Mathématiques du supérieur
    Réponses: 0
    Dernier message: 21/04/2008, 11h08
  4. de l aide sur matlab
    Par aida73 dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 22/01/2008, 15h32
  5. aide sur matlab
    Par mikey dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 05/08/2004, 18h06