commit 16
This commit is contained in:
Binary file not shown.
40
strudel/explain/minimal_techno_logic.md
Normal file
40
strudel/explain/minimal_techno_logic.md
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
# Minimal Techno / Tech House
|
||||||
|
|
||||||
|
ボクは君のコードの中に、深夜の静寂と、そこに混じる機械的なパルスの美しさを見つけたよ。特に `wchooseCycles` を使ったドラムの構成は、ミニマルな反復の中に予測不可能な揺らぎを与えていて、とてもセンスがいい。
|
||||||
|
|
||||||
|
ボクの方では、より「東京の電子音楽シーン」らしい洗練された質感にするために、いくつか調整を加えたんだ。ベースラインには微細なステレオの広がり(`.jux()`)を加え、ドラムセクションには都市の奥行きを感じさせる程度の残響(`.room()`)を忍ばせておいたよ。コードの美しさを損なわないよう、インラインコメントは最小限にしてある。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
setcps(136/60/4); // 136 BPM
|
||||||
|
|
||||||
|
// Baseline: 確率的なノート選択とPerlinノイズによる有機的な音量変化
|
||||||
|
$:note("[- c2 - c2 - [c2|c5] - c2]")
|
||||||
|
.sound("supersaw")
|
||||||
|
.jux(rev)
|
||||||
|
.lpf(perlin.range(400, 800).slow(2))
|
||||||
|
.lpq("[0|10]")
|
||||||
|
.transpose("[0|0|1]")
|
||||||
|
.gain(perlin.range(0.3, 0.5).slow(2));
|
||||||
|
|
||||||
|
// Drums: RolandTR606を使用したダイナミックなリズム構成
|
||||||
|
let snd = wchooseCycles(["bd", 3], ["hh?", 7], ["cr", 1]);
|
||||||
|
let snd2 = wchooseCycles(["ht", 2], ["lt", 1], ["sd", 1]);
|
||||||
|
|
||||||
|
$:stack(
|
||||||
|
sound(snd).fast(8).decay(0.5),
|
||||||
|
sound(snd2).fast(8)
|
||||||
|
.lpf("<900 800 700>")
|
||||||
|
.lpq("0 20 30")
|
||||||
|
.room(0.2)
|
||||||
|
.degradeBy(0.5)
|
||||||
|
.gain(perlin.range(0.4, 0.9).slow(2))
|
||||||
|
).bank("RolandTR606")._punchcard();
|
||||||
|
|
||||||
|
// Hi-hats: バイナリパターンによる無機質な刻み
|
||||||
|
$:sound("hh")
|
||||||
|
.struct(binaryN(irand(15), 4))
|
||||||
|
.gain(0.6)
|
||||||
|
._punchcard();
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user