The SonicWeave DSL for manipulating musical frequencies, ratios and equal temperaments
npm install sonic-weaveNot to be confused with the Sweave flexible framework for mixing text and R code for automatic document generation.
sonic-weave package is many things.- The language of Scale Workshop 3
- Basic level
- Intermediate level
- Advanced level
- Built-in reference
- A command-line interface for calculating musical quantities
- A TypeScript compatible npm package
- A template language for running SonicWeave programs inside JavaScript
- An interchange format (extension .swi)
You may also be interested in the technical overview of SonicWeave as a programming language.
ocaml
8::16
`10-tone equal temperament
`ocaml
tet(10)
`The major scale in Pythagorean tuning i.e. 3-limit just intonation.
`ocaml
sort(3^[-1..5] rdc 2)
`Scale title, colors and labels.
`ocaml
"Japanese pentatonic koto scale, theoretical. Helmholz/Ellis p.519, nr.110"9/8 white "Major 2nd"
6/5 green "Minor 3rd"
3/2 white "Perfect 5th"
8/5 green "Minor 6th"
2 gray "Root & Octave"
``* ECMAScript - Brendan Eich et. al.
* Python - Guido van Rossum et. al.
* Haskell - Lennart Augustsson et. al.
* Zig - Andrew Kelley et. al.
* OCaml - Xavier Leroy et. al.
* NumPy - Travis Oliphant et. al.
* Scala - Manuel Op de Coul
* Scale Workshop 1 - Sean Archibald et. al.
* SQL - Donald D. Chamberlin et. al.
* FJS - "misotanni"
* NFJS - Matthew Yacavone
* Xen-calc - Matthew Yacavone
* Xenpaper - Damien Clarke
* Ups and downs notation - Kite Giedraitis
* S-expressions - "Godtone"
* Peg.js - David Majda et. al.
* Peggy - Joe Hildebrand et. al.
* Xenharmonic Wiki - (community project)
* Xenharmonic Alliance - (community Discord / Facebook)