From 1504f1ae2f1bc5005881ba80f51397320c8eaced Mon Sep 17 00:00:00 2001 From: "C.K. Rooke" Date: Sun, 10 Dec 2023 02:49:28 +0000 Subject: init simple practice toy --- exp/practool.html | 18 ++++++++++++++++++ exp/practool.js | 20 ++++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 exp/practool.html create mode 100644 exp/practool.js (limited to 'exp') diff --git a/exp/practool.html b/exp/practool.html new file mode 100644 index 0000000..3317e5e --- /dev/null +++ b/exp/practool.html @@ -0,0 +1,18 @@ + + + + + + + practice session tools + + +

practice session tools

+ +

random scale

+

+ + +

(../)

+ + diff --git a/exp/practool.js b/exp/practool.js new file mode 100644 index 0000000..782b992 --- /dev/null +++ b/exp/practool.js @@ -0,0 +1,20 @@ +let body = document.body; +let doc = {}; +body.querySelectorAll('[id]').forEach(e => doc[e.id] = e); + +let rand = x => Math.floor(Math.random() * x); +let arand = a => a[rand(a.length)] + +let roots = [ + "A", "B", "C", "D", "E", "F", "G", + "A#", "C#", "D#", "F#", "G#", + "Ab", "Bb", "Db", "Eb", "Gb", +]; +let modes = [ + "major", + "natural minor", "harmonic minor", "melodic minor", +]; +let random_scale = () => `${arand(roots)} ${arand(modes)}`; + +doc.scale_btn.onclick = () => doc.scale.innerHTML = random_scale(); +doc.scale_btn.onclick(); -- cgit v1.2.3