How to get frequency of a wav file for per cycle in matlab?
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Réponse acceptée
Image Analyst
le 17 Jan 2019
If you have the Signal Processing Toolbox, try spectrogram() or pwelch().
Otherwise, try fft().
3 commentaires
Image Analyst
le 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.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Time-Frequency Analysis dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!