How to get frequency of a wav file for per cycle in matlab?
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Yasir Ali
am 17 Jan. 2019
Kommentiert: Yasir Ali
am 18 Jan. 2019
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 Kommentare
Akzeptierte Antwort
Image Analyst
am 17 Jan. 2019
If you have the Signal Processing Toolbox, try spectrogram() or pwelch().
Otherwise, try fft().
3 Kommentare
Image Analyst
am 17 Jan. 2019
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.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Spectral Measurements finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!