Hola:
Lamentablemente no hay un evento que informe cuando se acaba una canción, podrías usar setTimeout con el tiempo de la canción (no sería automático) pero tampoco se puede saber cuando va a empezar, ya que dependerá del tiempo de carga... para eso me parece que unos navegadores usan el evento onreadystate pero no es estándar.
Saludos