isolated word detection, comparing two audio files
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Ayush
el 5 de Jun. de 2015
Comentada: Anjaneyulu Challa
el 15 de Abr. de 2016
i am trying to compare two audio files, one is user input and the second file is the pre-recorded sample (defined). I need to compare both, i have converted both .wav file from time domain to frequency domain. yet i cannot establish a way to compare both the files.
Fs = 10000; % Sampling Frequency (Hz)
Nseconds = 1; % Length of speech signal
fprintf('say a word immediately after hitting enter: ');
input('');
% Get time-domain speech signal from microphone
y = wavrecord(Nseconds*Fs, Fs, 'double');
x = fft(y);
% Get response until Fs/2 (for frequency from Fs/2 to Fs, response is repeated)
x = x(1:floor(Nseconds*Fs/2));
% Plot magnitude vs. frequency
m = abs(x);
f = (0:length(x)-1)*(Fs/2)/length(x);
plot(f,m);
xlabel('Frequency (Hz)');
ylabel('Magnitude');
% Get time-domain speech signal already recorded sample
y2=wavread('sample01_6k.wav','double');
x2 = fft(y2);
% Get response until Fs/2 (for frequency from Fs/2 to Fs, response is repeated)
x2 = x2(1:floor(Nseconds*Fs/2));
% Plot magnitude vs. frequency
m2 = abs(x2);
f2 = (0:length(x2)-1)*(Fs/2)/length(x2);
0 comentarios
Respuesta aceptada
Walter Roberson
el 5 de Jun. de 2015
fft() is for periodic signals. If the longer signal consisted of nothing other than the same word repeated over and over again exactly the same way then comparing the fft() might be useful.
You will need to use a technique that deals with analysis over short times rather than infinite. One technique is Short Time Fourier Transform. See for example http://www.mathworks.com/help/signal/ug/formant-estimation-with-lpc-coefficients.html
2 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Audio I/O and Waveform Generation en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!