We present a new observer-based method for parameter estimation for nonlinear oscillatory mechanical systems where the unknown parameters appear linearly (they may each be multiplied by bounded and Lipschitz continuous but otherwise arbitrary, possibly nonlinear, functions of the oscillatory state variables and time). The oscillations in the system may be periodic, quasiperiodic or chaotic. The method is also applicable to systems where the parameters appear nonlinearly, provided a good initial estimate of the parameter is available. The observer requires measurements of displacements. It estimates velocities on a fast time scale, and the unknown parameters on a slow time scale. The fast and slow time scales are governed by a single small parameter e. Using asymptotic methods including the method of averaging, it is shown that the observer's estimates of the unknown parameters converge like e-εt where t is time, provided the system response is such that the coefficient-functions of the unknown parameters are not close to being linearly dependent. It is also shown that the method is robust in that small errors in the model cause small errors in the parameter estimates. A numerical example is provided to demonstrate the effectiveness of the method.