how to estimate pitch of speech signal for each frame ?

9 次查看(过去 30 天)
i divded my speech signal into frames,, but i dont know how to find pitch for each frame?

回答(1 个)

AR
AR 2025-8-14,2:32
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!

类别

Help CenterFile Exchange 中查找有关 Simulation, Tuning, and Visualization 的更多信息

产品


版本

R2016a

Community Treasure Hunt

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

Start Hunting!

Translated by