add precisions about audio samples
This commit is contained in:
42
README.md
42
README.md
@ -3,8 +3,9 @@
|
|||||||
This repository is a collection of methods and hacks that I found to make live
|
This repository is a collection of methods and hacks that I found to make live
|
||||||
coding easier on **SuperCollider**. A secondary goal is to make that setup easy
|
coding easier on **SuperCollider**. A secondary goal is to make that setup easy
|
||||||
to install on other computers. This Quark is not bringing a lot of new features
|
to install on other computers. This Quark is not bringing a lot of new features
|
||||||
and it twists the langauge in a way that is highly personal. Internally, it
|
and it twists the language in a way that is highly personal. Internally, it
|
||||||
relies a lot on **JITLib**, **Patterns** and **NodeProxies**.
|
relies a lot on **JITLib**, **Patterns** and **NodeProxies**. It truly feels
|
||||||
|
like a collection of tips and hacks found on the internet.
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
@ -15,9 +16,7 @@ Quarks.install("https://github.com/Bubobubobubobubo/BuboQuark")
|
|||||||
To make use of the existing synth definitions, you will have to install the
|
To make use of the existing synth definitions, you will have to install the
|
||||||
[mi-Ugens](https://github.com/v7b1/mi-UGens), a collection of **SuperCollider**
|
[mi-Ugens](https://github.com/v7b1/mi-UGens), a collection of **SuperCollider**
|
||||||
UGens taken from Mutable Instruments module designs. Note that it is also
|
UGens taken from Mutable Instruments module designs. Note that it is also
|
||||||
preferable to install [sc3-plugins](https://github.com/supercollider/sc3-plugins), the official **UGen** extension suite for **SuperCollider**.
|
preferable to install [sc3-plugins](https://github.com/supercollider/sc3-plugins), the official **UGen** extension suite for **SuperCollider**. All the other dependencies will be installed automatically when installing the
|
||||||
|
|
||||||
All the other dependencies will be installed automatically when installing the
|
|
||||||
**Quark**.
|
**Quark**.
|
||||||
|
|
||||||
## How to use BuboQuark?
|
## How to use BuboQuark?
|
||||||
@ -151,3 +150,36 @@ There is also `.fxin` and `.wet` functions, shortcuts for the `\filter` and
|
|||||||
`\filterIn` NodeProxy mechanisms. I have also added some rather shady functions
|
`\filterIn` NodeProxy mechanisms. I have also added some rather shady functions
|
||||||
that automatically pick up a slot for a specific fx: `fx1`, `fx2`, up to `fx9`.
|
that automatically pick up a slot for a specific fx: `fx1`, `fx2`, up to `fx9`.
|
||||||
|
|
||||||
|
|
||||||
|
## Managing audio samples
|
||||||
|
|
||||||
|
I use a lot of samples in my live coding sessions. I have created a few helpers
|
||||||
|
to deal with audio samples without having to think about allocating buffers and
|
||||||
|
cleaning up. Everything relies on [SAMP](https://gist.github.com/scztt/73a2ae402d9765294ae8f72979d1720e), a mechanism that I borrowed to scztt (Scott Carver).
|
||||||
|
|
||||||
|
If your audio sample bank path is set right, you will have access to your bank
|
||||||
|
with lazy loading on by default not to eat all your RAM:
|
||||||
|
|
||||||
|
```supercollider
|
||||||
|
Bank.list // List of all the available sample folders
|
||||||
|
Bank('a/*') // List of all the samples in the 'a' folder
|
||||||
|
Bank('a/*')[0].play; // Playing the first sample in the folder
|
||||||
|
```
|
||||||
|
|
||||||
|
This is great. I also added some mechanisms to automatically feed a sample when
|
||||||
|
using patterns. That way, you don't have to type the `Bank` part all the time
|
||||||
|
and can stay focused on your improvisation:
|
||||||
|
|
||||||
|
```supercollider
|
||||||
|
[
|
||||||
|
"using_samples",
|
||||||
|
i: "s" // s is the default sampler
|
||||||
|
sp: "kick", // Give a string or symbol (pattern or not)
|
||||||
|
nb: 0 // Give a number (can be pattern too)
|
||||||
|
].pat.play
|
||||||
|
```
|
||||||
|
|
||||||
|
Note that there is no optional argument here. You need `sp` and `nb` for it to
|
||||||
|
work. You can use these arguments when using the abbreviated syntax for `Pbind`
|
||||||
|
but not for regular `Pbind`. In that case, you will need to use the good old
|
||||||
|
`buf: Bank('a/*')[0]` syntax.
|
||||||
|
|||||||
Reference in New Issue
Block a user