How to get frequency of a wav file for per cycle in matlab?
조회 수: 1 (최근 30일)
이전 댓글 표시
hi everyone , I want to compare the voice of male and female and wants to find difference between them,
for example :frequency on per cycle , any suggestion? what to do ?how to do.
댓글 수: 0
채택된 답변
Image Analyst
2019년 1월 17일
If you have the Signal Processing Toolbox, try spectrogram() or pwelch().
Otherwise, try fft().
댓글 수: 3
Image Analyst
2019년 1월 17일
Start here:
clc; % Clear the command window.
close all; % Close all figures (except those of imtool.)
workspace; % Make sure the workspace panel is showing.
format long g;
format compact;
fontSize = 16;
% Read and plot signal.
[y, fs] = audioread('guitartune.wav');
subplot(2, 2, 1);
plot(y, 'b-');
grid on;
title('Audio Waveform', 'FontSize', fontSize);
xlabel('Index', 'FontSize', fontSize);
ylabel('Signal Amplitude', 'FontSize', fontSize);
% Compute and plot spectrogram
subplot(2, 2, 2);
spectrogram(y);
title('Spectrogram', 'FontSize', fontSize);
% Compute and plot power.
audioPower = pwelch(y);
subplot(2, 2, 3);
plot(audioPower, 'b-');
grid on;
xlim([0, 5000]);
title('P Welch Power', 'FontSize', fontSize);
xlabel('Frequency', 'FontSize', fontSize);
ylabel('Power', 'FontSize', fontSize);
% Compute and plot power.
pxx = periodogram(y);
subplot(2, 2, 4);
plot(pxx, 'b-');
grid on;
xlim([0, 5000]);
title('Periodogram', 'FontSize', fontSize);
xlabel('Frequency', 'FontSize', fontSize);
ylabel('Power', 'FontSize', fontSize);
% Enlarge figure to full screen.
set(gcf, 'Units', 'Normalized', 'OuterPosition', [0, 0.04, 1, 0.96]);
Sorry I can't give you a full tutorial on signal analysis but this should get you started.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Code Generation and Deployment에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!