TypeScript Music Generators

And what are p-adics doing in music?

P-adic numbers are a central object of study in contemporary mathematics. Seen by the fabulous K. Hensel, they arise from the analogies between the complex variable and its series with the expansions in prime numbers. They allow us to capture difficult notions of geometry and deal with arithmetic questions in an extremely interesting fractal way.

This branch in TypeScript is motivated by:

  • Functions that generate numerical sequences in Miika Alonen's Ziffers (Ruby version).
  • Piece composed with fibonacci numbers by Daniel Morgade: "La sucesión de Leonardo, op37."

In that sense, we begin this repository with Fibonacci numbers, generalizations and transformation through two basic notions of analysis: valuation and norm.

With love to all the live coders. I hope you enjoy! 🎶

Mathematical techniques and variations

P-adic World

1. P-adic Valuation

  • padicFibonacci(primeNumber: number)
  • padicTribonacci(primeNumber: number)
  • padicTetranacci(primeNumber: number)
  • padicPentanacci(primeNumber: number)
  • padicHexanacci(primeNumber: number)
  • padicHeptanacci(primeNumber: number)
  • padicOctanacci(primeNumber: number)
  • padicEnneanacci(primeNumber: number)

2. P-adic Norm

  • normPadicFibonacci(primeNumber: number)
  • normPadicTribonacci(primeNumber: number)
  • normPadicTetranacci(primeNumber: number)
  • normPadicPentanacci(primeNumber: number)
  • normPadicHexanacci(primeNumber: number)
  • normPadicHeptanacci(primeNumber: number)
  • normPadicOctanacci(primeNumber: number)
  • normPadicEnneanacci(primeNumber: number)

3. P-adic Expansion

  • pAdicExpansionFibonacci(primeNumber: number)
  • pAdicExpansionTribonacci(primeNumber: number)
  • pAdicExpansionTetranacci(primeNumber: number)
  • pAdicExpansionPentanacci(primeNumber: number)
  • pAdicExpansionHexanacci(primeNumber: number)
  • pAdicExpansionHeptanacci(primeNumber: number)
  • pAdicExpansionOctanacci(primeNumber: number)
  • pAdicExpansionEnneanacci(primeNumber: number)

Modular world

  • modularFibonacci(modulo: number)
  • modularTribonacci(modulo: number)
  • modularTetranacci(modulo: number)
  • modularPentanacci(modulo: number)
  • modularHexanacci(modulo: number)
  • modularHeptanacci(modulo: number)
  • modularOctanacci(modulo: number)
  • modularEnneanacci(modulo: number)

Implemented basic functions

Memoization and destructuring

  • Fibonacci
  • Tribonacci
  • Tetranacci
  • Pentanacci
  • Hexanacci
  • Heptanacci
  • Octanacci
  • Enneanacci

Mordell Curves y^2 = x^3 + n

I implement Mordell curves for musical purposes (Ziffers - Topos).