
Company News
Socket Named Top Sales Organization by RepVue
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.
euclidean-rhythms
Advanced tools
Calculates the patterns based on the euclidean/bjorklund's algorithm
A micro-library in javascript that calculates the rhythmical patterns of equally distributed pulses in available steps. It implements the bjorklund's algorithm that is described by Godfried Toussaint in The Euclidean algorithm generates traditional musical rhythms
I made this library in 2016; I couldn't find an implementation that yields to the expected results as described on the paper above and also being well tested with unit tests and code coverage.
The current solution is a javascript / typescript interpretation of the python code that is retrieved from atonalmicroshores.com
Run npm install euclidean-rhythms
Then in your javascript / typescript code:
const er = require('euclidean-rhythms');
or in es6
import {getPattern} from 'euclidean-rhythms';
let cumbia = getPattern(3, 4);
cumbia should be [ 1, 0, 1, 1 ]
let cinquillo = getPattern(5, 8);
cinquillo should be [ 1, 0, 1, 1, 0, 1, 1, 0 ]
etc ...
** There is currently no umd bundle support from tsup, will be added as long as there is need for it; in the meantime you can use the older pre-typescript version of it.
Use one of the prepared browser bundles from unpkg.com
https://unpkg.com/euclidean-rhythms@2.0.1/dist/bundle.umd.js
https://unpkg.com/euclidean-rhythms@2.0.1/dist/bundle.umd.min.js
Then in your javascript code:
var pattern = euclideanRhythms.getPattern(5, 13);
pattern should be : [ 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0 ]
Clone the git repository and cd into it.
Run npm run test for executing the unit tests and npm run build to build the ems, commonjs and iife bundles and the type definitions.
FAQs
Calculates the patterns based on the euclidean/bjorklund's algorithm
The npm package euclidean-rhythms receives a total of 347 weekly downloads. As such, euclidean-rhythms popularity was classified as not popular.
We found that euclidean-rhythms demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Company News
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.

Security News
NIST will stop enriching most CVEs under a new risk-based model, narrowing the NVD's scope as vulnerability submissions continue to surge.

Company News
/Security News
Socket is an initial recipient of OpenAI's Cybersecurity Grant Program, which commits $10M in API credits to defenders securing open source software.