typescripttonnetz

A complete library of Neo-Riemannian Theory for musicians, mathematicians, engineers and those interested in mathematical music theory

https://github.com/edelveart/typescripttonnetz

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.8%) to scientific vocabulary

Keywords

algorithmic-composition livecoding mathematical-music-theory music-theory toplap transformational-theory
Last synced: 6 months ago · JSON representation ·

Repository

A complete library of Neo-Riemannian Theory for musicians, mathematicians, engineers and those interested in mathematical music theory

Basic Info
Statistics
  • Stars: 9
  • Watchers: 3
  • Forks: 4
  • Open Issues: 0
  • Releases: 1
Topics
algorithmic-composition livecoding mathematical-music-theory music-theory toplap transformational-theory
Created over 2 years ago · Last pushed 8 months ago
Metadata Files
Readme License Citation

README.md

TS-Tonnetz

TS-Tonnetz is a library of transformations, graphs, and cycles from Mathematical Music Theory, enabling the creation, manipulation, and analysis of musical structures across various Tonnetz spaces.

NPM Version GitHub Repo stars NPM Downloads NPM License

ts-tonnetz-social-image

Currently Integrated in Topos

TS-Tonnetz is now integrated into the Topos live coding environment, where you can try it out and explore its features directly.

Suite of Tonnetz Tools with Academic Grounding

It emerged as a development branch in late 2023 to contribute to Miika Alonen's phenomenal ZifferJS project.

Backed by two doctoral theses and additional research articles, TS-Tonnetz offers a powerful set of tools for exploring musical operations within various Tonnetz spaces. Its focus is on the application of these tools for algorithmic composition and live coding, rather than musicological analysis.

Installation

node npm i ts-tonnetz

Features Implemented

Transformations follow the edge flip between triangles and their geometries (so far), maintaining two common notes (not necessarily considering voice-leading). In other words, different Tonnetz spaces adhere to the voice-leading space geometry of the conventional Tonnetz.

  • [x] PRL functions and compositions of any length
  • [x] Film music transformations: f(), n(), s(), h(), t6()
  • [x] Cardinal transformations
  • [x] Cube Dance
  • [x] OctaTowers
  • [x] Power Towers
  • [x] Weitzmann Regions, Boretz Regions
  • [x] HexaCycles, OctaCycles, EnneaCycles
  • [x] Hamiltonian Cycles

Mathematical inspiration (Trajectoires) in the Doctoral thesis written by Louis Bigo:

text Représentations symboliques musicales et calcul spatial (2013).

Dual Geometry of the Tonnetz

We have implemented all the Neo-Riemannian functions developed in the Doctoral thesis written by Sonia Cannas:

text Geometric Representation and Algebraic Formalization of Musical Structures (2018).

Each of these new transformations from the generalized transformational theory for seventh chords is enabled for the Tonnetz you want to explore.

PLRQ-group

  • [x] p12, p14, p23, p35
  • [x] r12, r23, r42, r35, r53
  • [x] l13, l15, l42
  • [x] q43, q15, rr35, qq51, n51

PLRQ-group extended

Includes more types of seventh chords and their transformations between them.

  • [x] p18, p19, p26, p39, p47, p64, p87, p98
  • [x] r63, r76, r86, l71, l89, q62, q76
  • [x] rr19, rr39, rr98, qq38, qq98

PLR*-group

Transformations with augmented and diminished triads.

  • [x] p, r, l, p32, p41, lt13, l41, l14, rt23, rt42, q13, q42, n42

ST-group

Transformations between triad chords and different types of seventh chords. The groups PLRQ and PLR* must be included.

  • [x] p1M, l1d, p2m, r2M, p3d, r3m, p4M, l4m, p5d, r5d, rr5d, z5d

Mathematical inspiration in the paper:

text A Generalized Dual of the Tonnetz for Seventh Chords: Mathematical, Computational and Compositional Aspects (Sonia Cannas and Moreno Andreatta, 2018).

Extensions of the Axis System in Béla Bartók

Generalized implementation on any Tonnetz of the harmonic groups of axis system ideaded by Ernő Lendvai: Tonic (8 chords), Subdominant (8 chords), and Dominant (8 chords). The parameters specify two directions, sought emotion (based on the ideas of Mauro de Maria), cross or diagonal movement. Major-minor and minor-major alternation available for cross path.

The manipulation can be done using a single function: * genCardinalPoints()

Groups with chord roots separated by major thirds (which we will call triangular) are also added. * genTriangularPoints()

We added six new graphs generalized inspired by the idea of cardinal points (extension of the axial system) for film music by Mauro de Maria. These graphs link the groups of cardinal points with the groups of three chords.

Each graph can be manipulated from a single function: * genCardinalTriangularGraph()

Contributing

  • New features (feat: <...> )
  • Fix errors and bugs (fix: <...>)
  • Refactor (refactor: <...>)
  • Testing (test: <...>)
  • Documentation (docs: <...>)

License

MIT License

Owner

  • Name: Edgar Delgado Vega
  • Login: edelveart
  • Kind: user
  • Location: Lima-Perú

Hi, I'm Edgar, a person motivated by art and technology. My interests are mathematical music theory and live coding (Sonic Pi).

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software and its documentation, please cite it as below."
authors:
  - family-names: "Delgado Vega"
    given-names: "Edgar Armando"
    orcid: "https://orcid.org/0000-0002-9672-9087"
title: "TypeScript Tonnetz"
version: 0.0.86
doi:
date-released: 2023-12-1
url: "https://github.com/edelveart/TypeScriptTonnetz"
repository-code: "https://github.com/edelveart/TypeScriptTonnetz"
license: MIT

GitHub Events

Total
  • Issues event: 2
  • Watch event: 1
  • Delete event: 1
  • Issue comment event: 6
  • Push event: 43
  • Pull request event: 20
  • Fork event: 1
  • Create event: 2
Last Year
  • Issues event: 2
  • Watch event: 1
  • Delete event: 1
  • Issue comment event: 6
  • Push event: 43
  • Pull request event: 20
  • Fork event: 1
  • Create event: 2

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 1
  • Total pull requests: 1
  • Average time to close issues: 4 days
  • Average time to close pull requests: N/A
  • Total issue authors: 1
  • Total pull request authors: 1
  • Average comments per issue: 3.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 1
  • Average time to close issues: 4 days
  • Average time to close pull requests: N/A
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 3.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • jimishol (1)
Pull Request Authors
  • edelveart (8)
  • eliot-akira (1)
  • amiika (1)
Top Labels
Issue Labels
enhancement (1)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • npm 21 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 7
  • Total maintainers: 1
npmjs.org: ts-tonnetz

TypeScript Tonnetz is a set of structures and functions from mathematical music theory

  • Versions: 7
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 21 Last month
Rankings
Dependent repos count: 34.1%
Average: 41.4%
Dependent packages count: 48.6%
Maintainers (1)
Last synced: 6 months ago