Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 35 additions & 0 deletions .github/workflows/check.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Check

on:
pull_request:
push:
branches: [master]
workflow_dispatch:

permissions:
contents: read

concurrency:
group: check-${{ github.ref }}
cancel-in-progress: true

jobs:
check:
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v6.0.2
with:
submodules: recursive

- name: Install Nix
uses: cachix/install-nix-action@v31
with:
nix_path: nixpkgs=channel:nixos-unstable

- name: Install Rust toolchain
run: nix develop . --command rustup toolchain install --profile minimal stable

- name: Check
run: nix develop . --command cargo run --locked --manifest-path tools/site/Cargo.toml -- check
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ tsconfig.tsbuildinfo
.quartz/
quartz/cli/tui/dist/
private/
private/photography/originals/
.replit
replit.nix

Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ build system:

```sh
cargo run --locked --manifest-path tools/site/Cargo.toml -- build
cargo run --locked --manifest-path tools/site/Cargo.toml -- check
cargo run --locked --manifest-path tools/site/Cargo.toml -- generate
cargo run --locked --manifest-path tools/site/Cargo.toml -- help
```
1 change: 1 addition & 0 deletions content/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ Content
- [notes](/notes/)
- [projects](/projects.md)
- [art](/art.md)
- [photography](/photography.md)
- [misc](/misc/)
- [tools](/tools/)
- [about](/about.md)
Expand Down
464 changes: 271 additions & 193 deletions content/blog/recursive-just-intonation.md

Large diffs are not rendered by default.

Binary file not shown.
112 changes: 112 additions & 0 deletions content/blog/recursive-just-intonation/recursive-ji-frequencies.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
tuning,chord,note,frequency_hz,cents_vs_12_tet,cents_vs_fixed_c_ji
12-TET,C,C,130.813,0.000,0.000
Fixed C just intonation,C,C,130.813,0.000,0.000
Recursive just intonation,C,C,130.813,0.000,0.000
12-TET,C,E,164.814,0.000,13.686
Fixed C just intonation,C,E,163.516,-13.686,0.000
Recursive just intonation,C,E,163.516,-13.686,0.000
12-TET,C,G,195.998,0.000,-1.955
Fixed C just intonation,C,G,196.219,1.955,0.000
Recursive just intonation,C,G,196.219,1.955,0.000
12-TET,E,E,164.814,0.000,13.686
Fixed C just intonation,E,E,163.516,-13.686,0.000
Recursive just intonation,E,E,163.516,-13.686,0.000
12-TET,E,G#/Ab,207.652,0.000,-6.910
Fixed C just intonation,E,G#/Ab,208.483,6.910,0.000
Recursive just intonation,E,G#/Ab,204.395,-27.373,-34.283
12-TET,E,B,246.942,0.000,11.731
Fixed C just intonation,E,B,245.274,-11.731,0.000
Recursive just intonation,E,B,245.274,-11.731,0.000
12-TET,G#/Ab,G#/Ab,207.652,0.000,-6.910
Fixed C just intonation,G#/Ab,G#/Ab,208.483,6.910,0.000
Recursive just intonation,G#/Ab,G#/Ab,208.483,6.910,0.000
12-TET,G#/Ab,C,261.626,0.000,0.000
Fixed C just intonation,G#/Ab,C,261.626,0.000,0.000
Recursive just intonation,G#/Ab,C,260.604,-6.776,-6.776
12-TET,G#/Ab,D#/Eb,311.127,0.000,2.487
Fixed C just intonation,G#/Ab,D#/Eb,310.680,-2.487,0.000
Recursive just intonation,G#/Ab,D#/Eb,312.724,8.865,11.352
12-TET,C,C,130.813,0.000,0.000
Fixed C just intonation,C,C,130.813,0.000,0.000
Recursive just intonation,C,C,130.813,0.000,0.000
12-TET,C,E,164.814,0.000,13.686
Fixed C just intonation,C,E,163.516,-13.686,0.000
Recursive just intonation,C,E,163.516,-13.686,0.000
12-TET,C,G,195.998,0.000,-1.955
Fixed C just intonation,C,G,196.219,1.955,0.000
Recursive just intonation,C,G,196.219,1.955,0.000
12-TET,F,F,174.614,0.000,1.955
Fixed C just intonation,F,F,174.417,-1.955,0.000
Recursive just intonation,F,F,174.417,-1.955,0.000
12-TET,F,A,220.000,0.000,-5.865
Fixed C just intonation,F,A,220.747,5.865,0.000
Recursive just intonation,F,A,218.021,-15.641,-21.506
12-TET,F,C,261.626,0.000,0.000
Fixed C just intonation,F,C,261.626,0.000,0.000
Recursive just intonation,F,C,261.626,0.000,0.000
12-TET,A,A,220.000,0.000,-5.865
Fixed C just intonation,A,A,220.747,5.865,0.000
Recursive just intonation,A,A,220.747,5.865,0.000
12-TET,A,C#/Db,277.183,0.000,-4.955
Fixed C just intonation,A,C#/Db,277.977,4.955,0.000
Recursive just intonation,A,C#/Db,275.933,-7.821,-12.777
12-TET,A,E,329.628,0.000,13.686
Fixed C just intonation,A,E,327.032,-13.686,0.000
Recursive just intonation,A,E,331.120,7.820,21.506
12-TET,D,D,146.832,0.000,-3.910
Fixed C just intonation,D,D,147.164,3.910,0.000
Recursive just intonation,D,D,147.164,3.910,0.000
12-TET,D,F#/Gb,184.997,0.000,9.776
Fixed C just intonation,D,F#/Gb,183.955,-9.776,0.000
Recursive just intonation,D,F#/Gb,183.955,-9.776,0.000
12-TET,D,A,220.000,0.000,-5.865
Fixed C just intonation,D,A,220.747,5.865,0.000
Recursive just intonation,D,A,220.747,5.865,0.000
12-TET,G7,G,195.998,0.000,-1.955
Fixed C just intonation,G7,G,196.219,1.955,0.000
Recursive just intonation,G7,G,196.219,1.955,0.000
12-TET,G7,B,246.942,0.000,11.731
Fixed C just intonation,G7,B,245.274,-11.731,0.000
Recursive just intonation,G7,B,245.274,-11.731,0.000
12-TET,G7,D,293.665,0.000,-3.910
Fixed C just intonation,G7,D,294.329,3.910,0.000
Recursive just intonation,G7,D,294.329,3.910,0.000
12-TET,G7,F,349.228,0.000,1.955
Fixed C just intonation,G7,F,348.834,-1.955,0.000
Recursive just intonation,G7,F,349.515,1.423,3.378
12-TET,C,C,130.813,0.000,0.000
Fixed C just intonation,C,C,130.813,0.000,0.000
Recursive just intonation,C,C,130.813,0.000,0.000
12-TET,C,E,164.814,0.000,13.686
Fixed C just intonation,C,E,163.516,-13.686,0.000
Recursive just intonation,C,E,163.516,-13.686,0.000
12-TET,C,G,195.998,0.000,-1.955
Fixed C just intonation,C,G,196.219,1.955,0.000
Recursive just intonation,C,G,196.219,1.955,0.000
12-TET,E,E,164.814,0.000,13.686
Fixed C just intonation,E,E,163.516,-13.686,0.000
Recursive just intonation,E,E,163.516,-13.686,0.000
12-TET,E,G#/Ab,207.652,0.000,-6.910
Fixed C just intonation,E,G#/Ab,208.483,6.910,0.000
Recursive just intonation,E,G#/Ab,204.395,-27.373,-34.283
12-TET,E,B,246.942,0.000,11.731
Fixed C just intonation,E,B,245.274,-11.731,0.000
Recursive just intonation,E,B,245.274,-11.731,0.000
12-TET,F,F,174.614,0.000,1.955
Fixed C just intonation,F,F,174.417,-1.955,0.000
Recursive just intonation,F,F,174.417,-1.955,0.000
12-TET,F,A,220.000,0.000,-5.865
Fixed C just intonation,F,A,220.747,5.865,0.000
Recursive just intonation,F,A,218.021,-15.641,-21.506
12-TET,F,C,261.626,0.000,0.000
Fixed C just intonation,F,C,261.626,0.000,0.000
Recursive just intonation,F,C,261.626,0.000,0.000
12-TET,C,C,130.813,0.000,0.000
Fixed C just intonation,C,C,130.813,0.000,0.000
Recursive just intonation,C,C,130.813,0.000,0.000
12-TET,C,E,164.814,0.000,13.686
Fixed C just intonation,C,E,163.516,-13.686,0.000
Recursive just intonation,C,E,163.516,-13.686,0.000
12-TET,C,G,195.998,0.000,-1.955
Fixed C just intonation,C,G,196.219,1.955,0.000
Recursive just intonation,C,G,196.219,1.955,0.000
Binary file not shown.
Binary file not shown.
Binary file not shown.
98 changes: 29 additions & 69 deletions content/notes/math_stuff.css
Original file line number Diff line number Diff line change
Expand Up @@ -120,11 +120,7 @@
}

.bayes-solver-result[data-bayes-role="numerator"] {
background: linear-gradient(
135deg,
#ffbc3f52 0 50%,
#fe7fb352 50% 100%
);
background: linear-gradient(135deg, #ffbc3f52 0 50%, #fe7fb352 50% 100%);
border-color: #ffc668;
box-shadow: inset 0 0 0 1px #fe7fb380;
}
Expand Down Expand Up @@ -182,34 +178,47 @@
font-weight: 700;
}

.bayes-phrase {
font-weight: 700;
}

.bayes-solver-field[data-bayes-role="posterior"] .bayes-solver-symbol,
.bayes-solver-result[data-bayes-role="posterior"] .bayes-solver-symbol,
.bayes-term[data-bayes-role="posterior"] {
.bayes-term[data-bayes-role="posterior"],
.bayes-phrase[data-bayes-role="posterior"] {
color: var(--bayes-posterior);
}

.bayes-solver-field[data-bayes-role="likelihood"] .bayes-solver-symbol,
.bayes-solver-result[data-bayes-role="likelihood"] .bayes-solver-symbol,
.bayes-term[data-bayes-role="likelihood"] {
.bayes-term[data-bayes-role="likelihood"],
.bayes-phrase[data-bayes-role="likelihood"] {
color: var(--bayes-likelihood);
}

.bayes-solver-field[data-bayes-role="prior"] .bayes-solver-symbol,
.bayes-solver-result[data-bayes-role="prior"] .bayes-solver-symbol,
.bayes-term[data-bayes-role="prior"] {
.bayes-term[data-bayes-role="prior"],
.bayes-phrase[data-bayes-role="prior"] {
color: var(--bayes-prior);
}

.bayes-solver-field[data-bayes-role="evidence"] .bayes-solver-symbol,
.bayes-solver-result[data-bayes-role="evidence"] .bayes-solver-symbol,
.bayes-term[data-bayes-role="evidence"] {
.bayes-term[data-bayes-role="evidence"],
.bayes-phrase[data-bayes-role="evidence"] {
color: var(--bayes-evidence);
}

.bayes-term[data-bayes-role="neutral"] {
.bayes-term[data-bayes-role="neutral"],
.bayes-phrase[data-bayes-role="neutral"] {
color: #4d8dc3;
}

.bayes-phrase[data-bayes-role="numerator"] {
color: #ffc668;
}

.bayes-event-field .bayes-solver-symbol {
color: #4d8dc3;
}
Expand Down Expand Up @@ -278,11 +287,7 @@
}

.bayes-solver-result[data-bayes-role="numerator"] strong {
background: linear-gradient(
135deg,
#ffbc3f33 0 50%,
#fe7fb333 50% 100%
);
background: linear-gradient(135deg, #ffbc3f33 0 50%, #fe7fb333 50% 100%);
border-color: #ffc668;
}

Expand Down Expand Up @@ -325,67 +330,22 @@
width: fit-content;
}

.bayes-latex {
background: color-mix(in srgb, var(--bayes-posterior) 18%, var(--bayes-card));
border: 1px solid var(--bayes-posterior);
border-radius: 4px;
box-shadow: inset 0 0 0 1px #0466e780;
display: grid;
gap: 0.55rem;
padding: 0.7rem;
}

.bayes-latex-heading {
.bayes-solution {
align-items: center;
display: flex;
flex-wrap: wrap;
gap: 0.55rem;
justify-content: center;
padding: 0.35rem 0;
}

.bayes-latex-heading span:first-child {
color: var(--bayes-posterior);
font-family: var(--codeFont);
font-weight: 700;
}

.bayes-latex-heading button {
background: color-mix(in srgb, var(--bayes-posterior) 30%, var(--light));
border: 1px solid var(--bayes-posterior);
border-radius: 4px;
color: var(--dark);
cursor: pointer;
font: inherit;
min-height: 2rem;
padding: 0.25rem 0.6rem;
}

.bayes-latex-rendered {
.bayes-solution-equation {
max-width: 100%;
min-width: 0;
overflow-x: auto;
padding: 0.4rem 0;
padding: 0.25rem 0;
}

.bayes-latex-rendered .katex-display {
margin: 0;
}

.bayes-latex-output {
background: color-mix(in srgb, var(--bayes-posterior) 18%, var(--light));
border: 1px solid var(--bayes-posterior);
border-radius: 4px;
box-sizing: border-box;
color: var(--dark);
font-family: var(--codeFont);
font-size: 0.82rem;
line-height: 1.45;
min-height: 10rem;
padding: 0.6rem;
resize: vertical;
width: 100%;
}

.bayes-latex-status {
color: #4d8dc3;
min-height: 1.25rem;
.bayes-rendered-math {
margin: 0 auto;
}

.bayes-solver-error {
Expand Down
Loading