Merge branch 'main' into uzu
This commit is contained in:
commit
28cd7c1681
186 changed files with 3188 additions and 2138 deletions
|
|
@ -14,7 +14,7 @@ These pages will introduce you to [Strudel](https://strudel.cc/), a web-based [l
|
|||
|
||||
# What is Strudel?
|
||||
|
||||
[Strudel](https://strudel.cc/) is a version of [Tidal Cycles](https://tidalcycles.org) written in [JavaScript](https://developer.mozilla.org/en-US/docs/Web/JavaScript), initiated by [Alex McLean](https://slab.org) and [Felix Roos](https://github.com/felixroos) in 2022.
|
||||
[Strudel](https://strudel.cc/) is a version of [Tidal Cycles](https://tidalcycles.org) written in [JavaScript](https://developer.mozilla.org/en-US/docs/Web/JavaScript), initiated by [Alex McLean](https://slab.org) and [Felix Roos](https://froos.cc/) in 2022.
|
||||
Tidal Cycles, also known as Tidal, is a language for [algorithmic pattern](https://algorithmicpattern.org), and though it is most commonly used for [making music](https://tidalcycles.org/docs/showcase), it can be used for any kind of pattern making activity, including [weaving](https://www.youtube.com/watch?v=TfEmEsusXjU).
|
||||
|
||||
Tidal was first implemented as a library written in the [Haskell](https://www.haskell.org/) functional programming language, and by itself it does not make any sound.
|
||||
|
|
@ -81,7 +81,7 @@ s("bd,[~ <sd!3 sd(3,4,2)>],hh*8") // drums
|
|||
Please note that this project is still in its experimental state.
|
||||
In the future, parts of it might change significantly.
|
||||
This tutorial is also far from complete.
|
||||
You can contribute to it clicking 'Edit this page' in the top right, or by visiting the [Strudel GitHub page](https://github.com/tidalcycles/strudel/).
|
||||
You can contribute to it clicking 'Edit this page' in the top right, or by visiting the [Strudel GitHub page](https://codeberg.org/uzu/strudel/).
|
||||
|
||||
# What's next?
|
||||
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ import { JsDoc } from '../../docs/JsDoc';
|
|||
|
||||
# MIDI, OSC and MQTT
|
||||
|
||||
Normally, Strudel is used to pattern sound, using its own '[web audio](https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API)'-based synthesiser called [SuperDough](https://github.com/tidalcycles/strudel/tree/main/packages/superdough).
|
||||
Normally, Strudel is used to pattern sound, using its own '[web audio](https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API)'-based synthesiser called [SuperDough](https://codeberg.org/uzu/strudel/src/branch/main/packages/superdough).
|
||||
|
||||
It is also possible to pattern other things with Strudel, such as software and hardware synthesisers with MIDI, other software using Open Sound Control/OSC (including the [SuperDirt](https://github.com/musikinformatik/SuperDirt/) synthesiser commonly used with Strudel's sibling [TidalCycles](https://tidalcycles.org/)), or the MQTT 'internet of things' protocol.
|
||||
|
||||
|
|
@ -184,7 +184,7 @@ To get SuperDirt to work with Strudel, you need to
|
|||
1. install SuperCollider + sc3 plugins, see [Tidal Docs](https://tidalcycles.org/docs/) (Install Tidal) for more info.
|
||||
2. install SuperDirt, or the [StrudelDirt](https://github.com/daslyfe/StrudelDirt) fork which is optimised for use with Strudel
|
||||
3. install [node.js](https://nodejs.org/en/)
|
||||
4. download [Strudel Repo](https://github.com/tidalcycles/strudel/) (or git clone, if you have git installed)
|
||||
4. download [Strudel Repo](https://codeberg.org/uzu/strudel/) (or git clone, if you have git installed)
|
||||
5. run `pnpm i` in the strudel directory
|
||||
6. run `pnpm run osc` to start the osc server, which forwards OSC messages from Strudel REPL to SuperCollider
|
||||
|
||||
|
|
|
|||
|
|
@ -18,8 +18,6 @@ You can optionally add some music metadata in your Strudel code, by using tags i
|
|||
|
||||
Like other comments, those are ignored by Strudel, but it can be used by other tools to retrieve some information about the music.
|
||||
|
||||
It is for instance used by the [swatch tool](https://github.com/tidalcycles/strudel/tree/main/my-patterns) to display pattern titles in the [examples page](https://strudel.cc/examples/).
|
||||
|
||||
## Alternative syntax
|
||||
|
||||
You can also use comment blocks:
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ To see which sample names are available, open the `sounds` tab in the [REPL](htt
|
|||
Note that only the sample maps (mapping names to URLs) are loaded initially, while the audio samples themselves are not loaded until they are actually played.
|
||||
This behaviour of loading things only when they are needed is also called `lazy loading`.
|
||||
While it saves resources, it can also lead to sounds not being audible the first time they are triggered, because the sound is still loading.
|
||||
[This might be fixed in the future](https://github.com/tidalcycles/strudel/issues/187)
|
||||
[This might be fixed in the future](https://codeberg.org/uzu/strudel/issues/187)
|
||||
|
||||
# Sound Banks
|
||||
|
||||
|
|
|
|||
|
|
@ -79,7 +79,7 @@ Instead of `+` / `add`, you can use any of the available operators of the first
|
|||
|
||||
## Function Compatibility
|
||||
|
||||
[This issue](https://github.com/tidalcycles/strudel/issues/31) tracks which Tidal functions are implemented in Strudel.
|
||||
[This issue](https://codeberg.org/uzu/strudel/issues/31) tracks which Tidal functions are implemented in Strudel.
|
||||
The list might not be 100% up to date and probably also misses some functions completely..
|
||||
Feel encouraged to search the source code for a function you're looking for.
|
||||
If you find a function that's not on the list, please tell!
|
||||
|
|
@ -89,7 +89,7 @@ If you find a function that's not on the list, please tell!
|
|||
As seen in the example, the `#` operator (shorthand for `|>`) is also just a function call in strudel.
|
||||
So `note "c5" # s "gtr"` becomes `note("c5").s('gtr')`.
|
||||
|
||||
[This file](https://github.com/tidalcycles/strudel/blob/main/packages/core/controls.mjs) lists all available control params.
|
||||
[This file](https://codeberg.org/uzu/strudel/src/branch/main/packages/core/controls.mjs) lists all available control params.
|
||||
Note that not all of those work in the Webaudio Output of Strudel.
|
||||
If you find a tidal control that's not on the list, please tell!
|
||||
|
||||
|
|
@ -107,11 +107,11 @@ You can find a [list of available effects here](/learn/effects/).
|
|||
### Sampler
|
||||
|
||||
Strudel's sampler supports [a subset](/learn/samples) of Superdirt's sampler.
|
||||
Also, samples are always loaded from a URL rather than from the disk, although [that might be possible in the future](https://github.com/tidalcycles/strudel/issues/118).
|
||||
Also, samples are always loaded from a URL rather than from the disk, although [that might be possible in the future](https://codeberg.org/uzu/strudel/issues/118).
|
||||
|
||||
## Evaluation
|
||||
|
||||
The Strudel REPL does not support [block based evaluation](https://github.com/tidalcycles/strudel/issues/34) yet.
|
||||
The Strudel REPL does not support [block based evaluation](https://codeberg.org/uzu/strudel/issues/34) yet.
|
||||
You can use labeled statements and `_` to mute:
|
||||
|
||||
<MiniRepl
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue