fleximeter composition and analysis software

3.12. pctheory.tempo

This module contains functions for working with tempo, particularly metric modulation. Of course, tempo is not really part of atonal pitch and pitch-class theory, but this module is included here for now.

make_metric_modulation_chain(initial_tempo, ratios: list)[Fraction]

Makes a succession of tempos that are related by the provided list of tempo ratios. The initial tempo can be a float, int, or Fraction. Each element in ratios must be a Fraction. For example, suppose the initial tempo is 72 and the list of ratios is 5/4, 2/3, and 7/6. The resulting metric modulation chain will be 72, 90, 60, 70.

plot_tempo_table(quarter_note_tempos: list)

Makes a table of tempos. Each column corresponds to a duration (whole note, half note, quarter note, various types of tuplet, etc.). Each row corresponds to a particular quarter‐note tempo. This makes it easy to compare the speeds of subdivisions in different tempi. The tempo table will be displayed as a matplotlib table.