How to get equation of a sound

조회 수: 12 (최근 30일)
Luis Zuniga
Luis Zuniga 2020년 9월 4일
답변: Madhav Thakker 2020년 9월 9일
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
Tamir Suliman
Tamir Suliman 2020년 9월 4일
to get the equations
KSSV
KSSV 2020년 9월 4일
@Tamir Suliman: the signal is random, you cannot use polyfit for this.

댓글을 달려면 로그인하십시오.

답변 (1개)

Madhav Thakker
Madhav Thakker 2020년 9월 9일
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.

카테고리

Help CenterFile Exchange에서 Get Started with Signal Processing Toolbox에 대해 자세히 알아보기

제품


릴리스

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by