Compare commits

...

3 Commits

Author SHA1 Message Date
Mehmet Ali Akmanalp bb347badbd Format fix 2025-03-06 13:07:53 +03:00
Mehmet Ali "Mali" Akmanalp b135d3dc63 Add elongation _ 2025-03-06 03:02:43 +03:00
Mehmet Ali "Mali" Akmanalp 297712e7ef Add degradation to mini notation page 2025-03-06 02:51:08 +03:00
+17 -2
View File
@@ -8,7 +8,7 @@ import { JsDoc } from '../../docs/JsDoc';
# Mini-notation
Just like [Tidal Cycles](https://tidalcycles.org/), Strudel uses a so called "Mini-Notation", which is a custom language that is designed for writing rhythmic patterns using little amounts of text.
Just like [Tidal Cycles](https://tidalcycles.org/docs/reference/mini_notation/), Strudel uses a so called "Mini-Notation", which is a custom language that is designed for writing rhythmic patterns using little amounts of text.
## Note
@@ -156,7 +156,11 @@ But to play multiple chords in a sequence, we have to wrap them in brackets:
## Elongation
With the "@" symbol, we can specify temporal "weight" of a sequence child:
With the "\_" symbol, we can manually extend the duration of an event:
<MiniRepl client:idle tune={`note("<[g3,b3,e4] _ _ [a3,c3,e4] [b3,d3,f#4]>*2")`} punchcard />
With the "@" symbol, we can do the same thing more conveniently by specifying the temporal "weight" of a sequence child:
<MiniRepl client:idle tune={`note("<[g3,b3,e4]@2 [a3,c3,e4] [b3,d3,f#4]>*2")`} punchcard />
@@ -168,6 +172,16 @@ Using "!" we can repeat without speeding up:
<MiniRepl client:idle tune={`note("<[g3,b3,e4]!2 [a3,c3,e4] [b3,d3,f#4]>*2")`} punchcard />
## Degradation
Using "?" we can randomly drop events from a pattern while preserving their time slot:
<MiniRepl client:idle tune={`note("<[g3,b3,e4]? [a3,c3,e4]? [b3,d3,f#4]>*2")`} punchcard />
We can include a number after the "?" to represent the probability of being dropped, otherwise defaulting to 0.5:
<MiniRepl client:idle tune={`note("<[g3,b3,e4]? [a3,c3,e4]?0.9 [b3,d3,f#4]>*2")`} punchcard />
## Mini-notation review
To recap what we've learned so far, compare the following patterns:
@@ -179,6 +193,7 @@ To recap what we've learned so far, compare the following patterns:
<MiniRepl client:idle tune={`note("<[g3,b3,e4] _ [a3,c3,e4] [b3,d3,f#4]>*2")`} />
<MiniRepl client:idle tune={`note("<[g3,b3,e4]@2 [a3,c3,e4] [b3,d3,f#4]>*2")`} />
<MiniRepl client:idle tune={`note("<[g3,b3,e4]!2 [a3,c3,e4] [b3,d3,f#4]>*2")`} />
<MiniRepl client:idle tune={`note("<[g3,b3,e4]?0.9 [a3,c3,e4] [b3,d3,f#4]>*2")`} />
## Euclidian rhythms