A direct algorithm to estimate continuous-time ARMA (CARMA) models is proposed in this paper. In this approach, we first pass the observed data through an input-to-state filter and compute the state covariance matrix. The properties of the state covariance matrix are then exploited to estimate the half-spectrum of the observed data at a set of user-defined points on the right-half plane. Finally, the continuous-time parameters are obtained from the half-spectrum estimates by solving an analytic interpolation problem with a positive real constraint. As shown by simulations, the proposed algorithm delivers much more reliable estimates than indirect modeling approaches, which rely on estimating an intermediate discrete-time model.