how to estimate pitch of speech signal for each frame ?

4 vues (au cours des 30 derniers jours)
Mohamed ibrahim
Mohamed ibrahim le 7 Déc 2018
Réponse apportée : AR le 14 Août 2025
i divded my speech signal into frames,, but i dont know how to find pitch for each frame?

Réponses (1)

AR
AR le 14 Août 2025
You can use the pitch() function in MATLAB to estimate the pitch of the speech signal. If you have already divided your speech signal into frames (for example, each column in the matrix is a frame), you need to process each frame individually since the function expects a vector as input and not a matrix of frames.
For reference, here is a link from the community which discusses a similar approach:
Example: If the frames are stored as columns in a matrix called frames and the sampling frequency is fs, use the following approach:
for i = 1:size(frames,2)
frame = frames(:,i);
pitchValue(i) = pitch(frame, fs);
end
This will give the pitch estimate for each frame in the array pitchValue.
It is often easier to let pitch() handle the framing by specifying the window and overlap lengths, but if you already have frames, the above method will work.
To know more about the “pitch() function, run the following command:
doc pitch
Hope this helps!

Catégories

En savoir plus sur Simulation, Tuning, and Visualization dans Help Center et File Exchange

Produits


Version

R2016a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by