Skip to content

turbofishcrow/ternary

Repository files navigation

A microtonal scale research app chiefly dedicated to ternary scales (scales with three distinct step sizes). It focuses on aberrismic theory, developed by groundfault, inthar, and others.

Front page screenshot

How to build and run

Prerequisites

Build steps

  1. Install Node.js dependencies:

    npm install
  2. Build and serve the development server:

    npm run serve

    This will compile the Rust code to WASM and start a dev server at http://localhost:8080/.

  3. For a production build:

    npm run build

    The output will be in the dist/ directory.

Rust development

To check the Rust code compiles:

cargo check

To run Rust tests:

cargo test

Features

  • Get the set of all scales (up to mode) with a certain step signature.
  • Given a step signature, it gives you tuples of JI steps with bounded complexity for the scale, assuming octave equivalence. (The complexity bound on most steps means that the search is not exhaustive.)
  • Given step signature, it displays the ed(equave) tunings.
  • When you select a tuning on the results page, the SonicWeave code is displayed.
  • JI-agnostic 2D lattice view for every scale.
  • Non-octave equaves are supported (enter as a JI ratio like "3/1").
  • Configurable tuning bounds:
    • Max ED size (default 111)
    • Min/max smallest step size in cents (default 20–200)
  • Every scale comes with a Scale Profile that shows properties of the scale selected or queried
    • guide frame (guided generator sequence; multiplicity or interleaving offset_chord; complexity)
    • monotone MOS properties satisfied (L=M, M=s, s=0)
    • maximum variety
  • Filter for
    • whether the scale is a MOS substitution scale
    • length of the guided generator sequence
    • guide frame complexity
    • monotone MOS properties
    • maximum variety

Nota bene

If you ever see the status message "RuntimeError: unreachable executed" while running the web app, it's a bug (something that's not supposed to happen is happening). Please report it. When an error happens, just refresh the web app.

About

A microtonal scale research and analysis app

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE_APACHE
MIT
LICENSE_MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •