# Set the tempo

``

    use_bpm  bpm (number)

Sets the tempo in bpm (beats per minute) for everything afterwards. Affects all subsequent calls to `sleep` and all temporal synth arguments which will be scaled to match the new bpm. If you wish to bypass scaling in calls to sleep, see the fn `rt`. Also, if you wish to bypass time scaling in synth args see `use_arg_bpm_scaling`. See also `with_bpm` for a block scoped version of `use_bpm`.

For dance music here’s a rough guide for which BPM to aim for depending on your genre:

- Dub: 60-90 bpm
- Hip-hop: 60-100 bpm
- Downtempo: 90-120 bpm
- House: 115-130 bpm
- Techno/trance: 120-140 bpm
- Dubstep: 135-145 bpm
- Drum and bass: 160-180 bpm

Introduced in v2.0

## Example

# Example 1
``
      4.times do
        play 50, attack: 0.5, release: 0.25
        sleep 1
      end

      sleep 2

      use_bpm 120
      4.times do
        play 62, attack: 0.5, release: 0.25
        sleep 1
      end

      sleep 2

      use_bpm 240
      8.times do
        play 62, attack: 0.5, release: 0.25
        sleep 1
      end
| ``
    # default tempo is 60 bpm

    # attack is 0.5s and release is 0.25s
    # sleep for 1 second

    # sleep for 2 seconds

    # Let's make it go faster...
    # double the bpm

    # attack is scaled to 0.25s and release is now 0.125s
    # actually sleeps for 0.5 seconds

    # sleep for 1 second

    # Let's make it go even faster...
    #  bpm is 4x original speed!

    # attack is scaled to 0.125s and release is now 0.0625s
    # actually sleeps for 0.25 seconds