administrivia
Before we make noise, the browser needs one click.
Click boot once. Browsers require a user gesture before audio starts.
Hack point: open DevTools and call skode("v0 w0 f220 a0 l1").
the itchきっかけ
I wanted command-line immediacy for sound.音にもコマンドラインの即時性がほしかった。
why terse text?なぜ短いテキスト?
Small symbols become tools.小さな記号が道具になる。
Hgchemistry化学
∑math数学
♩music音楽
lsshellシェル
v0 w10SKODE
the stack構成
Text -> engine -> speakersテキスト -> エンジン -> スピーカー
stack block 1構成要素 1
SKODE
ASCII shorthand for changing state without much syntax (ANDS parser).少ない構文で状態を変えるためのASCII略記(ANDSパーサー)。
stack block 3構成要素 3
PULP: one voice is a signal path. Many voices.PULP: ひとつのボイスは信号経路。たくさんのボイス。
enough excuses言い訳はここまで
Make sound. Change sound. Stop sound.音を作る。変える。止める。
tiny protocol小さなプロトコル
Short commands change live state.短いコマンドがライブ状態を変える。
v0 w0 f440 a0
v1 m1 f6
v0 F1,40
808 ghosts in text filesテキストに宿る808
Tiny patches make drum sounds.小さなパッチがドラム音を作る。
sk/drums-kick.ks
141->50Hz pitch sweep
300ms envelope
W: w (E*S)+(Q*C*.1)
15 lines
sk/drums-snare.ks
170Hz + 183Hz body
noise tail and snap
W: w (S*.7)+(U*.4)+(V*K*.2)
20 lines
sk/drums-cowbell.ks
735Hz + 850Hz cluster
square-ish harmonics
W: w E*M
17 lines
deferred execution遅延実行
SKODE can schedule its own future.SKODEは先の実行を予約できる。
~1 v12l1 ~1 v12l1 ~1 v12l1
v10l2 +.5 v11l2
patternsパターン
Patterns make timed chunks reusable.パターンで時間指定したまとまりを再利用する。
y0
[v10l2 +.5 v10l1] x0
[v11l1] x1
Z1
909.sk909.sk
One file can build a groove.ひとつのファイルでグルーヴを作る。
/w24,303
[sk/drums-snare.ks]/ks wait 250 k>d d>r /r300
[sk/drums-kick.ks]/ks wait 250 k>d d>r /r301
[sk/drums-chh.ks]/ks wait 250 k>d d>r /r302
y2 %4 [kick] yt
[+.5 v4 l1 +.25 v4l.5] x0
what exists now?今あるもの
The protocol is the instrument.プロトコルそのものが楽器。
linksリンク
FIND ME, clone it, crash it, make it louder.見つけて、クローンして、クラッシュさせて、もっと大きな音に。