How to get equation of a sound

36 vues (au cours des 30 derniers jours)
Luis Zuniga
Luis Zuniga le 4 Sep 2020
I would like to get the equation for the next sound of piano keys (I have attached the zip with the mp3 file):
By equation I mean the formula of the general trend of the sound. To get the graph above I used the following code:
[x, fs] = audioread("IA de Mate\The Lumineers - April (Part 9 Of 10).mp3")
X = x(:,1);
N = length(x);
t = (0:N-1)/fs;
N/fs
%plot time domain signa
plot(t, x)
grid on
xlabel('time(s)')
ylabel('amplitude')
title('Signal in Time Domain')
  5 commentaires
Tamir Suliman
Tamir Suliman le 4 Sep 2020
to get the equations
KSSV
KSSV le 4 Sep 2020
@Tamir Suliman: the signal is random, you cannot use polyfit for this.

Connectez-vous pour commenter.

Réponses (1)

Madhav Thakker
Madhav Thakker le 9 Sep 2020
Hi Luis,
I understand that you want to get the equation of the attached mp3 file. The attached signal is very random. However, you can get a non-intuitive complex equation by using fft in MATLAB.
I am attaching a snippet that might help you –
[x, fs] = audioread("The Lumineers - April (Part 9 Of 10).mp3");
L = numel(x(:,1));
Fn = fs/2; % Nyquist Frequency
xm = x-mean(x); % Subtract Mean To Make Amplitudes At Frequencies>0 More Prominent
FTs = fft(xm)/L; % Fourier Transform
Fv = linspace(0, 1, fix(L/2)+1)*Fn; % Frequency Vector
Iv = 1:length(Fv); % Index Vector
Phs = angle(FTs);
For more details, you can refer to a similar discussion here - https://www.mathworks.com/matlabcentral/answers/348847-how-to-get-equation-of-signal-in-matlab
Hope this helps.

Catégories

En savoir plus sur Measurements and Spatial Audio dans Help Center et File Exchange

Produits


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by