Skip to content

Commit

Permalink
make default patch more interesting
Browse files Browse the repository at this point in the history
  • Loading branch information
felixroos committed Jun 14, 2024
1 parent ccd8288 commit 61fad19
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 5 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ compilation strategy / graph format based on <https://noisecraft.app/>
## examples

- [acid machine + drum thing](https://felixroos.github.io/kabelsalat/#Ly8gbWF4aW1lY2IgLSB0aGUgbGl0dGxlIGFjaWQgbWFjaGluZSB0aGF0IGNvdWxkCi8vICsgbWF4aW1lY2IgZHJ1bSBtYWNoaW5lCi8vIGNvZGUgYnkgZnJvb3MKLy8gbm9pc2VjcmFmdCAtPiBrYWJlbHNhbGF0Ci8vIGh0dHBzOi8vbm9pc2VjcmFmdC5hcHAvNDcKCmxldCBraWNrID0gZ2F0ZSA9PiBnYXRlLmFkc3IoMCwuMTEsMCwuMTEpCiAgLmFwcGx5KGVudiA9PiBlbnYubXVsKGVudikKICAgIC5tdWwoMTU4KSAvLyBmcmVxdWVuY3kgcmFuZ2UKICAgIC5zaW5lKGVudikKICAgIC5kaXN0b3J0KC44NSkKICApCgpsZXQgc25hcmUgPSBnYXRlID0+IGdhdGUuYWRzcigwLC4xMSwuMSwuMSkKICAubXVsKG5vaXNlKCkpLmZpbHRlciguNzgsLjI5KQoKbGV0IGMgPSBjbG9jaygxNjApCmxldCBub3RlcyA9IGMuY2xvY2tkaXYoOCkKLnNlcSgyNywyNywzOSw1MSwwLDAsMjcsMjcsNDIsMjcsNDAsMCwzMSwzMSw1Niw1MSkKCmxldCBlbnYgPSBub3Rlcy5hZHNyKDAsLjMsLjM0LC41OSkKCm5vdGVzCi5hcHBseTIoaG9sZCkgLy8gaG9sZCBmcmVxIGFib3ZlIDBzCi5taWRpbm90ZSgpCi5zbGlkZSgKICBzaW5lKC4yMSkucmFuZ2UoMCwxKQopCi5wdWxzZSguNDgpCi5tdWwoZW52KQouZmlsdGVyKAogIGVudi5tdWwoc2luZSguMDkpLnJhbmdlKC41NSwxKSksIC8vIGN1dG9mZgogIHNpbmUoLjIyKS5yYW5nZSgwLC4zNSkgLy8gcmVzCikKLmRpc3RvcnQoCiAgc2luZSguMTgpLnJhbmdlKDAsLjg1KQopCi5tdWwoMC41KQoubXVsKGMuY2xvY2tkaXYoMTYpLnNlcSguMjUsMSkpIC8vIHNpZGVjaGFpbgouYWRkKGMuY2xvY2tkaXYoMzIpLnNlcSgxLDEpLmFwcGx5KGtpY2spKQouYWRkKGMuY2xvY2tkaXYoMzIpLnNlcSgwLDEpLmFwcGx5KHNuYXJlKSkKLm91dCgpCg==)
- [plucky feedback delay](https://felixroos.github.io/kabelsalat/#bGV0IGZyZXEgPSBjbG9jaygxNTApLmNsb2NrZGl2KDMyKQouc2VxKDY0LDAsMCw2NywwLDAsNjIsMCkKCmxldCBlbnYgPSBmcmVxLmFkc3IoLjAxLHNpbmUoLjEpLnJhbmdlKC4xLC4zKSwuNSkubXVsKC43NSkKCmZyZXEuYXBwbHkyKGhvbGQpCgoubWlkaW5vdGUoKQouc2F3KC40KQouZmlsdGVyKAogIHNpbmUoLjEpLnJhbmdlKC43LC44KS5tdWwoZW52KSwgCiAgLy9lbnYuZGl2KDIpCikKLy8uZGlzdG9ydChzaW5lKC4wMikucmFuZ2UoMCwuMSkpLm11bCguNSkKLm11bChlbnYpCi5hZGQoeD0+eC5kZWxheShzaW5lKC4wMykucmFuZ2UoLjEsLjUpKS5tdWwoLjkpKQoubXVsKC41KQoub3V0KCk=)
- [plucky feedback delay](https://felixroos.github.io/kabelsalat/#Ly8gbGV0J3MgY3JlYXRlIHNvbWUgbm90ZXMKbGV0IG5vdGUgPSBjbG9jaygxNTApIC8vIGNsb2NrIGF0IDE1MGJwbQouY2xvY2tkaXYoMzIpIC8vIGRpdmlkZSBjbG9jayBieSAzMgouc2VxKDY0LDAsMCw2NywwLDAsNjIsMCkgLy8gdXNlIGNsb2NrIGZvciBzZXF1ZW5jZQoKLy8gdXNlIHRoZSBub3RlcyB0byB0cmlnZ2VyIGFuIGVudmVsb3BlCmxldCBlbnYgPSBub3RlCi5hZHNyKAogIC4wMSwgLy8gYXR0YWNrCiAgc2luZSguMSkucmFuZ2UoLjEsIC4zKSwgLy8gbW9kdWxhdGVkIGRlY2F5CiAgLjUgLy8gc3VzdGFpbgopCi5tdWwoLjc1KSAvLyBldmVsb3BlIGFtb3VudAoKbm90ZQouaG9sZChub3RlKSAvLyBob2xkIG5vdGVzIGFib3ZlIHplcm9lcwoubWlkaW5vdGUoKSAvLyBjb252ZXJ0IG1pZGkgbnVtYmVycyB0byBmcmVxCi5wdWxzZSguMikgLy8gcHVsc2Ugd2F2ZSB3aXRoIC4yIHdpZHRoCi5maWx0ZXIoCiAgc2luZSguMSkucmFuZ2UoLjcsLjgpLm11bChlbnYpLCAvLyBtb2R1bGF0ZWQgY3V0b2ZmCiAgZW52Lm11bCguNSkgLy8gcmVzb25hbmNlIHdpdGggZW52ZWxvcGUKKQoubXVsKGVudikgLy8gYW1wbGl0dWRlIGVudmVsb3BlCi5hZGQoCiAgLy8gZmVlZGJhY2sgZGVsYXkKICB4PT54LmRlbGF5KHNpbmUoLjAzKS5yYW5nZSguMSwuNSkpIC8vIG1vZHVsYXRlZCBkZWxheSB0aW1lCiAgICAgIC5tdWwoLjkpIC8vIGZlZWRiYWNrIGFtb3VudAopCi5tdWwoLjUpIC8vIG1hc3RlciBsZXZlbAoub3V0KCkgLy8gc2VuZCB0byBvdXRwdXQ=)
- [drone](https://felixroos.github.io/kabelsalat/#Ly8gU3luYyBhbmQgVW5zeW5jIE15IEhhcm1vbmljcyAob3NjIG9ubHkpCi8vIGh0dHBzOi8vbm9pc2VjcmFmdC5hcHAvMTYxNQoKbGV0IGZyZXEgPSBwdWxzZSguMDIpLnNlcSg4MCkuc2xpZGUoMTAwKQpsZXQgb3NjID0gcHVsc2UoZnJlcSkKCmFkZCgKIHNpbmUoMC4wMSkucmFuZ2UoMSwxMikubXVsKGZyZXEpLnNpbmUob3NjKSwKIHNpbmUoMC4wMSkucmFuZ2UoMSwxMikubXVsKGZyZXEpLnNpbmUob3NjKSwKIHNpbmUoMC4wMikucmFuZ2UoMSwxMikubXVsKGZyZXEpLnNpbmUob3NjKSwKKQouc2xpZGUoLjAxKQouYWRkKHg9PnguZGVsYXkoLjI1KS5tdWwoLjYpKQoub3V0KCk=)
- [midi bass](https://felixroos.github.io/kabelsalat/#CmxldCBlbnYgPSBtaWRpZ2F0ZSgpLmFkc3IoLjAxLC4yLC43NSkubXVsKC43NSkKCm1pZGlmcmVxKCkuZGl2KDQpCi8vZnJlcS5hcHBseTIoaG9sZCkubWlkaW5vdGUoKQouc2F3KC40KQouZmlsdGVyKAogIHNpbmUoLjEpLnJhbmdlKC43LC44KS5tdWwoZW52KSwgCiAgZW52LmRpdigyKQopCi8vLmRpc3RvcnQoc2luZSguMDIpLnJhbmdlKDAsLjEpKS5tdWwoLjUpCi5tdWwoZW52KQovLy5hZGQoeD0+eC5kZWxheShzaW5lKC4wMykucmFuZ2UoLjEsLjUpKS5tdWwoLjkpKQoubXVsKC41KQoub3V0KCk=)
- [fm with feedback](https://felixroos.github.io/kabelsalat/#Ly8gYWRhcHRlZCBmcm9tIGh0dHBzOi8vd3d3LmNoYXJsaWUtcm9iZXJ0cy5jb20vZ2VuaXNoL3R1dG9yaWFsL2luZGV4Lmh0bWwjZm1tRmVlZGJhY2sKTm9kZS5wcm90b3R5cGUuZm0gPSBmdW5jdGlvbiAoYzJtID0gMSwgaW5kZXggPSAzLCBmYiA9IDAuMDUpIHsKICBsZXQgY2FycmllciwKICAgIGZyZXEgPSB0aGlzOwogIG11bCgoZmVlZGJhY2spID0+IHsKICAgIGNvbnN0IG1vZHVsYXRvciA9IGZlZWRiYWNrCiAgICAgIC5tdWwoZmIpCiAgICAgIC5hZGQobXVsKGZyZXEsIGMybSkpCiAgICAgIC5zaW5lKCkKICAgICAgLm11bChmcmVxLCBpbmRleCkKICAgICAgLmFkZChmZWVkYmFjaykKICAgICAgLm11bCgwLjUpOwogICAgY29uc3QgZW52ID0gZnJlcS5hZHNyKDAuMDAxLCAwLjUsIDAsIDApLmFwcGx5MihtdWwpLmFwcGx5MihtdWwpOwogICAgY2FycmllciA9IG1vZHVsYXRvci5hZGQoZnJlcSkuc2luZSgpLm11bChlbnYpOwogICAgcmV0dXJuIG1vZHVsYXRvci5tdWwoZW52KTsKICB9KTsKICByZXR1cm4gY2FycmllcjsKfTsKCnB1bHNlKDQpCiAgLnJhbmdlKDEsIDApCiAgLnNlcSg1NSwgMTEwLCAxNjUsIDIyMCwgMjc1LCAzMzAsIDM4NSwgNDQwKQogIC5mbSgxLCAzLCAwLjA1KQogIC5vdXQoKTsK)
Expand Down
35 changes: 31 additions & 4 deletions repl/src/index.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,36 @@ import "./graphviz";
import "./index.css";
import { SalatRepl } from "@kabelsalat/core";

const tremoloSine = `sine(220)
.mul(sine(4).range(.5,1))
.out()`;
const defaultPatch = `// let's create some notes
let note = clock(150) // clock at 150bpm
.clockdiv(32) // divide clock by 32
.seq(64,0,0,67,0,0,62,0) // use clock for sequence
// use the notes to trigger an envelope
let env = note
.adsr(
.01, // attack
sine(.1).range(.1, .3), // modulated decay
.5 // sustain
)
.mul(.75) // evelope amount
note
.hold(note) // hold notes above zeroes
.midinote() // convert midi numbers to freq
.pulse(.2) // pulse wave with .2 width
.filter(
sine(.1).range(.7,.8).mul(env), // modulated cutoff
env.mul(.5) // resonance with envelope
)
.mul(env) // amplitude envelope
.add(
// feedback delay
x=>x.delay(sine(.03).range(.1,.5)) // modulated delay time
.mul(.9) // feedback amount
)
.mul(.5) // master level
.out() // send to output`;

function App() {
const repl = new SalatRepl();
Expand All @@ -16,7 +43,7 @@ function App() {
urlCode = atob(urlCode);
console.log("loaded code from url!");
}
const initialCode = urlCode || tremoloSine;
const initialCode = urlCode || defaultPatch;
let [code, setCode] = createSignal(initialCode);
let container;
async function run() {
Expand Down

0 comments on commit 61fad19

Please sign in to comment.