Skip to content

cbassuarez/microrimba

Repository files navigation

microrimba

Archival of a set of 5 microtonal and overtone Marimbas that were given to CalArts this year.

How to regenerate data

npm install
npm run build:data

The data build validates every CSV in manifest/, normalizes rows to canonical bar objects, and writes deterministic JSON artifacts to data/bars/.

How to run the site

npm install
npm run dev

For a production build (including fresh data generation), run:

npm run build

This builds the React/Vite static site and copies generated JSON artifacts into dist/data/bars for static hosting.

Development

npm install
npm run dev

Build data

The app consumes static JSON in /data/*.json generated from /manifest/*.csv.

npm run data:build

To enforce all audio file paths exist during data generation:

STRICT_AUDIO=1 npm run data:build

Deploy to GitHub Pages

The Vite base path is configured for project pages (/microrimba/). A production build always regenerates JSON data first:

npm run build
npm run preview

Home UX

  • Grouping modes: The home Pitch Index supports Unique (cluster representative rows) and All bars (every bar in Hz order). Unique mode can expand to show member bars.
  • Tolerance presets: Unique clustering uses presets of ±5c, ±15c, or ±30c from pitch_index.json.
  • Hz formatting rule: Hz values are formatted adaptively as <100 => 3 decimals, 100-999.999 => 2 decimals, >=1000 => 1 decimal; the prefix appears only when rounding changed the stored value.
  • Composite behavior: In Instrument Pads, selecting Composite plays representative bars and shows ×N for grouped member counts when applicable.

GitHub Pages SPA fallback verification

After npm run build, confirm the generated fallback page exists:

test -f dist/404.html

After deploying to GitHub Pages, verify deep-link fallback behavior:

  • Open https://cbassuarez.github.io/microrimba/scale/9edo directly.
  • Refresh that page.
  • Confirm the app route loads (not a GitHub hard 404).
  • Confirm view-source: shows built assets (not /src/main.tsx).

Fonts

Bravura (SMuFL) and HEJI2 are included for notation glyph rendering workflows. Font binaries are expected under public/fonts/, and license scaffolding is tracked under third_party/.

About

archival of a set of 5 microtonal and harmonic marimbas that were given to CalArts this year.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors