How to find the highest peaks in an audio signal?
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
RamSum
am 14 Feb. 2015
Beantwortet: Greg Dionne
am 24 Mär. 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 Kommentare
Star Strider
am 16 Feb. 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...
Akzeptierte Antwort
Greg Dionne
am 24 Mär. 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 Kommentare
Weitere Antworten (1)
Image Analyst
am 15 Feb. 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 Kommentare
Image Analyst
am 17 Feb. 2015
Type "ver" to see if you have it. If you want it, you'll have to contact the Mathworks.
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
