some more things
This commit is contained in:
@ -1255,6 +1255,17 @@ Ziffers supports all the keys and scales. Keys can be defined by using [scientif
|
|||||||
| Ionalian | <icode>1312122</icode> |
|
| Ionalian | <icode>1312122</icode> |
|
||||||
| ... | And it goes on for **1490** scales |
|
| ... | And it goes on for **1490** scales |
|
||||||
|
|
||||||
|
${makeExample(
|
||||||
|
"What the hell is the Modimic scale?",
|
||||||
|
`
|
||||||
|
z1("s (0,8) 0 0 (0,5) 0 0").sound('sine')
|
||||||
|
.scale('modimic').fmi(2).fmh(2).room(0.5)
|
||||||
|
.size(0.5).sustain(0.1) .delay(0.5)
|
||||||
|
.delay(0.125).delayfb(0.25).out();
|
||||||
|
mod(.5) :: snd(['kick', 'hat'].div(.5)).out()
|
||||||
|
`, true)}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<icode></icode>
|
<icode></icode>
|
||||||
|
|
||||||
@ -1274,23 +1285,37 @@ You can also use more traditional <a href="https://ianring.com/musictheory/scale
|
|||||||
| Blues minor | <icode>321132</icode> |
|
| Blues minor | <icode>321132</icode> |
|
||||||
| Blues major | <icode>211323</icode> |
|
| Blues major | <icode>211323</icode> |
|
||||||
|
|
||||||
|
|
||||||
|
${makeExample(
|
||||||
|
"Let's fall back to a classic blues minor scale",
|
||||||
|
`
|
||||||
|
z1("s (0,8) 0 0 (0,5) 0 0").sound('sine')
|
||||||
|
.scale('blues minor').fmi(2).fmh(2).room(0.5)
|
||||||
|
.size(0.5).sustain(0.25).delay(0.25)
|
||||||
|
.delay(0.25).delayfb(0.5).out();
|
||||||
|
mod(1, 1.75) :: snd(['kick', 'hat'].div(1)).out()
|
||||||
|
`, true)}
|
||||||
|
|
||||||
Microtonal scales can be defined using <a href="https://www.huygens-fokker.org/scala/scl_format.html" target="_blank">Scala format</a> or by extended notation defined by Sevish <a href="https://sevish.com/scaleworkshop/" target="_blank">Scale workshop</a>, for example:
|
Microtonal scales can be defined using <a href="https://www.huygens-fokker.org/scala/scl_format.html" target="_blank">Scala format</a> or by extended notation defined by Sevish <a href="https://sevish.com/scaleworkshop/" target="_blank">Scale workshop</a>, for example:
|
||||||
|
|
||||||
- **Young:** 106. 198. 306.2 400.1 502. 604. 697.9 806.1 898.1 1004.1 1102. 1200.
|
- **Young:** 106. 198. 306.2 400.1 502. 604. 697.9 806.1 898.1 1004.1 1102. 1200.
|
||||||
- **Wendy carlos:** 17/16 9/8 6/5 5/4 4/3 11/8 3/2 13/8 5/3 7/4 15/8 2/1
|
- **Wendy carlos:** 17/16 9/8 6/5 5/4 4/3 11/8 3/2 13/8 5/3 7/4 15/8 2/1
|
||||||
|
|
||||||
## Methods
|
|
||||||
|
|
||||||
Ziffers numbered methods **(z0-z16)** can be used to parse and play patterns. Each method is individually cached and can be used to play patterns simultaniously.
|
${makeExample(
|
||||||
|
"Wendy Carlos, here we go!",
|
||||||
|
`
|
||||||
|
z1("s ^ (0,8) 0 0 _ (0,5) 0 0").sound('sine')
|
||||||
|
.scale('17/16 9/8 6/5 5/4 4/3 11/8 3/2 13/8 5/3 7/4 15/8 2/1').fmi(2).fmh(2).room(0.5)
|
||||||
|
.size(0.5).sustain(0.15).delay(0.1)
|
||||||
|
.delay(0.25).delayfb(0.5).out();
|
||||||
|
mod(1, 1.75) :: snd(['kick', 'hat'].div(1)).out()
|
||||||
|
`, true)}
|
||||||
|
|
||||||
## Chaining and options
|
## Synchronization
|
||||||
|
|
||||||
|
Ziffers numbered methods **(z0-z16)** can be used to parse and play patterns. Each method is individually cached and can be used to play multiple patterns simultaneously. They can be synchronized together by using a **cue** system. By default, each Ziffers expression will have a different duration. This system is thus necessary to make everything fit together in a loop-based environment like Topos.
|
||||||
|
|
||||||
Ziffers patterns can be chained to <icode>sound()</icode> and <icode>midi()</icode> to produce different outputs. Chaining is often alternative for passing in options, which can be more efficient. Methods available for chaining are:
|
|
||||||
* <icode>key()</icode> - for changing key
|
|
||||||
* <icode>scale()</icode> - for chaning scale
|
|
||||||
* <icode>octave()</icode> - for changing octave
|
|
||||||
* <icode>sound()</icode> - for outputting pattern as sounds (See Sound)
|
|
||||||
* <icode>midi()</icode> - for outputting pattern as midi (See Midi)
|
|
||||||
|
|
||||||
## Examples
|
## Examples
|
||||||
|
|
||||||
@ -1756,6 +1781,16 @@ Topos is made to be controlled entirely with a keyboard. It is recommanded to st
|
|||||||
const chaining: string = `
|
const chaining: string = `
|
||||||
# Chaining
|
# Chaining
|
||||||
|
|
||||||
|
|
||||||
|
## Ziffers
|
||||||
|
Ziffers patterns can be chained to <icode>sound()</icode> and <icode>midi()</icode> to produce different outputs. Chaining is often alternative for passing in options, which can be more efficient. Methods available for chaining are:
|
||||||
|
* <icode>key()</icode> - for changing key
|
||||||
|
* <icode>scale()</icode> - for chaning scale
|
||||||
|
* <icode>octave()</icode> - for changing octave
|
||||||
|
* <icode>sound()</icode> - for outputting pattern as sounds (See Sound)
|
||||||
|
* <icode>midi()</icode> - for outputting pattern as midi (See Midi)
|
||||||
|
|
||||||
|
|
||||||
`;
|
`;
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
|||||||
Reference in New Issue
Block a user