docs(website/learn/xen): add tune() examples
This commit is contained in:
parent
cbb4207bab
commit
31c1450edc
1 changed files with 64 additions and 0 deletions
64
website/src/pages/learn/xen.mdx
Normal file
64
website/src/pages/learn/xen.mdx
Normal file
|
|
@ -0,0 +1,64 @@
|
||||||
|
---
|
||||||
|
title: Xen Harmonic Functions
|
||||||
|
layout: ../../layouts/MainLayout.astro
|
||||||
|
---
|
||||||
|
|
||||||
|
import { MiniRepl } from '../../docs/MiniRepl';
|
||||||
|
import { JsDoc } from '../../docs/JsDoc';
|
||||||
|
|
||||||
|
# Xen Harmonic Functions
|
||||||
|
|
||||||
|
These functions allow the use of scales other than your typical chromatic 12 based ones.
|
||||||
|
|
||||||
|
### tune(scale)
|
||||||
|
|
||||||
|
<JsDoc client:idle name="tune" h={0} />
|
||||||
|
|
||||||
|
Here's an example of how to configure a basic hexany scale:
|
||||||
|
|
||||||
|
<MiniRepl
|
||||||
|
client:idle
|
||||||
|
tune={`"0 1 2 3 4 5".tune("hexany15").mul("220").freq()`}
|
||||||
|
/>
|
||||||
|
|
||||||
|
Try other scales like `hexany1`, `iraq`, `gumbeng`, `gunkali`, or `tranh3`
|
||||||
|
|
||||||
|
For a full list of available scales from tunejs, see http://abbernie.github.io/tune/scales.html
|
||||||
|
|
||||||
|
You can set your root to be a particular note with `getFreq`
|
||||||
|
|
||||||
|
<MiniRepl
|
||||||
|
client:idle
|
||||||
|
tune={`"4 8 9 10 - - 5 7 9 11 - -".tune("tranh3")
|
||||||
|
.mul(getFreq('c3'))
|
||||||
|
.freq().clip(.5).room(1)`}
|
||||||
|
/>
|
||||||
|
|
||||||
|
Some tunings become more pronounced with a longer reverb decay:
|
||||||
|
|
||||||
|
<MiniRepl
|
||||||
|
client:idle
|
||||||
|
tune={`"<[5 6 8 10] - [5 7 9 12] -> -".tune("gumbeng")
|
||||||
|
.mul(getFreq('c3'))
|
||||||
|
.freq().clip(.8).room("3:10").rdim(10000).rfade(5)`}
|
||||||
|
/>
|
||||||
|
|
||||||
|
Additionally, you can combo this with `fmap` so that the base note changes:
|
||||||
|
|
||||||
|
<MiniRepl
|
||||||
|
client:idle
|
||||||
|
tune={`"9 11 12 10 - - -".tune("gunkali")
|
||||||
|
.mul("<c3 c3 a3 d#3>".fmap(getFreq))
|
||||||
|
.freq().legato("2 .7").room("1:15").rdim(8500).rlp(14000).rfade(8)`}
|
||||||
|
/>
|
||||||
|
|
||||||
|
Combining this with various polyrhythm tricks can become very evocative:
|
||||||
|
|
||||||
|
<MiniRepl
|
||||||
|
client:idle
|
||||||
|
tune={`"<[0 3 1 -] [-1 4 2 8]> ~ ~,<-4 -5>"
|
||||||
|
.transpose(4)
|
||||||
|
.tune("iraq")
|
||||||
|
.mul("<c3 d3 c#3>".fmap(getFreq))
|
||||||
|
.freq().clip(.5).room(1).rfade(9)`}
|
||||||
|
/>
|
||||||
Loading…
Add table
Add a link
Reference in a new issue