#time #conversion #music #dsp

time_calc

A library for music/DSP time conversions! Provides functions and methods for converting between ticks, ms, samples, bars, beats and measures

22 releases

0.14.0 Feb 3, 2025
0.13.0 Oct 5, 2017
0.12.1 May 15, 2017
0.11.0 Jun 7, 2016
0.9.4 Dec 24, 2014

#133 in Audio

Download history 46/week @ 2024-10-27 55/week @ 2024-11-03 26/week @ 2024-11-10 22/week @ 2024-11-17 51/week @ 2024-11-24 54/week @ 2024-12-01 182/week @ 2024-12-08 117/week @ 2024-12-15 36/week @ 2024-12-22 12/week @ 2024-12-29 51/week @ 2025-01-05 78/week @ 2025-01-12 59/week @ 2025-01-19 35/week @ 2025-01-26 215/week @ 2025-02-02 53/week @ 2025-02-09

364 downloads per month
Used in 9 crates (8 directly)

Apache-2.0/MIT

37KB
1K SLoC

time_calc Build Status

A library for music/DSP time conversions!

time_calc provides functions and methods for converting between ticks, ms, samples, bars, beats and measures.

It looks like this:

const SAMPLE_HZ: SampleHz = 44_100.0;
let bpm: Bpm = 120.0;
let time_sig = TimeSig { top: 4, bottom: 4 };
println!("Convert 4 bars to samples where the tempo is 120bpm, the time signature is 4/4
         and the sample rate is 44,100 samples per second: {}",
         Bars(4).samples(bpm, time_sig, SAMPLE_HZ))

Usage

Add time_calc to your cargo dependencies like this:

[dependencies]
time_calc = "*"

See the example for a better demo.

Dependencies

~2MB
~29K SLoC