       @mate.animations.add 'end', [4..MateLastFrame], 12
 
     _addMusic: ->
+      @userVolume = 1
       @music = @add.audio 'bgm', 0, yes
       @music.mute = @developing or @debugging
       @music.play()
-      @gui?.add @music, 'mute'
+      @gui?.add(@music, 'mute').listen()
+      increment = 0.1
+      @loudKey = @_addKey Keyboard.EQUALS, => @userVolume += increment
+      @muteKey = @_addKey Keyboard.ZERO, => @music.mute = not @music.mute
+      @quietKey = @_addKey Keyboard.UNDERSCORE, => @userVolume -= increment
 
     _addPlatforms: ->
       @platforms = new Platforms 

      ], @game,
        pauseHandler: (paused) => @player.control = not paused

    _addMate: ->
      {x, y} = @endingPoint
      x += 20


      @game.onBlur.remove @onBlur, @
      @game.onFocus.remove @onFocus, @
      @onHit.remove @quit, @

      key.onDown.removeAll @ for key in [@loudKey, @muteKey, @quietKey, @quitKey]

      @gui?.destroy()

    onBlur: ->
      @music?.pause()
