@jpdutoit/squelchy 0.0.4 → 0.0.6
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.
- package/README.md +5 -1
- package/{chunk-N7J25N5J.js → chunk-PJDNZ52Q.js} +21 -5
- package/chunk-PJDNZ52Q.js.map +7 -0
- package/docs/GUIDE.md +87 -9
- package/docs/MODULES.md +47 -37
- package/docs/modules.json +114 -32
- package/index.d.ts +99 -30
- package/index.js +557 -362
- package/index.js.map +3 -3
- package/kits/compu-78/bd.flac +0 -0
- package/kits/compu-78/ch.flac +0 -0
- package/kits/compu-78/clap.flac +0 -0
- package/kits/compu-78/cym.flac +0 -0
- package/kits/compu-78/ht.flac +0 -0
- package/kits/compu-78/lt.flac +0 -0
- package/kits/compu-78/mt.flac +0 -0
- package/kits/compu-78/oh.flac +0 -0
- package/kits/compu-78/perc.flac +0 -0
- package/kits/compu-78/rim.flac +0 -0
- package/kits/compu-78/sd.flac +0 -0
- package/kits/deep-analogue/bd.flac +0 -0
- package/kits/deep-analogue/ch.flac +0 -0
- package/kits/deep-analogue/clap.flac +0 -0
- package/kits/deep-analogue/cym.flac +0 -0
- package/kits/deep-analogue/ht.flac +0 -0
- package/kits/deep-analogue/lt.flac +0 -0
- package/kits/deep-analogue/mt.flac +0 -0
- package/kits/deep-analogue/oh.flac +0 -0
- package/kits/deep-analogue/perc.flac +0 -0
- package/kits/deep-analogue/rim.flac +0 -0
- package/kits/deep-analogue/sd.flac +0 -0
- package/kits/hard-cell/bd.flac +0 -0
- package/kits/hard-cell/ch.flac +0 -0
- package/kits/hard-cell/clap.flac +0 -0
- package/kits/hard-cell/cym.flac +0 -0
- package/kits/hard-cell/ht.flac +0 -0
- package/kits/hard-cell/lt.flac +0 -0
- package/kits/hard-cell/mt.flac +0 -0
- package/kits/hard-cell/oh.flac +0 -0
- package/kits/hard-cell/perc.flac +0 -0
- package/kits/hard-cell/rim.flac +0 -0
- package/kits/hard-cell/sd.flac +0 -0
- package/kits/micro-click/bd.flac +0 -0
- package/kits/micro-click/ch.flac +0 -0
- package/kits/micro-click/clap.flac +0 -0
- package/kits/micro-click/cym.flac +0 -0
- package/kits/micro-click/ht.flac +0 -0
- package/kits/micro-click/lt.flac +0 -0
- package/kits/micro-click/mt.flac +0 -0
- package/kits/micro-click/oh.flac +0 -0
- package/kits/micro-click/perc.flac +0 -0
- package/kits/micro-click/rim.flac +0 -0
- package/kits/micro-click/sd.flac +0 -0
- package/kits/tape-dust/bd.flac +0 -0
- package/kits/tape-dust/ch.flac +0 -0
- package/kits/tape-dust/clap.flac +0 -0
- package/kits/tape-dust/cym.flac +0 -0
- package/kits/tape-dust/ht.flac +0 -0
- package/kits/tape-dust/lt.flac +0 -0
- package/kits/tape-dust/mt.flac +0 -0
- package/kits/tape-dust/oh.flac +0 -0
- package/kits/tape-dust/perc.flac +0 -0
- package/kits/tape-dust/rim.flac +0 -0
- package/kits/tape-dust/sd.flac +0 -0
- package/package.json +1 -1
- package/{worklets-inline-EF3OTQ4D.js → worklets-inline-NWG5PWND.js} +10 -2
- package/{worklets-inline-EF3OTQ4D.js.map → worklets-inline-NWG5PWND.js.map} +2 -2
- package/chunk-N7J25N5J.js.map +0 -7
package/index.d.ts
CHANGED
|
@@ -125,12 +125,20 @@ export type Signal<Q> = AudioNode & {
|
|
|
125
125
|
/** Reinterpret a node as a pitch signal — the greppable escape hatch for
|
|
126
126
|
* deliberate cross-quantity patches. */
|
|
127
127
|
export declare const asPitch: (n: AudioNode) => Signal<Note>;
|
|
128
|
-
/**
|
|
128
|
+
/** A musical position. 'now' | 'beat' | 'bar' are the next of each from the
|
|
129
|
+
* current position (beat 0 if stopped). `{ bar: 3, beat: 2 }` is beat 2 of
|
|
130
|
+
* bar 3 (both count from 0); `{ beat: n }` is an absolute beat. */
|
|
129
131
|
export type StartAt = "now" | "beat" | "bar" | {
|
|
130
132
|
bar: number;
|
|
133
|
+
beat?: Beats;
|
|
131
134
|
} | {
|
|
132
135
|
beat: Beats;
|
|
133
136
|
};
|
|
137
|
+
interface AtOptions {
|
|
138
|
+
/** Fires when the position is actually heard (output latency included),
|
|
139
|
+
* like `onHit`. Use it for UI; `fn` runs a lookahead early, for audio. */
|
|
140
|
+
onAudible?: (time: Seconds) => void;
|
|
141
|
+
}
|
|
134
142
|
/** Rich step form, for when a plain value isn't enough. */
|
|
135
143
|
export interface StepObject<V> {
|
|
136
144
|
value: V;
|
|
@@ -211,8 +219,10 @@ export interface Transport {
|
|
|
211
219
|
resolve(at: StartAt): Beats;
|
|
212
220
|
/** Play a pattern array through a voice. */
|
|
213
221
|
play<V>(pattern: readonly Step<V>[], voice: Voice<V>, opts?: PlayOptions<V>): Playback<V>;
|
|
214
|
-
/** Run `fn(time)` once
|
|
215
|
-
|
|
222
|
+
/** Run `fn(time)` once, a lookahead before a musical position, with its exact
|
|
223
|
+
* audio time — for automation. `onAudible` fires when that moment is heard.
|
|
224
|
+
* Returns a cancel function (cancels both). */
|
|
225
|
+
at(when: StartAt | Beats, fn: (time: Seconds) => void, opts?: AtOptions): () => void;
|
|
216
226
|
/** Global visual tap: every hit of every playback, fired when audible. Returns unsubscribe. */
|
|
217
227
|
onHit(cb: (hit: Hit) => void): () => void;
|
|
218
228
|
/** Schedule everything due inside the lookahead window. Auto-called in 'auto' mode. */
|
|
@@ -260,17 +270,29 @@ export declare const Hat: {
|
|
|
260
270
|
create(ctx: BaseAudioContext): VoiceInstance;
|
|
261
271
|
};
|
|
262
272
|
/**
|
|
263
|
-
* Gate
|
|
264
|
-
* `gate`
|
|
265
|
-
* `
|
|
266
|
-
*
|
|
267
|
-
*
|
|
273
|
+
* Gate, pitch and velocity CV for driving patchable modules, like a
|
|
274
|
+
* MIDI-to-CV interface: `gate` into an Envelope's trigger, `pitch` into V/Oct
|
|
275
|
+
* inputs, `velocity` into whatever should follow how hard the note was hit
|
|
276
|
+
* (a VCA's gain, a filter's cutoff CV, an envelope depth).
|
|
277
|
+
*
|
|
278
|
+
* - `gate` is a fixed-height gate, like Eurorack: 1 while a note is held, 0
|
|
279
|
+
* otherwise, whatever the velocity. (Gate inputs open above 0.5, so a gate
|
|
280
|
+
* carrying velocity would silence every soft note.)
|
|
281
|
+
* - `pitch` holds the note (absolute key position, 69 = A4), typed as the
|
|
282
|
+
* library's pitch signal like every other V/OCT output.
|
|
283
|
+
* - `velocity` is the hit's velocity 0..1, set at note-on and held until the
|
|
284
|
+
* next note, so the release tail keeps the level it was played at. 0 until
|
|
285
|
+
* the first note.
|
|
286
|
+
*
|
|
287
|
+
* All three are ConstantSourceNodes.
|
|
268
288
|
*/
|
|
269
289
|
export interface NoteCvInstance {
|
|
270
|
-
/** Gate CV:
|
|
290
|
+
/** Gate CV: 1 while a note is held, 0 otherwise — every hit opens it, whatever its velocity. */
|
|
271
291
|
gate: ConstantSourceNode;
|
|
272
292
|
/** Pitch CV: the current note (69 = A4), held between notes. */
|
|
273
293
|
pitch: ConstantSourceNode & Signal<Note>;
|
|
294
|
+
/** Velocity CV: the last note's velocity (0..1), held until the next note. */
|
|
295
|
+
velocity: ConstantSourceNode;
|
|
274
296
|
trigger(time: Seconds, hit?: Partial<Hit<Note>>): void;
|
|
275
297
|
dispose(): void;
|
|
276
298
|
}
|
|
@@ -322,13 +344,22 @@ export interface SampleVoiceOptions {
|
|
|
322
344
|
/** The note that plays the sample unshifted. Default 60 (C4). */
|
|
323
345
|
root?: Note;
|
|
324
346
|
}
|
|
347
|
+
/** A sample voice: a VoiceInstance whose kit can be swapped while playing. */
|
|
348
|
+
export interface SampleVoiceInstance extends VoiceInstance<Note | boolean> {
|
|
349
|
+
/** The kit hits are played from. */
|
|
350
|
+
readonly kit: LoadedSampleSet;
|
|
351
|
+
/** Play later hits from another kit (same voice key, same fallback chain).
|
|
352
|
+
* Hits already scheduled (up to the transport's lookahead) and samples
|
|
353
|
+
* still ringing keep the old kit, so the swap never cuts a tail. */
|
|
354
|
+
setKit(kit: LoadedSampleSet): void;
|
|
355
|
+
}
|
|
325
356
|
/** A one-shot sample voice, like a drum machine: every hit plays the whole
|
|
326
357
|
* sample, whatever the step's gate length. velocity 0..1 scales level. A
|
|
327
358
|
* `Note` value plays the sample at that note (`root` = unshifted), the same
|
|
328
359
|
* numbers `NoteCv` plays, so `notes()` melodies work on both; anything else
|
|
329
360
|
* (e.g. `true` from steps()) plays it unshifted. */
|
|
330
361
|
export declare const SampleVoice: {
|
|
331
|
-
create(ctx: BaseAudioContext, kit: LoadedSampleSet, key: VoiceKey, opts?: SampleVoiceOptions):
|
|
362
|
+
create(ctx: BaseAudioContext, kit: LoadedSampleSet, key: VoiceKey, opts?: SampleVoiceOptions): SampleVoiceInstance;
|
|
332
363
|
};
|
|
333
364
|
export interface AcidFilterParams {
|
|
334
365
|
/** Cutoff Note. Base cutoff as a note (67 ≈ 400 Hz, 69 = 440 Hz) for the iconic squelchy acid sound. Drives the V/OCT worklet 1:1 — the panel knob shows the equivalent Hz. Range 15–135 notes. Default 67. */
|
|
@@ -395,7 +426,7 @@ export type AutoPanProps = {
|
|
|
395
426
|
};
|
|
396
427
|
export declare const AutoPan: LibModule<AutoPanParams, AutoPanInputs, AutoPanOutputs, AutoPanProps>;
|
|
397
428
|
export interface BitcrusherParams {
|
|
398
|
-
/** Bit Depth. Number of bits for quantization. Lower = crunchier, more lo-fi. Range 1–16. Default 8. */
|
|
429
|
+
/** Bit Depth. Number of bits for quantization. Lower = crunchier, more lo-fi. 1 bit = two levels: a hard full-scale square at the input's pitch. Range 1–16. Default 8. */
|
|
399
430
|
bits?: number;
|
|
400
431
|
/** Sample Rate. Sample rate reduction factor. 1 = original, lower = more aliased and crunchy. Creates the classic "staircase" sample-and-hold effect. Range 0.01–1 (log). Default 0.5. */
|
|
401
432
|
rate?: number;
|
|
@@ -404,6 +435,9 @@ export interface BitcrusherParams {
|
|
|
404
435
|
}
|
|
405
436
|
export type BitcrusherInputs = {
|
|
406
437
|
"in": AudioNode;
|
|
438
|
+
"modBits": AudioParam;
|
|
439
|
+
"modRate": AudioParam;
|
|
440
|
+
"modMix": AudioParam;
|
|
407
441
|
};
|
|
408
442
|
export type BitcrusherOutputs = {
|
|
409
443
|
"out": AudioNode;
|
|
@@ -412,6 +446,9 @@ export type BitcrusherOutputs = {
|
|
|
412
446
|
export type BitcrusherProps = {
|
|
413
447
|
"in": AudioNode;
|
|
414
448
|
"out": AudioNode;
|
|
449
|
+
"modBits": AudioParam;
|
|
450
|
+
"modRate": AudioParam;
|
|
451
|
+
"modMix": AudioParam;
|
|
415
452
|
readonly params: {
|
|
416
453
|
/** Bit Depth. Native AudioParam — value is the param value 1:1. */
|
|
417
454
|
"bits": AudioParam;
|
|
@@ -425,7 +462,7 @@ export declare const Bitcrusher: LibModule<BitcrusherParams, BitcrusherInputs, B
|
|
|
425
462
|
export interface ChorusParams {
|
|
426
463
|
/** Rate. Chorus sweep LFO speed, driven directly by the oscillator frequency. modRate sums into the same AudioParam. Range 0.1–5 Hz. Default 1.5. */
|
|
427
464
|
rate?: Hz;
|
|
428
|
-
/** Modulation Depth. How
|
|
465
|
+
/** Modulation Depth. How far each delay line swings around its 5.66 ms centre: ±4 ms at 1. About 0.46 matches a Juno-60's Chorus I/II swing; more = wider detuning. Scaled onto the LFO gain, so it is set-only (no single AudioParam carries it 1:1). Range 0–1. Default 0.5. */
|
|
429
466
|
depth?: number;
|
|
430
467
|
/** Dry/Wet Mix. Balance between original and chorused signal, driven by one ConstantSource (dry = 1 − mix·0.5, wet = mix — the antiphase voices already carry half the width at mix 1). Range 0–1. Default 0.5. */
|
|
431
468
|
mix?: number;
|
|
@@ -487,21 +524,24 @@ export type CombFilterProps = {
|
|
|
487
524
|
};
|
|
488
525
|
export declare const CombFilter: LibModule<CombFilterParams, CombFilterInputs, CombFilterOutputs, CombFilterProps>;
|
|
489
526
|
export interface CompressorParams {
|
|
490
|
-
/** Threshold.
|
|
527
|
+
/** Threshold. Peak level (dBFS) above which compression kicks in. Lower = more compression. With a soft KNEE it eases in from half the knee width below. Range -60–0 dB. Default -24. */
|
|
491
528
|
threshold?: Decibels;
|
|
492
529
|
/** Ratio. How much to reduce signal above threshold. 4:1 = every 4dB over becomes 1dB. Range 1–20 (log). Default 4. */
|
|
493
530
|
ratio?: number;
|
|
494
|
-
/** Attack. How fast compression
|
|
531
|
+
/** Attack. How fast compression grabs a loud signal: the gain reduction gets 63% of the way in this time (nearly all of it in 3×), however hard you hit it. Range 0.0001–1 s (log). Default 0.003. */
|
|
495
532
|
attack?: Seconds;
|
|
496
|
-
/** Release. How fast compression
|
|
533
|
+
/** Release. How fast compression lets go once the signal drops: the gain reduction falls 63% of the way back in this time (nearly all of it in 3×). Range 0.01–1 s (log). Default 0.25. */
|
|
497
534
|
release?: Seconds;
|
|
498
|
-
/** Knee. Width of the transition zone
|
|
535
|
+
/** Knee. Width of the transition zone centred on the threshold. 0 = hard knee (abrupt), 40 = soft knee (gradual). Range 0–40 dB. Default 10. */
|
|
499
536
|
knee?: Decibels;
|
|
500
537
|
/** Makeup Gain. Boosts the output level to compensate for gain reduction. Up to +30 dB. Range 0–30 dB. Default 0. */
|
|
501
538
|
makeup?: Decibels;
|
|
539
|
+
/** Key Source. What the compressor listens to. INT: the signal it is compressing. EXT: whatever is patched into KEY (side-chain), e.g. a kick that ducks a bass or pad. The gain still lands on IN. Default "internal". */
|
|
540
|
+
keySource?: "internal" | "external";
|
|
502
541
|
}
|
|
503
542
|
export type CompressorInputs = {
|
|
504
543
|
"in": AudioNode;
|
|
544
|
+
"key": AudioNode;
|
|
505
545
|
};
|
|
506
546
|
export type CompressorOutputs = {
|
|
507
547
|
"out": AudioNode;
|
|
@@ -509,6 +549,7 @@ export type CompressorOutputs = {
|
|
|
509
549
|
/** Port properties on the instance: slug → native connect target (same as input()/output()). */
|
|
510
550
|
export type CompressorProps = {
|
|
511
551
|
"in": AudioNode;
|
|
552
|
+
"key": AudioNode;
|
|
512
553
|
"out": AudioNode;
|
|
513
554
|
readonly params: {
|
|
514
555
|
/** Threshold. Native AudioParam — value is dB 1:1. */
|
|
@@ -521,6 +562,8 @@ export type CompressorProps = {
|
|
|
521
562
|
"release": AudioParam;
|
|
522
563
|
/** Knee. Native AudioParam — value is dB 1:1. */
|
|
523
564
|
"knee": AudioParam;
|
|
565
|
+
/** Makeup Gain. Native AudioParam — value is dB 1:1. */
|
|
566
|
+
"makeup": AudioParam;
|
|
524
567
|
};
|
|
525
568
|
};
|
|
526
569
|
export declare const Compressor: LibModule<CompressorParams, CompressorInputs, CompressorOutputs, CompressorProps>;
|
|
@@ -577,9 +620,11 @@ export type DelayProps = {
|
|
|
577
620
|
};
|
|
578
621
|
export declare const Delay: LibModule<DelayParams, DelayInputs, DelayOutputs, DelayProps>;
|
|
579
622
|
export interface DimensionParams {
|
|
623
|
+
/** Stereo Width. Adjusts stereo image. 0=mono, 1=normal, 2=extra wide. Split across a four-gain matrix, so it is set-only (no single AudioParam carries it). Range 0–2. Default 1.5. */
|
|
624
|
+
width?: number;
|
|
580
625
|
/** Rate. Widening LFO speed, driven directly by the oscillator frequency. modRate sums into the same AudioParam. Range 0.1–5 Hz. Default 0.5. */
|
|
581
626
|
rate?: Hz;
|
|
582
|
-
/** Modulation Depth.
|
|
627
|
+
/** Modulation Depth. How far the two BBD-style delay lines sweep (full = 1.65–5.35 ms, in antiphase). The dry signal stays in both channels, so this adds movement and width, not vibrato. Scaled onto the LFO gains, so it is set-only (no single AudioParam carries it 1:1). Range 0–1. Default 0.3. */
|
|
583
628
|
depth?: number;
|
|
584
629
|
}
|
|
585
630
|
export type DimensionInputs = {
|
|
@@ -827,7 +872,7 @@ export declare const Flanger: LibModule<FlangerParams, FlangerInputs, FlangerOut
|
|
|
827
872
|
export interface FormantParams {
|
|
828
873
|
/** Vowel Morph. Position along the A-E-I-O-U vowel formant chain. 0 = A, 5 wraps back to A; fractional values interpolate between neighbouring vowels. Range 0–5. Default 0. */
|
|
829
874
|
morph?: number;
|
|
830
|
-
/** Resonance. Sharpness of the formant peaks
|
|
875
|
+
/** Resonance. Sharpness of the formant peaks. 6 = the bandwidths of a real voice (F1 ≈ 50–80 Hz wide); every band is 6/RES times that, so 1 is soft and blurred, 20 rings like a talk box. Loudness holds across the range. Range 1–20 (sqrt). Default 6. */
|
|
831
876
|
resonance?: number;
|
|
832
877
|
/** Dry/Wet Mix. Balance between the original signal and the formant-filtered output. 0 = dry, 1 = fully wet. Range 0–1. Default 1. */
|
|
833
878
|
mix?: number;
|
|
@@ -844,7 +889,10 @@ export type FormantProps = {
|
|
|
844
889
|
"in": AudioNode;
|
|
845
890
|
"out": AudioNode;
|
|
846
891
|
"modVowel": AudioNode;
|
|
847
|
-
readonly params:
|
|
892
|
+
readonly params: {
|
|
893
|
+
/** Resonance. Native AudioParam — value is the param value 1:1. */
|
|
894
|
+
"resonance": AudioParam;
|
|
895
|
+
};
|
|
848
896
|
};
|
|
849
897
|
export declare const Formant: LibModule<FormantParams, FormantInputs, FormantOutputs, FormantProps>;
|
|
850
898
|
export interface FrequencyShifterParams {
|
|
@@ -882,9 +930,12 @@ export interface GateParams {
|
|
|
882
930
|
attack?: Seconds;
|
|
883
931
|
/** Release. How fast the gate closes when signal falls below threshold. Range 0.01–0.5 s (log). Default 0.1. */
|
|
884
932
|
release?: Seconds;
|
|
933
|
+
/** Key Source. What opens the gate. INT: the signal being gated. EXT: whatever is patched into KEY, e.g. a clock or hi-hat that chops a pad into rhythm. Default "internal". */
|
|
934
|
+
keySource?: "internal" | "external";
|
|
885
935
|
}
|
|
886
936
|
export type GateInputs = {
|
|
887
937
|
"in": AudioNode;
|
|
938
|
+
"key": AudioNode;
|
|
888
939
|
};
|
|
889
940
|
export type GateOutputs = {
|
|
890
941
|
"out": AudioNode;
|
|
@@ -892,8 +943,13 @@ export type GateOutputs = {
|
|
|
892
943
|
/** Port properties on the instance: slug → native connect target (same as input()/output()). */
|
|
893
944
|
export type GateProps = {
|
|
894
945
|
"in": AudioNode;
|
|
946
|
+
"key": AudioNode;
|
|
895
947
|
"out": AudioNode;
|
|
896
948
|
readonly params: {
|
|
949
|
+
/** Threshold. Native AudioParam — value is dB 1:1. */
|
|
950
|
+
"threshold": AudioParam;
|
|
951
|
+
/** Range. Native AudioParam — value is the param value 1:1. */
|
|
952
|
+
"range": AudioParam;
|
|
897
953
|
/** Attack. Native AudioParam — value is s 1:1. */
|
|
898
954
|
"attack": AudioParam;
|
|
899
955
|
/** Release. Native AudioParam — value is s 1:1. */
|
|
@@ -952,7 +1008,7 @@ export interface HarmonicTremoloParams {
|
|
|
952
1008
|
rate?: Hz;
|
|
953
1009
|
/** Modulation Depth. Intensity of the volume modulation. Split across the low- and high-band LFO gains, so it is set-only (no single AudioParam carries it). Range 0–1. Default 0.7. */
|
|
954
1010
|
depth?: number;
|
|
955
|
-
/** Crossover Frequency. Frequency where signal splits into low and high bands
|
|
1011
|
+
/** Crossover Frequency. Frequency where signal splits into low and high bands (−6 dB point of a Linkwitz-Riley 2nd-order pair: both bands 12 dB/oct, summing flat). One audio-rate value drives both filters, so modCrossover moves the split, not just one side. Range 200–2000 Hz. Default 800. */
|
|
956
1012
|
crossover?: Hz;
|
|
957
1013
|
}
|
|
958
1014
|
export type HarmonicTremoloInputs = {
|
|
@@ -1046,13 +1102,13 @@ export type LfoProps = {
|
|
|
1046
1102
|
};
|
|
1047
1103
|
export declare const Lfo: LibModule<LfoParams, LfoInputs, LfoOutputs, LfoProps>;
|
|
1048
1104
|
export interface LoFiParams {
|
|
1049
|
-
/** Saturation.
|
|
1105
|
+
/** Saturation. How hard the signal hits an asymmetric tape-style curve (−18 dB clean … +24 dB heavy). Quiet signals keep their level; loud peaks round off with warm even harmonics. Set-only (it reshapes the curve). Range 0–1. Default 0.3. */
|
|
1050
1106
|
drive?: number;
|
|
1051
1107
|
/** Cutoff. Lowpass filter frequency. Lower = more muffled, vintage sound. Range 500–8000 Hz. Default 4000. */
|
|
1052
1108
|
cutoff?: Hz;
|
|
1053
|
-
/** Vinyl Noise.
|
|
1109
|
+
/** Vinyl Noise. Level of the vinyl surface noise: steady hiss (about −44 dBFS at full) plus random dust ticks and pops. Never repeats. Range 0–1. Default 0.2. */
|
|
1054
1110
|
noise?: number;
|
|
1055
|
-
/** Wobble.
|
|
1111
|
+
/** Wobble. Wow like a worn tape or warped record: a slow 0.73 Hz pitch drift, about ±16 cents at full. Adds WOB × 2 ms of average delay; none at 0. Range 0–1. Default 0.1. */
|
|
1056
1112
|
wobble?: number;
|
|
1057
1113
|
}
|
|
1058
1114
|
export type LoFiInputs = {
|
|
@@ -1070,6 +1126,10 @@ export type LoFiProps = {
|
|
|
1070
1126
|
readonly params: {
|
|
1071
1127
|
/** Cutoff. Native AudioParam — value is Hz 1:1. */
|
|
1072
1128
|
"cutoff": AudioParam;
|
|
1129
|
+
/** Vinyl Noise. Native AudioParam — value is the param value 1:1. */
|
|
1130
|
+
"noise": AudioParam;
|
|
1131
|
+
/** Wobble. Native AudioParam — value is the param value 1:1. */
|
|
1132
|
+
"wobble": AudioParam;
|
|
1073
1133
|
};
|
|
1074
1134
|
};
|
|
1075
1135
|
export declare const LoFi: LibModule<LoFiParams, LoFiInputs, LoFiOutputs, LoFiProps>;
|
|
@@ -1078,6 +1138,8 @@ export interface MidSideParams {
|
|
|
1078
1138
|
midGain?: number;
|
|
1079
1139
|
/** Side Gain. Controls the stereo edges/differences between left and right. Range 0–2. Default 1. */
|
|
1080
1140
|
sideGain?: number;
|
|
1141
|
+
/** Stereo Width. Overall stereo width multiplier applied after side gain. 0=mono, 1=normal, 2=wide. Range 0–2. Default 1. */
|
|
1142
|
+
width?: number;
|
|
1081
1143
|
}
|
|
1082
1144
|
export type MidSideInputs = {
|
|
1083
1145
|
"in": AudioNode;
|
|
@@ -1094,6 +1156,8 @@ export type MidSideProps = {
|
|
|
1094
1156
|
"midGain": AudioParam;
|
|
1095
1157
|
/** Side Gain. Native AudioParam — value is the param value 1:1. */
|
|
1096
1158
|
"sideGain": AudioParam;
|
|
1159
|
+
/** Stereo Width. Native AudioParam — value is the param value 1:1. */
|
|
1160
|
+
"width": AudioParam;
|
|
1097
1161
|
};
|
|
1098
1162
|
};
|
|
1099
1163
|
export declare const MidSide: LibModule<MidSideParams, MidSideInputs, MidSideOutputs, MidSideProps>;
|
|
@@ -1220,11 +1284,11 @@ export declare const PingPong: LibModule<PingPongParams, PingPongInputs, PingPon
|
|
|
1220
1284
|
export interface ResonatorParams {
|
|
1221
1285
|
/** Root Pitch Offset. Semitones added to the V/OCT input. Unpatched the input is silent, so this is the root note itself: 57 = A3 (220 Hz). Driven by a keyboard or sequencer, 0 tracks the incoming notes. Every partial follows. Range -48–108 semitones. Default 57. */
|
|
1222
1286
|
offset?: Semitones;
|
|
1223
|
-
/** Structure. Harmonic spacing of the resonator partials. Left = standard harmonic series, center = bell-like, right = metallic/inharmonic. Range 0–1. Default 0. */
|
|
1287
|
+
/** Structure. Harmonic spacing of the resonator partials. Left = standard harmonic series, center = bell-like, right = metallic/inharmonic. Loudness holds across the knob. Range 0–1. Default 0. */
|
|
1224
1288
|
structure?: number;
|
|
1225
1289
|
/** Damping. Decay time of the modes, exponential across the knob: at A3 the ring lasts ~10 s at 0, ~0.45 s at the centre and ~20 ms at 1 (T60 ≈ 2.2·Q/f, Q 1000 → 2). Upper partials fade faster than the root, as on a real string. Loudness holds across the range — less damping spreads the same strike over a longer ring instead of making it quieter. Range 0–1. Default 0.5. */
|
|
1226
1290
|
damping?: number;
|
|
1227
|
-
/** Dry/Wet Mix. Balance between
|
|
1291
|
+
/** Dry/Wet Mix. Balance between the input and the ringing modes. Fully wet by default, like a hardware resonator: at 1 you hear only the modes; turn it down to keep the original transient under the ring. Range 0–1. Default 1. */
|
|
1228
1292
|
mix?: number;
|
|
1229
1293
|
}
|
|
1230
1294
|
export type ResonatorInputs = {
|
|
@@ -1328,9 +1392,9 @@ export type RotaryProps = {
|
|
|
1328
1392
|
};
|
|
1329
1393
|
export declare const Rotary: LibModule<RotaryParams, RotaryInputs, RotaryOutputs, RotaryProps>;
|
|
1330
1394
|
export interface SaturatorParams {
|
|
1331
|
-
/** Drive. How hard to
|
|
1395
|
+
/** Drive. How hard the signal hits the tape curve, from −12 dB (clean) to +24 dB (heavy). The output is trimmed back by the same amount, like a tape machine aligned to its operating level: quiet signals pass at unity, loud peaks round off into harmonics and soft compression. DRIVE changes the tone, not the volume. Set-only (it reshapes the curve). Range 0–1. Default 0.5. */
|
|
1332
1396
|
drive?: number;
|
|
1333
|
-
/** Warmth. Low
|
|
1397
|
+
/** Warmth. Low-shelf boost below 300 Hz, up to +6 dB, after the saturation. A tone control for low-end weight, not more distortion. Range 0–1. Default 0.5. */
|
|
1334
1398
|
warmth?: number;
|
|
1335
1399
|
/** Dry/Wet Mix. Balance between clean and saturated signal. Range 0–1. Default 1. */
|
|
1336
1400
|
mix?: number;
|
|
@@ -1437,6 +1501,8 @@ export declare const SpringReverb: LibModule<SpringReverbParams, SpringReverbInp
|
|
|
1437
1501
|
export interface StereoSpreadParams {
|
|
1438
1502
|
/** Spread Amount. Controls the micro-delay time for Haas widening (0–5ms). More spread = wider perceived stereo image. Range 0–1. Default 0.7. */
|
|
1439
1503
|
spread?: number;
|
|
1504
|
+
/** Dry/Wet. Balance between mono (0%) and widened (200%) high frequencies. Range 0–2. Default 1. */
|
|
1505
|
+
width?: number;
|
|
1440
1506
|
/** Crossover Frequency. Frequency above which Haas spreading is applied. Lows below this stay centered for mono compatibility. Range 200–2000 Hz (log). Default 800. */
|
|
1441
1507
|
center?: Hz;
|
|
1442
1508
|
}
|
|
@@ -1450,7 +1516,10 @@ export type StereoSpreadOutputs = {
|
|
|
1450
1516
|
export type StereoSpreadProps = {
|
|
1451
1517
|
"in": AudioNode;
|
|
1452
1518
|
"out": AudioNode;
|
|
1453
|
-
readonly params:
|
|
1519
|
+
readonly params: {
|
|
1520
|
+
/** Dry/Wet. Native AudioParam — value is the param value 1:1. */
|
|
1521
|
+
"width": AudioParam;
|
|
1522
|
+
};
|
|
1454
1523
|
};
|
|
1455
1524
|
export declare const StereoSpread: LibModule<StereoSpreadParams, StereoSpreadInputs, StereoSpreadOutputs, StereoSpreadProps>;
|
|
1456
1525
|
export interface SubharmonicParams {
|
|
@@ -1647,7 +1716,7 @@ export interface VcoParams {
|
|
|
1647
1716
|
skew?: number;
|
|
1648
1717
|
/** Waveshape Curvature. Curvature of the waveform: −1 square, 0 triangle, +1 sine. Range -1–1. Default 0. */
|
|
1649
1718
|
shape?: number;
|
|
1650
|
-
/** Pitch Offset. Semitones added to the V/OCT input (12 = one octave). Unpatched the input is silent, so
|
|
1719
|
+
/** Pitch Offset. Semitones added to the V/OCT input (12 = one octave). Unpatched, the input is silent (note 0, C−1), so the offset counts up from there: 69 semitones above C−1 = A4. Driven by an absolute pitch CV (keyboard, sequencer), set 0 to play as-is or ±12 to shift an octave. Range -48–108 semitones. Default 69. */
|
|
1651
1720
|
offset?: Semitones;
|
|
1652
1721
|
/** Detune. Fine pitch offset in semitones; ±1 = ±100 cents. Use for detuning oscillators against each other. Range -1–1 semitones. Default 0. */
|
|
1653
1722
|
detune?: Semitones;
|
|
@@ -1691,7 +1760,7 @@ export interface WahParams {
|
|
|
1691
1760
|
resonance?: number;
|
|
1692
1761
|
/** Auto-Wah Rate. Speed of the automatic wah sweep in Hz. Range 0.1–10 Hz (log). Default 1. */
|
|
1693
1762
|
rate?: Hz;
|
|
1694
|
-
/** Modulation Depth. How much the frequency sweeps. Full depth
|
|
1763
|
+
/** Modulation Depth. How much the frequency sweeps. Full depth = 3 octaves top to bottom (±1.5 octaves around the center). Range 0–1. Default 0.6. */
|
|
1695
1764
|
depth?: number;
|
|
1696
1765
|
}
|
|
1697
1766
|
export type WahInputs = {
|