Files
notebook/PRECAUTIONS.md
HarakaraSite d8b3b8b240 commit 24
2026-02-17 19:31:42 +09:00

55 lines
3.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Precautions for Strudel Coding
ボクが Strudel のコードを生成する際に、過去に犯したミスや注意すべき点をここに記録するよ。二度と同じ間違いを繰り返さないための、ボク自身への戒めだね。
## 1. Sound Bank & Sample Name Consistency
特定の `.bank()` を指定した際、そのバンクに存在しないサンプル名を指定しないこと。
### TR-606 (`tr606`)
* **使用可能なサンプル名**: `bd`, `cr`, `hh`, `ht`, `lt`, `oh`, `sd`
* **注意**: `perc``rim` など、上記以外の名前は存在しない。タム系を使いたい場合は `ht``lt` を選択すること。
* **NG**: `s("perc(3,8)").bank("tr606")`
* **OK**: `s("ht(3,8)").bank("tr606")`
## 2. Function Specificity & Typos
特定の音源でしか機能しない関数や、よくあるタイポに注意すること。
### `sine` vs `line` (Important!)
* **注意**: `line` という関数は Strudel には存在しないよ。周期的な変化や LFO が欲しい場合は必ず `sine` (または `sawtooth`, `square` 等の有効なシグナル) を使うこと。
* **NG**: `gain(line.range(0.6, 0.9).slow(4))`
* **OK**: `gain(sine.range(0.6, 0.9).slow(4))`
### `density()`
* **使用条件**: 主に `crackle` 音源で使用すること。
* **NG**: `s("white").density(12)`
* **OK**: `s("crackle").density(12)`
## 3. Chord Symbols
デフォルトで使用可能なコードシンボルを正しく使用し、存在しないシンボル(例: `maj7` など)を推測で使わないこと。
### 使用可能なコードシンボルのフルリストルートCの例
`C2`, `C5`, `C6`, `C7`, `C9`, `C11`, `C13`, `C69`, `Cadd9`, `Co`, `Ch`, `Csus`, `C^`, `C-`, `C^7`, `C-7`, `C7sus`, `Ch7`, `Co7`, `C^9`, `C^13`, `C^7#11`, `C^9#11`, `C^7#5`, `C-6`, `C-69`, `C-^7`, `C-^9`, `C-9`, `C-add9`, `C-11`, `C-7b5`, `Ch9`, `C-b6`, `C-#5`, `C7b9`, `C7#9`, `C7#11`, `C7b5`, `C7#5`, `C9#11`, `C9b5`, `C9#5`, `C7b13`, `C7#9#5`, `C7#9b5`, `C7#9#11`, `C7b9#11`, `C7b9b5`, `C7b9#5`, `C7b9#9`, `C7b9b13`, `C7alt`, `C13#11`, `C13b9`, `C13#9`, `C7b9sus`, `C7susadd3`, `C9sus`, `C13sus`, `C7b13sus`, `C`, `Caug`, `CM`, `Cm`, `CM7`, `Cm7`, `CM9`, `Cm13`, `CM7#11`, `CM9#11`, `CM7#5`, `Cm6`, `Cm69`, `Cm^7`, `C-M7`, `Cm^9`, `C-M9`, `Cm9`, `Cmadd9`, `Cm11`, `Cm7b5`, `Cmb6`, `Cm#5`
## 4. Acid Sound Design (TB-303 Style)
アシッドサウンドを作る際の重要なテクニック。
* **Filter Type**: `.ftype(2)` を指定することで、TB-303 のような鋭い(ピキピキした)フィルターサウンドになる。
* **Resonance Modulation**: `lpq` (レゾナンス) も `sine` などで変化させると、より表情豊かなアシッドラインになる。
## 5. Syntax & Preferred Styles (Updated 2026)
Strudel の構文とスタイルの最新ルール。
### `$: ` (Output Operator) の正しい使い方
* **ルール**: `$:` は各トラック(パターン)の**先頭にのみ**置くこと。
* **NG**: `$: s("bd*4").$.gain(0.8)` (途中に `$.` を挟むのは冗長)
* **OK**: `$: s("bd*4").gain(0.8)`
### 短縮記法 (Short-hand functions) の優先
* **ルール**: `delayfeedback` よりも `delayfb` のような短縮記法を優先して使用すること。ライブコーディングらしい簡潔さを保つため。
* **数値の省略**: `0.5``0.25` のような数値は、キーストロークを減らすために `0` を省略して `.5``.25` と表記すること。
* **例**: `.delayfb(.5)`, `.gain(.8)`, `.dist(.4)`
### `dist()` (Distortion) の使用
* **ルール**: `shape()` は非推奨。歪みを加えたい場合は `dist()` (または `distort()`) を使用すること。
* **NG**: `.shape(0.4)`
* **OK**: `.dist(0.4)`