diff options
| author | Akshay Nair <phenax5@gmail.com> | 2025-02-15 13:05:36 +0530 |
|---|---|---|
| committer | Akshay Nair <phenax5@gmail.com> | 2025-02-15 13:19:44 +0530 |
| commit | fb5fcff943fd0e4d019551029b13086b7423c734 (patch) | |
| tree | ed6e2971022561964e00db576fd5e5b4c79e905b | |
| parent | df2791adfcd5c2173102a3e11125d80951de6ff3 (diff) | |
| download | uiua-creative-coding-fb5fcff943fd0e4d019551029b13086b7423c734.tar.gz uiua-creative-coding-fb5fcff943fd0e4d019551029b13086b7423c734.zip | |
Add polyrhythms music generation
| -rw-r--r-- | 5-polyrhythms/main.ua | 29 | ||||
| -rw-r--r-- | 5-polyrhythms/output.mp4 | bin | 0 -> 380215 bytes | |||
| -rw-r--r-- | 5-polyrhythms/output.wav | bin | 0 -> 8467268 bytes | |||
| -rw-r--r-- | README.md | 7 |
4 files changed, 35 insertions, 1 deletions
diff --git a/5-polyrhythms/main.ua b/5-polyrhythms/main.ua new file mode 100644 index 0000000..7e184ce --- /dev/null +++ b/5-polyrhythms/main.ua @@ -0,0 +1,29 @@ +Dn ← 0.6 # duration of a Ch in seconds +Bar ← 6 # duration of a bar in seconds +V ← 0.2 # volume +S ← &asr # sample rate + +JoinB ← ∧(⊂°□):[] ⇌ +Silence ← ×0⇡⌊×S +Fade ← × ⇌ ÷⟜(⇡)⧻. +Tone ← ×V /+∿ ⊞× : ×τ ÷⟜(⇡⌊×)S +MkNotes ← JoinB ≡(□ ⊂ (Fade Tone Dn °□⊣:) Silence°□⊢.) + +ChRoot ← ∵({(↥0 -Dn ÷:⊙: Bar) [330]}◌) ⇡. +ChN₁ ← ∵({(↥0 -Dn ÷:⊙: Bar) [415]}◌) ⇡. +ChN₂ ← ∵({(↥0 -Dn ÷:⊙: Bar) [220]}◌) ⇡. +ChN₃ ← ∵({(↥0 -Dn ÷:⊙: Bar) [247]}◌) ⇡. +# [E, G#, B, D] +Ch₁ ← ∵({(↥0 -Dn ÷:⊙: Bar) [330 415 493 293]}◌) ⇡. +# [A, C#, E, G] +Ch₂ ← ∵({(↥0 -Dn ÷:⊙: Bar) [220 277 324 392]}◌) ⇡. +# [B, D#, F#, A] +Ch₃ ← ∵({(↥0 -Dn ÷:⊙: Bar) [247 311 370 440]}◌) ⇡. + +Bar₁ ← ++ (MkNotes ChRoot 10) (MkNotes ChN₂ 6) (MkNotes Ch₂ 4) +Bar₂ ← ++ (MkNotes ChRoot 10) (MkNotes ChN₃ 6) (MkNotes Ch₃ 4) +Bar₃ ← ++ (MkNotes ChRoot 10) (MkNotes ChN₁ 6) (MkNotes Ch₁ 4) + +Samples ← ⊟. JoinB [Bar₁ Bar₂ Bar₃ Bar₂] +&ap Samples +&fwa "./5-polyrhythms/output.wav" audio "wav" S Samples diff --git a/5-polyrhythms/output.mp4 b/5-polyrhythms/output.mp4 Binary files differnew file mode 100644 index 0000000..cfcf6d3 --- /dev/null +++ b/5-polyrhythms/output.mp4 diff --git a/5-polyrhythms/output.wav b/5-polyrhythms/output.wav Binary files differnew file mode 100644 index 0000000..64274e6 --- /dev/null +++ b/5-polyrhythms/output.wav @@ -32,7 +32,12 @@ <img src="4-im-a-sinner/output-400.gif?raw=true" /> </a> </td> - <td width="50%" valign="top"></td> + <td width="50%" valign="top"> + <h3> + <a href="5-polyrhythms/main.ua">Polyrhythms music generation</a> + </h3> + https://github.com/phenax/uiua-playground/raw/refs/heads/main/5-polyrhythms/output.mp4 + </td> </tr> </table> |
