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

3.7 KiB
Raw Permalink Blame History

Precautions for Strudel Coding

ボクが Strudel のコードを生成する際に、過去に犯したミスや注意すべき点をここに記録するよ。二度と同じ間違いを繰り返さないための、ボク自身への戒めだね。

1. Sound Bank & Sample Name Consistency

特定の .bank() を指定した際、そのバンクに存在しないサンプル名を指定しないこと。

TR-606 (tr606)

  • 使用可能なサンプル名: bd, cr, hh, ht, lt, oh, sd
  • 注意: percrim など、上記以外の名前は存在しない。タム系を使いたい場合は htlt を選択すること。
  • 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.50.25 のような数値は、キーストロークを減らすために 0 を省略して .5.25 と表記すること。
  • : .delayfb(.5), .gain(.8), .dist(.4)

dist() (Distortion) の使用

  • ルール: shape() は非推奨。歪みを加えたい場合は dist() (または distort()) を使用すること。
  • NG: .shape(0.4)
  • OK: .dist(0.4)