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 /5-polyrhythms/main.ua | |
| parent | df2791adfcd5c2173102a3e11125d80951de6ff3 (diff) | |
| download | uiua-creative-coding-fb5fcff943fd0e4d019551029b13086b7423c734.tar.gz uiua-creative-coding-fb5fcff943fd0e4d019551029b13086b7423c734.zip | |
Add polyrhythms music generation
Diffstat (limited to '5-polyrhythms/main.ua')
| -rw-r--r-- | 5-polyrhythms/main.ua | 29 |
1 files changed, 29 insertions, 0 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 |
