Building a Metronome Introduction

Some days ago I needed a metronome for something. I had none available so I downloaded an app from the App Store. The app had a size of 71 MB!!! 
71 MB for making tic-toc...?! 
So code-golf came into my mind and I was wondering if some of you guys could improve this.

Challenge

Golf some code that outputs some sound. It's pretty irrelevant what kind of sound. If required create some sound file... but a System beep will do the job as well. (Here is some sound I created... nothing special.)

Input: The beats per minute the metronome outputs.


Example

This is a non-golfed Java-version! It's just to show you the task.

public class Metronome {
  public static void main(String[] args) throws InterruptedException {
    int bpm = Integer.valueOf(args[0]);
    int interval = 60000 / bpm;

    while(true) {
        java.awt.Toolkit.getDefaultToolkit().beep();
        // or start playing the sound
        Thread.sleep(interval);
        System.out.println("Beep!");

    }
  }
}


Rules

You may not use external libaries, only tools of the language itself are allowed.
Only the bytes of the source code count... not the sound file.

This is code-golf, so the submission with the least amount of bytes wins!



EDIT:

Example output: So something like this would be the output for 120 bps: link
Mathematica, 26 bytes

Pause[Beep[];60/#]~Do~∞&amp;


Do is normally used as a "for" loop in the narrowest sense: repeat this piece of code for each i from x to y... or even just repeat this piece of code n times. Instead of a number n we can give it infinity though to create an infinite loop. The loop body is Pause[Beep[];60/#] which is just a golfy way of writing Beep[];Pause[60/#] where # is the function argument.

If it's admissible for the solution to blow up the call stack eventually, we can save one byte with a recursive solution:

#0[Beep[];Pause[60/#];#]&amp;