ingresso e di uscita per la formazione NN ..

P

payate

Guest
Cari fren ..

Sono nuovo nel riconoscimento vocale .. avendo problema nel riconoscere la isolati da un'espressione numerica ..
ora, im solo codice fino .. FFT, dopo che non so come fare a finestre e di ricevere input e di target da il codice .. come creare la funzione di rete neurale ..

Si prega chiunque conosca su questo solo mi guida
davvero bisogno di aiuto ora ur ...questo è il mio .. il codice:

matlab_tools function ()

Matlab_tools funzione%
% =====================
%
Alcuni strumenti di base% / funzioni di MATLAB, che sono importanti
% Per la trasformazione discorso.Intialization Graphical%
% -----------------------

Figura (1);
set (gcf, 'position', [150 150 500 500])% Bigger finestra di defaultLeggere un segnale% *. wav
% -------------------

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

Ascolta% del segnale
---------------%

suono (x, fs);Filtro% Preepmhasis
% ------------------
%
% Di pratica è comune l'uso di un filtro preenfasi a riconoscimento vocale
% Compiti.Si tratta di un semplice filtro passa alta.Uno degli effetti è così che si rimuove
% Da una distorsione del segnale.
% Se si ascolta il segnale dopo il filtro preenfasi, si sente
% Che suona in modo diverso.
% Puoi commentare il filtro preenfasi fuori per vedere se vi è una differenza
% Nel oscillogramma.

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

% Tracciare la oscillogramma
% --------------------
%
Fondamentalmente è possibile digitare% solo plot (x) che visualizza il
Oscillogramma% del segnale.In questo caso l'unità su l'asse x
% Sarebbe campioni.E 'preferibile però di avere le unità su
L'asse x% in pochi secondi.Pertanto la funzione di stampa è chiamata con
% Due argomenti:
Arg 1%: array con i tempi di campionamento
% In quanto il campionamento è frequcency 'fs', il periodo di campionamento è 1/fs.
% Vale a dire il tempo tra due campioni è 1/fs.
Arg 2%: array con i valori della funzione corrispondente

subplot (3,1,1);
plot ([0: length (x) -1] / fs, x);
xlim ([0 0.7]);
xlabel ( 'tempo ');% Plot lo spettrogramma
% --------------------
%
% In questo modo un facile da perfrom un'analisi a breve termine di un discorso
% Del segnale.La funzione spettrogramma può essere chiamato con specgram (x).
% Poi la scala di tempo e di assi di frequenza non è in secondo o Hertz.
% Con alcuni argomenti più la funzione è Secondi / Hertz come unità ed è
% Più flessibile:
Arg 1%: il segnale nel dominio del tempo
Arg 2%: il numero di punti FFT (può essere scelto come la finestra-size)
Arg 3%: la frequenza di campionamento
Arg 4%: window-size
Arg 5%: window-shift

% In questa prima versione della spettrogramma della finestra di dimensioni è abbastanza grande.
Pertanto% il resultion nel dominio della frequenza è elevata, la risoluzione
% Nel dominio del tempo è comunque basso.

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

Ora% nella seconda versione non ci preoccupiamo tanto di frequenza
Risoluzione% più ma si vuole avere una risoluzione migliore nel tempo di dominio
% Terefore il Window-size è scelta più piccoli.

subplot (3,1,3);
winsize = 100;
winShift = 50;
specgram (x, winsize, fs, winsize, winShift);% FFT
% ---
%
% Ora faremo una FFT (solo per un fotogramma) senza la funzione specgram.

Figura (2);
set (gcf, 'position', [150 150 500 500])% Bigger finestra di default

winsize = 300;

Slice% - Selezionare un tempo per i quali la FFT deve essere stampati.

xx = x (1001:1000 winsize);

% - Terreno nel dominio del tempo

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

Spesso la FFT% non viene eseguito il segnale direttamente, ma la
Segnale% è finestrata per esempio con una finestra di Hamming.Questo è
% Fatto per eliminare discontinuità alla frontiera frame che
% Introdurre componenti di frequenza superiore.

subplot (3,1,2);
win = Hamming (winsize) / 0,54;
xx = xx .* vincere;
plot ([0: winsize-1] / fs, xx);

subplot (3,1,3);

% Do la FFT e tracciare la cornice nel dominio della frequenza.
% La risoluzione è frequceny fs / winsize.
Questo rustico% del frequcency da 0 a FS frequenza di campionamento.

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

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Codice dimostrativo% per "l'analisi delle componenti indipendenti: A Introduzione Tutorial"
% JV Stone, MIT Press, settembre 2004.
Copyright%: 2005, JV Stone, Dipartimento di Psicologia, Università di Sheffield, Sheffield, in Inghilterra.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Basic Bell-Sejnowski algoritmo ICA dimostrato il 2 segnale vocale.
% Il valore di default di ogni parametro è dato in [] parentesi.

% [0] set a 1 per ascoltare i segnali.
listen = 0;% fissato a 1 se hanno audio.

% [1] Set di sementi di numeri casuali.
seed = 9; rand ( 'seme', sementi); randn ( 'seme', sementi);

% [2] M = numero di segnali di origine e di miscele di segnale.
M = 2;
% [1E4] N = numero di punti di dati per segnale.
N = 1E4;

Dati di carico%, ciascuno di M = 2 colonne contiene un segnale di diversa origine.
% Ogni colonna ha n righe (i valori del segnale).

% Del carico suoni standard di MATLAB (da MATLAB directory datafun)
% Set varianza di ciascuna fonte di unità.
caricare due; s1 = x (1: N); s1 = s1/std (S1);
caricare due; s2 = x (1: N); s2 = s2/std (S2);

Fonti Combine% nel vettore s. variabile
s = [s1, s2];

% Make new Matrix miscelazione.
A = randn (M, M);

% Listen to segnale vocale ...
% [10000] Fs frequenza di campionamento del discorso.
Fs = 10000;
se ascoltare soundsc (s :), 1), Fs); soundsc (s :), 2), Fs); fine;

Istogramma Plot% di ogni sorgente di segnale --
% Questo si avvicina pdf di ciascuna fonte.
Figura (3); hist (s :), 1), 50); drawNow;
Figure (4); hist (s :), 2), 50); drawNow;

% Make M mixures x da segnali di origine M s.
x = s * A;

% Listen to segnale segnali di miscele ...
se ascoltare soundsc (x :), 1), Fs); soundsc (x :), 2), Fs); fine;

Inizializzare% Unmixing matrice W di matrice identità.
W = eye (M, M);

Y Inizializza%, i segnali stimata fonte.
x = y * W;

Stampa% su correlazioni iniziali tra
% Ogni y stimato di origine e di ogni s. segnale sorgente
= r corrcoef ([ys]);
fprintf ( 'correlazioni iniziale di origine e di segnali estratti \ n');
rinitial = abs (r (M 1:2 * M, 1: M))

nmax = 100;% [100] Il numero massimo di iterazioni.
eta = 1;% [0,25] dimensione Passo di salita pendenza.

% Make hs array per memorizzare i valori della funzione e la grandezza del gradiente.
zeri = hs (nmax, 1);
zeri = gs (nmax, 1);

Salita% Begin pendenza su h ...
per l'iter = 1: nmax
Get% stimato segnali di origine, Y.
x = y * W;% vec peso a Col di W.
% Get massimo stimato entropia segnali Y = CdF (Y).
Y = tanh (y);
% Trova il valore della funzione h.
H% = log (abs (det (W))) sum (log (EPS 1- Y (

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

. ^ 2)) / N;
detW = abs (det (W));
= h ((1 / N) * sum (sum (Y)) 0.5 * log (detW));
% Trova matrice dei gradienti @ H / @ W_ji ...
g = inv (W ') - (2 / N) * x' * Y;
Aggiorna% W per aumentare h ...
W = W eta * g;
H Record% e la grandezza del gradiente ...
hs (ITER) = h; GS (ITER) = norm (g (

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

);
end;

Parcella variazione% in ampiezza h e gradiente durante l'ottimizzazione.
Figura (3); plot (SA); titolo ( 'valori della funzione - Entropia');
xlabel ( 'iterazione'), ylabel ( 'h (Y)');
Figure (4); plot (GS), title ( 'Entità del Entropy Gradient');
xlabel ( 'iterazione'), ylabel ( 'Gradient Entità');

Stampa% su correlazioni finale ...
= r corrcoef ([ys]);
fprintf ( 'correlazioni finale tra sorgente e segnali estratti ... \ n');
rfinal = abs (r (M 1:2 * M, 1: M))

% Ascoltate i segnali estratti ...
se ascoltare soundsc (y :), 1), Fs); soundsc (y :), 2), Fs); fine;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%

 

Welcome to EDABoard.com

Sponsor

Back
Top