How to find the highest peaks in an audio signal?
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
RamSum
el 14 de Feb. de 2015
Respondida: Greg Dionne
el 24 de Mzo. de 2015
Hi,
I have a set of audio files(.wav). Each audio file is the recording of a user typing a 8 letter word. Each letter when typed produces two sounds 1. when key is pressed, 2. when key is released. Total 16 sounds are produced for one complete typing. My question is, How can I find the highest peak of each press and release and how can I extract the timing information when a peak is occurred?
To simply my question, How to extract the timing information when a sound is produced?
How can i solve this problem. Please anyone guide me on this.
Thanks in advance.
4 comentarios
Star Strider
el 16 de Feb. de 2015
I was hoping for the .wav file, not the image. I would have done a spectrogram of it to see if the key-press and key-release had different (and ideally repeatable) spectra, then if they did, design appropriate digital filters to detect them.
Oh, well...
Respuesta aceptada
Greg Dionne
el 24 de Mzo. de 2015
Try something like this to get you started:
y = audioread('U1_S1_T1.wav')
yLeft = y(:,1);
yrmsenvLeft = sqrt(conv(yLeft.^2,ones(200,1)/200,'same'))
plot([yLeft yrmsenvLeft])
0 comentarios
Más respuestas (1)
Image Analyst
el 15 de Feb. de 2015
I know it seems obvious, but how about just thresholding??
loudElements = signal > someValue; % Logical vector.
loudIndexes = find(loudElements); % Linear indexes - actual index numbers.
Anyway, it's a start. If you need something more robust and sophisticated, you'll have to tweak it and develop something better.
9 comentarios
Image Analyst
el 17 de Feb. de 2015
Type "ver" to see if you have it. If you want it, you'll have to contact the Mathworks.
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
