Skip to content

need triplets (and other divisions of the beat) #46

@anentropic

Description

@anentropic

nice work!

my first thought on reading through the syntax was... how do you do triplets? the halving/doubling thing is a clever simplification and other multiples like 5 etc are more rare, but triplets are pretty essential.

I thought maybe you could get by with just a { } operator... say you're currently counting in 'quarter notes', then { } would give you quarter-note triplets and [{ ... }] would give you eighth-note triplets etc.

In replying to my other comment you suggested a syntax like {3}( ... ). I would interpret this maybe as a way to specify the multiple of the following brackets, i.e. {2} is the default if not specified. Reading about triplets they actually represent 'three notes in the space of two', i.e. a multiple of 1.5.

But reading more about things like quintuplets, conventional notation allows more awkward fractions such as 5/3... at which point you wouldn't want to use a 'floating point' type of syntax.

So that would suggest (based on your example) something like {3,2}[ ... ] for triplets. But then what would {3,2}( ... ) mean? If behind the scenes we're converting that syntax to a calculation like (3/2) * x or (3/2) / x it turns out only one of those gives a musically relevant answer. To get slower triplets correctly you'd have to do ({3,2}[ ... ]).

So maybe the 'fractional brackets' should be restricted to use with square 'speed up' brackets only, or not even associated with either [ ] or ( ) brackets at all, to avoid confusion.

So I would come back around to { ... } 'triplet brackets' as shorthand, with an extended syntax like maybe {5/3: ... } for weirder subdivisions.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions