tutticode 0.0.0-stage → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/LICENSE +56 -0
  2. package/README.md +163 -2
  3. package/README.zh-CN.md +141 -0
  4. package/dist/skills/tutticode/SKILL.md +141 -0
  5. package/dist/skills/tutticode/references/agent-loop.md +112 -0
  6. package/dist/skills/tutticode/references/devices/aligndelay.md +28 -0
  7. package/dist/skills/tutticode/references/devices/amp.md +25 -0
  8. package/dist/skills/tutticode/references/devices/analog.md +180 -0
  9. package/dist/skills/tutticode/references/devices/arpeggiator.md +37 -0
  10. package/dist/skills/tutticode/references/devices/autopan.md +37 -0
  11. package/dist/skills/tutticode/references/devices/autoshift.md +66 -0
  12. package/dist/skills/tutticode/references/devices/beatrepeat.md +35 -0
  13. package/dist/skills/tutticode/references/devices/cabinet.md +19 -0
  14. package/dist/skills/tutticode/references/devices/channeleq.md +23 -0
  15. package/dist/skills/tutticode/references/devices/chorus.md +31 -0
  16. package/dist/skills/tutticode/references/devices/collision.md +129 -0
  17. package/dist/skills/tutticode/references/devices/compressor.md +40 -0
  18. package/dist/skills/tutticode/references/devices/corpus.md +51 -0
  19. package/dist/skills/tutticode/references/devices/delay.md +37 -0
  20. package/dist/skills/tutticode/references/devices/denoise.md +19 -0
  21. package/dist/skills/tutticode/references/devices/drift.md +82 -0
  22. package/dist/skills/tutticode/references/devices/drumbuss.md +29 -0
  23. package/dist/skills/tutticode/references/devices/drumrack.md +225 -0
  24. package/dist/skills/tutticode/references/devices/dsclang.md +26 -0
  25. package/dist/skills/tutticode/references/devices/dsclap.md +25 -0
  26. package/dist/skills/tutticode/references/devices/dscymbal.md +22 -0
  27. package/dist/skills/tutticode/references/devices/dsfm.md +25 -0
  28. package/dist/skills/tutticode/references/devices/dshh.md +23 -0
  29. package/dist/skills/tutticode/references/devices/dskick.md +25 -0
  30. package/dist/skills/tutticode/references/devices/dssnare.md +23 -0
  31. package/dist/skills/tutticode/references/devices/dstom.md +24 -0
  32. package/dist/skills/tutticode/references/devices/dynamic-tube.md +26 -0
  33. package/dist/skills/tutticode/references/devices/echo.md +56 -0
  34. package/dist/skills/tutticode/references/devices/electric.md +50 -0
  35. package/dist/skills/tutticode/references/devices/ensemble.md +129 -0
  36. package/dist/skills/tutticode/references/devices/eqeight.md +69 -0
  37. package/dist/skills/tutticode/references/devices/eqthree.md +27 -0
  38. package/dist/skills/tutticode/references/devices/erosion.md +22 -0
  39. package/dist/skills/tutticode/references/devices/filter.md +55 -0
  40. package/dist/skills/tutticode/references/devices/filterdelay.md +37 -0
  41. package/dist/skills/tutticode/references/devices/gate.md +36 -0
  42. package/dist/skills/tutticode/references/devices/glue.md +36 -0
  43. package/dist/skills/tutticode/references/devices/graindelay.md +26 -0
  44. package/dist/skills/tutticode/references/devices/hybrid-reverb.md +22 -0
  45. package/dist/skills/tutticode/references/devices/impulse.md +157 -0
  46. package/dist/skills/tutticode/references/devices/leveler.md +23 -0
  47. package/dist/skills/tutticode/references/devices/limiter.md +26 -0
  48. package/dist/skills/tutticode/references/devices/meld.md +239 -0
  49. package/dist/skills/tutticode/references/devices/midichord.md +46 -0
  50. package/dist/skills/tutticode/references/devices/midifmarp.md +26 -0
  51. package/dist/skills/tutticode/references/devices/midinoteecho.md +30 -0
  52. package/dist/skills/tutticode/references/devices/midinotelength.md +27 -0
  53. package/dist/skills/tutticode/references/devices/midipitch.md +26 -0
  54. package/dist/skills/tutticode/references/devices/midirandom.md +24 -0
  55. package/dist/skills/tutticode/references/devices/midiscale.md +25 -0
  56. package/dist/skills/tutticode/references/devices/midivelocity.md +27 -0
  57. package/dist/skills/tutticode/references/devices/multibanddynamics.md +62 -0
  58. package/dist/skills/tutticode/references/devices/operator.md +163 -0
  59. package/dist/skills/tutticode/references/devices/overdrive.md +24 -0
  60. package/dist/skills/tutticode/references/devices/pedal.md +26 -0
  61. package/dist/skills/tutticode/references/devices/phaserflanger.md +42 -0
  62. package/dist/skills/tutticode/references/devices/pitchshifter.md +56 -0
  63. package/dist/skills/tutticode/references/devices/redux.md +27 -0
  64. package/dist/skills/tutticode/references/devices/resonator.md +49 -0
  65. package/dist/skills/tutticode/references/devices/reverb.md +43 -0
  66. package/dist/skills/tutticode/references/devices/roar.md +70 -0
  67. package/dist/skills/tutticode/references/devices/sampler.md +228 -0
  68. package/dist/skills/tutticode/references/devices/saturator.md +24 -0
  69. package/dist/skills/tutticode/references/devices/simpler.md +230 -0
  70. package/dist/skills/tutticode/references/devices/sixop.md +190 -0
  71. package/dist/skills/tutticode/references/devices/spectralresonator.md +42 -0
  72. package/dist/skills/tutticode/references/devices/spectraltime.md +45 -0
  73. package/dist/skills/tutticode/references/devices/synth.md +28 -0
  74. package/dist/skills/tutticode/references/devices/tension.md +117 -0
  75. package/dist/skills/tutticode/references/devices/utility.md +29 -0
  76. package/dist/skills/tutticode/references/devices/vinyl.md +31 -0
  77. package/dist/skills/tutticode/references/devices/vocoder.md +41 -0
  78. package/dist/skills/tutticode/references/devices/wavetable.md +128 -0
  79. package/dist/skills/tutticode/references/devices.md +114 -0
  80. package/dist/skills/tutticode/references/effect-controls.md +145 -0
  81. package/dist/skills/tutticode/references/first-sounds.md +89 -0
  82. package/dist/skills/tutticode/references/for-agents.md +119 -0
  83. package/dist/skills/tutticode/references/functions.md +1848 -0
  84. package/dist/skills/tutticode/references/getting-started.md +79 -0
  85. package/dist/skills/tutticode/references/harmony-and-scales.md +105 -0
  86. package/dist/skills/tutticode/references/javascript.md +90 -0
  87. package/dist/skills/tutticode/references/melodies-with-do-re-mi.md +59 -0
  88. package/dist/skills/tutticode/references/mini-notation.md +120 -0
  89. package/dist/skills/tutticode/references/mixing.md +101 -0
  90. package/dist/skills/tutticode/references/muse.md +67 -0
  91. package/dist/skills/tutticode/references/sample-operations.md +102 -0
  92. package/dist/skills/tutticode/references/sounds.md +109 -0
  93. package/dist/skills/tutticode/references/time-and-structure.md +161 -0
  94. package/dist/skills/tutticode/references/tuttidaw-extensions.md +131 -0
  95. package/dist/skills/tutticode-sound-for-media/SKILL.md +104 -0
  96. package/dist/skills/tutticode-sound-for-media/references/music-recipes.md +86 -0
  97. package/dist/skills/tutticode-sound-for-media/references/sfx-recipes.md +129 -0
  98. package/dist/tutticode.cjs +18746 -0
  99. package/package.json +39 -4
@@ -0,0 +1,129 @@
1
+ # Sound-effect recipes
2
+
3
+ Each recipe compiles and renders (tested on every change). Render one with
4
+ the settings under it, read the report, then adapt it (*Vary*). A program
5
+ loops, so a one-shot effect is one bar long: `setcpm` sets the bar's
6
+ length (`setcpm(60)` = 1 s, `setcpm(30)` = 2 s). Render it with
7
+ `seconds` and a `tail` for its reverb. The loudness targets sit below the
8
+ music ones because short effects are peaky: a higher target fails with
9
+ `clip` at the -1 dBTP ceiling.
10
+
11
+ ## Riser (`riser`)
12
+
13
+ Build-up into a reveal, a logo or a drop: 4 s of rising pitch and brightness.
14
+
15
+ ```js
16
+ setcpm(15) // one bar = 4 s
17
+ cymbal: note("c4").s("gm_reverse_cymbal").gain(0.9)
18
+ sweep: note("c3").s("sawtooth").penv(24).pattack(4).attack(3.5).release(0.1).lpf(2000).gain(0.4)
19
+ ```
20
+
21
+ Render: `tutticode render riser.tc -o riser.wav --seconds 4 --lufs -18`, or `code_render` with `{"seconds":4,"lufs":-18}`.
22
+
23
+ Vary: Length: change setcpm (setcpm(30) = 2 s) and pattack/attack with it. More tension: penv(36). Hit something at the end: render it, then place an impact on the next bar.
24
+
25
+ ## Impact (`impact`)
26
+
27
+ A hit on a cut, a title slam, a logo landing: a sub boom with a bright crack and a short room.
28
+
29
+ ```js
30
+ setcpm(30) // one bar = 2 s
31
+ boom: note("c1").s("sine").penv(24).pattack(0.001).pdecay(0.15).decay(1.5).sustain(0).gain(0.9)
32
+ crack: s("white").decay(0.25).sustain(0).hpf(1500).room(0.6).size(0.8)
33
+ ```
34
+
35
+ Render: `tutticode render impact.tc -o impact.wav --seconds 2 --tail 1 --lufs -24`, or `code_render` with `{"seconds":2,"tail":1,"lufs":-24}`.
36
+
37
+ Vary: Bigger: decay(2.5) on the boom and size(0.95). Tighter for UI: drop the room and render 0.5 s.
38
+
39
+ ## Whoosh (`whoosh`)
40
+
41
+ Something flying past, a swipe, a fast camera move: filtered noise swelling and fading in 1.5 s.
42
+
43
+ ```js
44
+ setcpm(40) // one bar = 1.5 s
45
+ whoosh: s("pink").attack(0.6).decay(0.9).sustain(0).hpf(600).room(0.3)
46
+ ```
47
+
48
+ Render: `tutticode render whoosh.tc -o whoosh.wav --seconds 1.5 --tail 0.5 --lufs -22`, or `code_render` with `{"seconds":1.5,"tail":0.5,"lufs":-22}`.
49
+
50
+ Vary: Faster: setcpm(80) with attack(0.3).decay(0.45). Darker: s("brown") and hpf(200).
51
+
52
+ ## UI click (`ui-click`)
53
+
54
+ Buttons, toggles, key taps: a 20 ms square blip.
55
+
56
+ ```js
57
+ setcpm(240) // one bar = 0.25 s
58
+ click: note("c6").s("square").decay(0.02).sustain(0).hpf(1000).gain(0.5)
59
+ ```
60
+
61
+ Render: `tutticode render ui-click.tc -o ui-click.wav --seconds 0.25`, or `code_render` with `{"seconds":0.25}`.
62
+
63
+ Vary: Softer: s("sine") and note("g5"). A pair of states (on/off): render note("c6") and note("g5") as two files.
64
+
65
+ ## UI confirm (`ui-confirm`)
66
+
67
+ Success, saved, done: two rising sine notes (a fifth).
68
+
69
+ ```js
70
+ setcpm(120) // one bar = 0.5 s
71
+ confirm: note("e5 b5").s("sine").decay(0.25).sustain(0).room(0.2)
72
+ ```
73
+
74
+ Render: `tutticode render ui-confirm.tc -o ui-confirm.wav --seconds 0.5 --tail 0.3 --lufs -22`, or `code_render` with `{"seconds":0.5,"tail":0.3,"lufs":-22}`.
75
+
76
+ Vary: Brighter: s("triangle"). Three steps: note("c5 e5 g5") with setcpm(80).
77
+
78
+ ## UI error (`ui-error`)
79
+
80
+ Failed, invalid, denied: two falling low square notes (a fourth), muffled.
81
+
82
+ ```js
83
+ setcpm(120) // one bar = 0.5 s
84
+ error: note("bb3 f3").s("square").decay(0.2).sustain(0).lpf(1500).gain(0.6)
85
+ ```
86
+
87
+ Render: `tutticode render ui-error.tc -o ui-error.wav --seconds 0.5 --lufs -22`, or `code_render` with `{"seconds":0.5,"lufs":-22}`.
88
+
89
+ Vary: Gentler (a warning, not an error): s("triangle") and note("e4 c4").
90
+
91
+ ## Notification (`notification`)
92
+
93
+ A message arrived, a reminder: an arpeggiated major triad with a short echo.
94
+
95
+ ```js
96
+ setcpm(60) // one bar = 1 s
97
+ notify: note("c6 e6 g6 ~").s("triangle").decay(0.4).sustain(0).delay(0.3).delaytime(0.125).room(0.3)
98
+ ```
99
+
100
+ Render: `tutticode render notification.tc -o notification.wav --seconds 1 --tail 0.5 --lufs -22`, or `code_render` with `{"seconds":1,"tail":0.5,"lufs":-22}`.
101
+
102
+ Vary: Another brand colour: another chord (note("a5 c6 e6 ~") is minor and softer). Shorter: drop the delay.
103
+
104
+ ## Transition (downlifter) (`transition`)
105
+
106
+ Leaving a scene, closing a panel, the end of a section: a 2 s falling sweep.
107
+
108
+ ```js
109
+ setcpm(30) // one bar = 2 s
110
+ sweep: note("c5").s("sawtooth").penv(-24).pattack(0.001).pdecay(1.5).decay(1.8).sustain(0).lpf(3000).room(0.5)
111
+ ```
112
+
113
+ Render: `tutticode render transition.tc -o transition.wav --seconds 2 --tail 1 --lufs -22`, or `code_render` with `{"seconds":2,"tail":1,"lufs":-22}`.
114
+
115
+ Vary: Pair it with the riser for in/out transitions. Longer: setcpm(15) with pdecay(3).decay(3.5).
116
+
117
+ ## Ambience bed (`ambience-bed`)
118
+
119
+ Room tone under a voice-over, a calm background for an app or a menu: waves and a soft pad, loops seamlessly.
120
+
121
+ ```js
122
+ setcpm(15) // one bar = 4 s; loops every 2 bars
123
+ waves: note("c2").s("gm_seashore").gain(0.5)
124
+ pad: chord("<C^7 Am7>").voicing().s("supersaw").attack(1.5).release(2).lpf(900).gain(0.25).room(0.8).size(0.9)
125
+ ```
126
+
127
+ Render: `tutticode render ambience-bed.tc -o ambience-bed.wav --loops 4 --fade-in 2 --fade-out 3 --lufs -20`, or `code_render` with `{"loops":4,"fadeIn":2,"fadeOut":3,"lufs":-20}`.
128
+
129
+ Vary: Rain instead of waves: s("gm_fx_rain"). For a loop file (game, app) render loops without fades.