Skip to main content

Time duration

@tonaljs/duration-value

tonal npm version

Functions to parse and manipulate time duration values

Usage

ES6:

import { DurationValue } from "tonal";

node:

const { DurationValue } = require("tonal");

single module:

import DurationValue from "@tonaljs/duration-value";

Properties

DurationValue.get

get(name: string) // => object

Get a duration value object from name:

DurationValue.get("quarter"); // =>
// {
// empty: false,
// name: 'q',
// value: 0.25,
// fraction: [ 1, 4 ],
// shorthand: 'q',
// dots: '',
// names: [ 'quarter', 'crotchet' ]
// }

The name accepts an arbitrary number of dots:

DurationValue.get("quarter.."); // =>
// {
// empty: false,
// name: 'q..',
// value: 0.4375,
// fraction: [ 7, 16 ],
// shorthand: 'q',
// dots: '..',
// names: [ 'quarter', 'crotchet' ]
// }

Short names are accepted:

DurationValue.get("q") == DurationValue.get("quarter");
DurationValue.get("q.") == DurationValue.get("quarter.");
DurationValue.get("q..") == DurationValue.get("quarter..");

Some aliases (value and fraction) are provided:

DurationValue.value("q.."); // => 0.4375
DurationValue.fraction("q.."); // => [ 7, 16 ]

List durations

DurationValue.names

names() => string[]

Return all duration names

DurationValue.names(); // => ["large", "duplex longa", ...]

DurationValue.shorthands

shorthands() => string[]

Return all duration value shorthands

DurationValue.shorthands(); // => ["dl", "l", "d", "w", "h", "q", "e", "s", "t", "sf", "h", "th"]

References