In this paper, we study the inverse boundary value problem for the wave equation with a view towards an explicit reconstruction procedure. We consider both the anisotropic problem where the unknown is a general Riemannian metric smoothly varying in a domain, and the isotropic problem where the metric is conformal to the Euclidean metric. Our objective in both cases is to construct the metric, using either the Neumann-to-Dirichlet (N-to-D) map or Dirichlet-to-Neumann (D-to-N) map as the data. In the anisotropic case we construct the metric in the boundary normal (or semi-geodesic) coordinates via reconstruction of the wave field in the interior of the domain. In the isotropic case we can go further and construct the wave speed in the Euclidean coordinates via reconstruction of the coordinate transformation from the boundary normal coordinates to the Euclidean coordinates. Both cases utilize a variant of the Boundary Control method, and work by probing the interior using special boundary sources. We provide a computational experiment to demonstrate our procedure in the isotropic case with N-to-D data.