music-slide

Com a tag

<script>
(function(){
  'use strict';

  var $music = document.getElementById('music'),
      $items = document.getElementById('slide').querySelectorAll('.item'),
      itemsQuantity = $items.length;

  $items = [].slice.call($items);

  var i = 0;
  var itv;
  var SLIDE_TIME = 800;

  var start = function() {
    //..
  };

  $music.addEventListener('ended', function(event) {
    console.log('ended');
    clearInterval(itv);
  });
  $music.addEventListener('pause', function(event) {
    console.log('pause');
    clearInterval(itv);
  });
  $music.addEventListener('playing', function(event) {
    console.log('playing');
    itv = setInterval(start, SLIDE_TIME)
  });

}());
</script>

Veja como implementei isso:

Código

https://github.com/wbruno/examples

Demonstração

http://wbruno.github.io/examples/music-slide/