I have attached a text file with some formulas for converting beats to time and vice versa, as well as two simple Python scripts that demonstrate the use of the formulas. For example, this simple score file: t 0 120 2 240 4 60 f 0 0.8 f 0 1.5 f 0 2.25 f 0 3.6 e Would be time warped by Csound to something like this (use scsort utility): w 0 120 2 240 4 60 f 0 0.800000 0.360000 f 0 1.500000 0.609375 f 0 2.250000 0.824219 f 0 3.600000 1.630000 e Now you can verify if the example code is correct: ./beat2time.py 0.8 0 120 2 240 4 60 ./beat2time.py 1.5 0 120 2 240 4 60 ./beat2time.py 2.25 0 120 2 240 4 60 ./beat2time.py 3.6 0 120 2 240 4 60 ./time2beat.py 0.36 0 120 2 240 4 60 ./time2beat.py 0.609375 0 120 2 240 4 60 ./time2beat.py 0.824219 0 120 2 240 4 60 ./time2beat.py 1.63 0 120 2 240 4 60 To understand the formulas, note that the change of 1/tempo is linear over beats. Then, beat=>time is basically just integration of 1/tempo (which is a linear function) over beat time, resulting in a second order function. After knowing that, you can get time=>beat by solving a second order equation. I hope that you find this useful, although the code probably needs some more testing and optimization.