Analysis of plucked sound signals using the Prony method Ye Lu 2011-12-15.

Presentation on theme: "Analysis of plucked sound signals using the Prony method Ye Lu 2011-12-15."— Presentation transcript:

Analysis of plucked sound signals using the Prony method Ye Lu 2011-12-15

Introduction  Physical Modelling  ----Digital Waveguide Synthesis  ----Formant Synthesis  ----Finite element Methods  Plucked string instruments  ----Karplus-Strong Algorithm

Prony Method  developed by Gaspard Riche de Prony in 1795  extracts valuable information from a uniformly sampled signal and builds a series of damped complex exponentials or sinusoids

Prony Method

Fourier Series vs Prony Analysis  Non-parametric -- Parametric  undamped complex exponentials -- damped complex exponentials  amplitude, phase and frequency -- amplitude, phase, frequency and damping coefficients

Karplus-Strong Algorithm  [1] Karplus,K., and A. Strong. 1983. "Digital Synthesis of Plucked-String and Drum Timbres." Computer Music Journal 7(2) : 43-55.  [2] Jaff, D., and J. Smith. 1983. "Extensions of the Karplus-Strong Plucked-String Algorithm." Computer Music Journal 7(2): 56-69

Implementation in Matlab  x=(2*rand(Time,1)-1);  for i=N+1:Time  x(i)=0;  end  for i=1:N  y(i)=x(i);  end  y(N+1)=x(1);  for i=N+2:Time  y(i)=x(i)+0.5*(y(i-N)+y(i-N-1));  end

Frequency Response

Modifications for the sound  Decay Shortening  Vibrato  Glissandi

Mathematical formulations http://www.engr.uconn.edu/~sas03013/docs/PronyAnalysis.pdf

Mathematical formulations

Three Steps  1. Solve linear prediction model, which is constructed by the observed data set

Three steps  2. Find Roots of charactreristic polynomial formed from the linear prediction coefficients

Three steps  3. Solve the original set of linear equations to yield the estimates of the exponential amplitude and sinusoidal phase

Implementation in Matlab y=zeros(1,N); for i=1:N y(i)=x(800*i); end d=zeros(1,N/2); for i=1:N/2 d(i)=y(i+N/2); end D=zeros(N/2,N/2); for i=1:N/2 for j=N/2:-1:1 D(i,-j+N/2+1)=y(i+j-1); end a=pinv(D)*d'; muhat=roots([1,-a']); U=zeros(N,N/2); for i=1:N for j=1:N/2 U(i,j)=muhat(j,1)^(i-1); end C=pinv(U)*y';

F3+F4+F5

F1

F2

Using “prony” command in Matlab

Problems to be aware  p less than N/2  Noise impacts the accuracy of the Prony pole estimation  Noise can cause the damping factors to be too large

Conclusion  Prony method extracts valuable information from a uniformly sampled signal and builds a series of damped complex exponentials or sinusoids  Provide information of amplitude, phase, frequency and damping coefficients  Very sensitive to the noise, and behave badly when noise presents

References  [1] Karplus,K., and A. Strong. 1983. "Digital Synthesis of Plucked-String and Drum Timbres." Computer Music Journal 7(2) : 43-55.  [2] Jaff, D., and J. Smith. 1983. "Extensions of the Karplus-Strong Plucked-String Algorithm." Computer Music Journal 7(2): 56-69  [3]http://www.engr.uconn.edu/~sas03013/do cs/PronyAnalysis.pdf  [4] Kay and Maple, 1981, “Spectrum Analysis” Proceedings of the IEEE VOL, 69, No. 11: 1404- 1406

Thank you!

Similar presentations