# Changing BPM

Usually you should not have any reason to change the [BPM ](/karedi/next-level/txt-file-format/tags/bpm.md)of the existing song - you are supposed to set the correct value before you even start vocal track transcription.&#x20;

Changing the value later may break your synchronization - the start and end positions of all notes will have to be reviewed once again.

{% hint style="info" %}
In order to avoid the necessity of fixing BPM, use software like MixMeister BPM Analyzer for determining the correct BPM value before you start working on vocal transcription. Remember to multiply the given value by 2 until it falls in the advised range of 200-400 (for fast song 250-500 may be better).
{% endhint %}

## Why changing the BPM value is risky?

As you probably already know, positions of notes in Ultrastar format are expressed in beats and the duration of the beat in milliseconds depends on the BPM value.

For example if you have a note that begins in beat 10 with BPM 240 (so one beat lasts 250 ms) it means that the note begins at 2.5 second (let's assume [GAP](/karedi/next-level/txt-file-format/tags/gap.md) is 0). If you just change the BPM value to 120 (so one beat will now last 500 ms), your note will now start at 5th second of the audio!

If you make small corrections, e.g. change 240 to 240.05, the synchronization will probably still be fine. However, the bigger the change and the further away the note is from the start of the song - the more its synchronization will be ruined.

## Rescaling to new BPM value

Instead of just changing the value, you can use rescale option. Rescaling will not only change the BPM but it will also recalculate the start beats and lengths of all notes in an attempt to preserve the absolute positions and durations in milliseconds as well as possible.

{% hint style="warning" %}
Rescaling is not 100% exact!
{% endhint %}

Beats can only be expressed as whole numbers. Therefore rescaling will almost always require rounding and will introduce some small differences in absolute positions or durations in milliseconds.

### Multiplying BPM by 2

If the BPM value you have chosen is generally correct, but you have just realized that you need more granurality, the best idea is to rescale the song to the duplicated BPM value. This operation is 100% safe and will preserve your synchronization since all positions and lengths in beats will just be duplicated.

To multiply the BPM value by 2 you can either:

* use `ctrl + M` shortcut
* go to menu *Tags* -> *BPM* -> *Multiply by 2*
* go to menu *Tags* -> *BPM* -> *Edit...*&#x20;

You should see a popup with current BPM value:

![](/files/veEHrokxmHqUm7KifQ87)

&#x20;Click the button with *>>* sign to duplicate the BPM value:

![](/files/HuaiiRALon1K2ovGs56Y)

Now choose the ***Rescale*** option to rescale the song to new value.

### Dividing BPM by 2

If you want to decrease the granularity of your song, you can rescale the song to the BPM value divided by 2. Please note that this operation is not 100% exact - all numbers in beats will have to get divided by 2 so if e.g. the duration of some note was previously 5 beats, now it will be rounded to 2 beats (2.5 is not allowed).

To divide the BPM value by 2 you can either:

* use `ctrl + D` shortcut
* go to menu *Tags* -> *BPM* -> *Divide by 2*
* go to menu *Tags* -> *BPM* -> *Edit...*&#x20;

And click the button with *<<* sign in the popup:

![](/files/nkrEow89ldWPXDj9afkI)

Remember to choose the ***Rescale*** option to rescale the song to new value.

### Rescaling BPM to arbitrary value

Open the popup *Tags* -> *BPM* -> *Edit...*  and input the desired value manually. Choose ***Rescale*** option to apply the change.

## Setting BPM

If despite all of the warnings above, you are sure that you want to just change the BPM value and not rescale the value, it is also possible.

### Using the dialog

Open the Edit BPM dialog by going to the menu *Tags* -> *BPM* -> *Edit...*&#x20;

Manually input the value and choose the *Set* option.

![](/files/iOBsqk43GVdkEHbnO4Xt)

### Using the tags editor

You can also set the value in the [tags editor](/karedi/user-interface/upper-components/tags-editor.md) tab.

Just find the BPM tag and double click on its value to start editing:

![](/files/pKRLYd248UBmERvyfjNG)

You may also use mouse scroll with optional ctrl or shift modifiers to increase or descrease the value by a predetermined step.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://karedi.gitbook.io/karedi/next-level/editing-tags/changing-bpm.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
