User:Bavi H/Tempo Mode

From OpenMPT Wiki
Jump to navigation Jump to search

The revisions below have now been copied to Manual:_Song_Properties#Tempo_Mode. Make future improvements there, do not edit this page.

Tempo Mode[edit]

In the Tempo group, the Mode drop down box lets you choose the tempo mode: Classic, Alternative, or Modern. Each tempo mode has different advantages and is further explained below. Before comparing the tempo modes, it’s helpful to understand the following points.

  • The exact meaning of the Tempo value depends on the tempo mode, but increasing the Tempo will always result in a faster note playback speed, decreasing the Tempo always produces a slower note playback speed. There are two ways you can change the Tempo.
  • To set the initial Tempo: In the General tab, use the “Initial tempo” slider or box.
  • To change the Tempo in the middle of a song: In the pattern editor, go to the desired pattern and row and insert a “Set Tempo” effect. (For IT: Txx. For XM: Fxx, where xx is 20 to FF.)
  • The smallest unit you can use for creating notes is a row. When any other value affects the row duration, notes will play faster or slower.
  • The smallest unit the player uses is a tick, a subdivision of a row.
  • In OpenMPT, Speed means the same thing as ticks per row. Changing the Speed affects the timbre of the notes and the behavior of many pattern effects. In some tempo modes, changing the Speed also affects the note playback speed. There are two ways you can change the Speed.
  • To set the initial Speed: In the General tab, use the box labeled “Ticks/Row”.
  • To change the Speed in the middle of a song: In the pattern editor, go to the desired pattern and row and insert a “Set Speed” effect. (For IT: Axx. For XM: Fxx, where xx is 01 to 1F.)

Overview[edit]

In the Classic and Alternative tempo modes, values are built up from ticks to rows to beats. In the Modern tempo mode, values are subdivided from beats to rows to ticks.

When a value affects the rows per minute or the row duration, notes will play faster or slower. In the table below, the bold and highlighted items emphasize this.

Tempo mode Classic Alternative Modern
Main advantage Compatible with other players Before Modern tempo mode was available, let you increase Speed or Rows per Beat further (?) Easy to understand tempo value
Tempo unit 24 ticks per minute 60 ticks per minute
(ticks per second)
beats per minute
Ticks per minute Tempo × 24 Tempo × 60 Tempo × Rows per Beat × Speed
Rows per minute Tempo × 24 / Speed Tempo × 60 / Speed Tempo × Rows per Beat
Beats per minute Tempo × 24 / Speed / Rows per Beat Tempo × 60 / Speed / Rows per Beat Tempo
Tick duration 2.5 seconds / Tempo 1 second / Tempo 60 seconds / Tempo / Rows per Beat / Speed
Row duration (2.5 seconds / Tempo) × Speed (1 second / Tempo) × Speed 60 seconds / Tempo / Rows per Beat
Beat duration (2.5 seconds / Tempo) × Speed × Rows per Beat (1 second / Tempo) × Speed × Rows per Beat 60 seconds / Tempo
If you decrease or increase Tempo... notes play slower or faster notes play slower or faster notes play slower or faster
If you decrease or increase Speed... notes play faster or slower notes play faster or slower note play speed doesn’t change
If you decrease or increase Rows per Beat... note play speed doesn’t change note play speed doesn’t change notes play slower or faster

Classic Tempo Mode[edit]

This mode uses the classic definition of speed and tempo that is compatible with many other trackers. It is always used in the MOD and S3M format and is strongly encouraged to be used in XM and IT files, where it is the default tempo mode.

For performance reasons, most older trackers were implemented with very little to no floating point arithmetic. Some rounding errors when calculating the number of samples that should constitute a buffer of a given duration mean that tempos could be inexact. In OpenMPT, the Classic tempo mode preserves this “old-school” behaviour.

Alternative Tempo Mode[edit]

This is a slightly more complex tempo mode devised by Ericus for the mathematically minded. It allows for very fine tuning.

Modern Tempo Mode[edit]

This tempo mode compensates for the rounding errors described above, so the real BPM should nearly always correspond to the exact value you specify. This is the most intuitive mode for new users and closest to other modern music software packages. It is recommended to use this mode in MPTM tracks.

A current limitation is that it’s impossible to set fractional BPMs with this mode (e.g. 136.46 BPM).

To make use of temporarily increased (or decreased) tracking precision (while staying at the same tempo) in this tempo mode, you will have to change the Rows per Beat of a specific pattern, so this is only possible in the MPTM format.

Time Signature[edit]

In the Tempo group, the Rows per beat and Rows per measure values are used to highlight appropriate rows in the pattern editor and to calculate the time signature that is sent to some plugins. In MPTM modules, patterns can also have a custom time signature which overrides this global time signature. It can be changed in the Pattern Properties dialog.