@vessel-dsp/runtime 0.2.0 → 0.2.2
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 +40 -107
- package/dist/taper.d.ts.map +1 -1
- package/dist/taper.js +8 -4
- package/dist/taper.js.map +1 -1
- package/dist/v2-wasm-engine.d.ts.map +1 -1
- package/dist/v2-wasm-engine.js +3 -1
- package/dist/v2-wasm-engine.js.map +1 -1
- package/dist/wasm/v2_dsp.wasm +0 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,27 +1,28 @@
|
|
|
1
1
|
# @vessel-dsp/runtime
|
|
2
2
|
|
|
3
|
-
Headless real time MNA simulation runtime and solver console for compiled VesselDSP `Program` ROMs. It executes a `@vessel-dsp/compiler` program on audio streams with trapezoidal integration and damped Newton Raphson iteration. It depends on `@vessel-dsp/compiler` only.
|
|
3
|
+
Headless real time MNA simulation runtime and solver console for compiled VesselDSP `Program` ROMs. It executes a `@vessel-dsp/compiler` program on audio streams with trapezoidal integration and damped Newton Raphson iteration. It depends on `@vessel-dsp/compiler` only. The same package ships the compiled C++/WASM console (`V2WasmEngine`) as a release artifact under `./wasm/*`.
|
|
4
4
|
|
|
5
5
|
## Install
|
|
6
6
|
|
|
7
|
-
`@vessel-dsp/runtime` 0.1
|
|
7
|
+
`@vessel-dsp/runtime` 0.2.1 is on npm. Use runtime 0.2.1 or later: 0.2.0 cannot load a program inside an AudioWorklet (`structuredClone` is not defined there).
|
|
8
|
+
|
|
8
9
|
|
|
9
10
|
```bash
|
|
10
|
-
|
|
11
|
-
bun add @vessel-dsp/runtime
|
|
11
|
+
bun add @vessel-dsp/runtime @vessel-dsp/compiler
|
|
12
12
|
```
|
|
13
13
|
|
|
14
|
+
Subpath exports: `.` (the `ReferenceRuntime` console, chain runtime, admission, settling, and measurement helpers) and `./wasm/*` (the compiled solver console files: `v2_dsp.cjs` glue plus `v2_dsp.wasm`).
|
|
15
|
+
|
|
14
16
|
## Minimal example
|
|
15
17
|
|
|
16
|
-
The constructor takes the program and optional block elimination only. The sample rate goes to `prepare()`, which has no default. `process()` takes a `Float64Array` and returns a new `Float64Array`.
|
|
18
|
+
The constructor takes the program and optional block elimination only. The sample rate goes to `prepare()`, which has no default. `process()` takes a `Float64Array` and returns a new `Float64Array`. The circuit below ships with the compiler under `./fixtures`, so this runs as written:
|
|
17
19
|
|
|
18
20
|
```ts
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
+
import { compile, emptyRegistry } from "@vessel-dsp/compiler";
|
|
22
|
+
import { commonEmitterAmplifier } from "@vessel-dsp/compiler/fixtures";
|
|
21
23
|
import { ReferenceRuntime } from "@vessel-dsp/runtime";
|
|
22
24
|
|
|
23
|
-
const
|
|
24
|
-
const compiled = compile(source, { registry: pedalPartCatalog });
|
|
25
|
+
const compiled = compile(commonEmitterAmplifier, { registry: emptyRegistry });
|
|
25
26
|
if (compiled.status !== "ok") throw new Error("compile failed");
|
|
26
27
|
|
|
27
28
|
const runtime = new ReferenceRuntime(compiled.program);
|
|
@@ -42,7 +43,7 @@ console.log("output peak:", peak.toFixed(6));
|
|
|
42
43
|
```text
|
|
43
44
|
output length: 128
|
|
44
45
|
output is Float64Array: true
|
|
45
|
-
output peak: 0.
|
|
46
|
+
output peak: 0.896891
|
|
46
47
|
```
|
|
47
48
|
|
|
48
49
|
The previous version of this example constructed `new ReferenceRuntime(program, 44100)` and called `process(inputBuffer, outputBuffer)` with `Float32Array` buffers. That throws `RuntimeError: prepare(sampleRate) was never called`, because the second constructor argument is an options object and the rate is only accepted by `prepare()`.
|
|
@@ -64,115 +65,47 @@ The previous version of this example constructed `new ReferenceRuntime(program,
|
|
|
64
65
|
|
|
65
66
|
## Supply control
|
|
66
67
|
|
|
67
|
-
`getSupplies()` lists every addressable `dc-source` stamp as `SupplyInfo` (`address`, `positive`, `negative`, `volts`, `sourceOhms`)
|
|
68
|
+
Both consoles expose the same pair: `getSupplies()` lists every addressable `dc-source` stamp as `SupplyInfo` (`address`, `positive`, `negative`, `volts`, `sourceOhms`), and `setSupply(addresses, volts, sourceOhms)` retargets them between `process()` calls with effect from the next sample. The common-emitter fixture reports one supply: block 0, source 0, 9 V, 1 ohm.
|
|
69
|
+
|
|
70
|
+
`setSupply` validates every address before touching state, replaces the touched stamps on the runtime own copies (never the caller `Program`), rebuilds each affected block base matrix the way `prepare()` builds it, and bumps the control generation so eliminated path factorisation rebuilds. Re applying identical values rebuilds nothing (`supplyRebuilds` unchanged). The DC operating point is deliberately not re solved and reactive state carries over.
|
|
68
71
|
|
|
69
|
-
`setSupply
|
|
72
|
+
Call `setSupply` before `prepare()` or mid-stream. The two consoles solve the operating point at different moments, so a call between `prepare()` and the first sample is not guaranteed to agree across them. Which stamps are the external supply is the compiler's `resolveSupplyStamps` (see the Compiler guide); the consoles only retarget the addresses they are given.
|
|
70
73
|
|
|
71
|
-
What it does not do: no mutation of the caller `Program` (two runtimes from one program never interact; a frozen program never throws), no envelope follower or waveshaper, no audio domain processing of any kind.
|
|
74
|
+
What it does not do: no mutation of the caller `Program` (two runtimes from one program never interact; a frozen program never throws), no envelope follower or waveshaper, no audio domain processing of any kind.
|
|
72
75
|
|
|
73
76
|
`supplyRebuilds` counts block base matrix rebuilds so far. Bad addresses throw: unknown block index, non MNA block, or missing source index, each naming the block and index. Non finite volts and negative or non finite `sourceOhms` throw.
|
|
74
77
|
|
|
75
78
|
## Admission
|
|
76
79
|
|
|
77
|
-
`admissionVerdict(chain, sampleRate, budget)` answers whether an ordered list of programs can be shown to fit inside a host CPU budget. Costs add across slots; a one program caller passes a one element list. The budget carries `nsPerSolve`, `nsPerMacroSample` (required; an unpriced model is refused by name, never costed at zero), `budgetedIterationsPerSample` (default 64, a sustained policy allowance, not the solver cap), and `cpuBudgetFraction` (default 1). The verdict is `{ fits: true }` or `{ fits: false, reason }` with the worst offender named by slot, block, unknowns, and nanoseconds. `predictedWorstCaseNs` returns the same sum as a number, or null when a model has no price.
|
|
80
|
+
`admissionVerdict(chain, sampleRate, budget)` answers whether an ordered list of programs can be shown to fit inside a host CPU budget. Costs add across slots; a one program caller passes a one element list. The budget carries `nsPerSolve`, `nsPerMacroSample` (required; an unpriced model is refused by name, never costed at zero), `budgetedIterationsPerSample` (default 64, a sustained policy allowance, not the solver cap), and `cpuBudgetFraction` (default 1). The verdict is `{ fits: true }` or `{ fits: false, reason }` with the worst offender named by slot, block, unknowns, and nanoseconds. `predictedWorstCaseNs` returns the same sum as a number, or null when a model has no price. `calibrateNsPerSolve` measures this host's real per-solve cost to feed the budget instead of a guess.
|
|
78
81
|
|
|
79
82
|
## Settling and measurement
|
|
80
83
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
| Name | What it is |
|
|
84
|
-
| --- | --- |
|
|
85
|
-
| `findSettled` | First window at which the level holds still, or null. |
|
|
86
|
-
| `measureSettled` | Render until the output level stops moving and report it. |
|
|
87
|
-
| `measureSettledSignal` | Driven level with the silent part removed. |
|
|
88
|
-
| `measureSharedWindow` | Several drive levels over one shared settled window. |
|
|
89
|
-
| `measureInputAttributable` | Per node AC attributable to the input (driven minus silent). |
|
|
90
|
-
| `settledRender` | Render until still, in a value, refusal, or diverged shape. |
|
|
91
|
-
| `settledLevel` | `settledRender` level as a bare number, throwing when it cannot settle. |
|
|
92
|
-
| `settledSweep` | Settle once, then measure each control setting on the same runtime. |
|
|
93
|
-
| `settledSweepVerified` | Sweep with one point verified against an independent render. |
|
|
94
|
-
| `sweepMatchesIndependent` | Whether a sweep point matches an independent render. |
|
|
95
|
-
| `sweepIsOrderIndependent` | Whether sweep order changes the result. |
|
|
96
|
-
| `settleSelfCheck` | Known answer controls for the measurement primitives. |
|
|
97
|
-
| `SettleOptions` | Window, consecutive, stable dB, and ladder seconds. |
|
|
98
|
-
| `SETTLE_DEFAULTS` | Corpus measured defaults (0.5 s window, 2 consecutive, 0.25 dB). |
|
|
99
|
-
| `SettleCriterion` | Which criterion produced a measurement. |
|
|
100
|
-
| `Settled` | `{ rms, seconds }` of the settled window. |
|
|
101
|
-
| `SettledMeasurement` | `{ rms, peak, settleSeconds, renderedSeconds, flatAtZero }`. |
|
|
102
|
-
| `SettledRender` | Value, refusal, or diverged outcome of `settledRender`. |
|
|
103
|
-
| `SettledRenderOptions` | What to render. |
|
|
104
|
-
| `SettleRefusal` | Thrown by `settledLevel` instead of an unstandable level. |
|
|
105
|
-
| `SharedWindowMeasurement` | One drive behaviour over the shared window. |
|
|
106
|
-
| `AttributedMeasurement` | Driven level plus attributable fraction from one window. |
|
|
107
|
-
| `InputAttributableNode` | One node response with and without stimulus. |
|
|
108
|
-
| `FLAT_AT_ZERO_RMS` | Level below this (1e-6) is noise, not measurement. |
|
|
109
|
-
| `isFlatAtZero` | Whether a level is indistinguishable from noise. |
|
|
110
|
-
|
|
111
|
-
`findSettled([1, 1.001, 1.0005, 1.0001])` returns `{ rms: 1.0005, seconds: 1.5 }`; `findSettled([1, 2, 4, 8])` returns null. `measureSettled` on `big-muff-pi` at 48000 Hz with a 0.3 V 440 Hz sine reports rms about 0.2010, peak about 0.2491, settled in 1.5 s.
|
|
84
|
+
`settledRender(program, options)` renders until the output level stops moving and returns a verdict — `settled` with `rms`, `peak`, and the rendered tail, or a refusal/diverged shape — never a bare number. The resistor-divider fixture at 1 V drive settles to exactly its 0.5 ratio (`rms` 0.3536, `peak` 0.5). Alongside it: `measureSharedWindow` and `measureInputAttributable` (shared-window comparisons), `settledSweepVerified` (a control sweep with one point verified against an independent render), and `SETTLE_DEFAULTS` (corpus measured defaults: 0.5 s window, 2 consecutive, 0.25 dB).
|
|
112
85
|
|
|
113
86
|
## Chain runtime and advisories
|
|
114
87
|
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
| `processorSlot` | An injected processor (NAM, IR, cab) as a slot. |
|
|
122
|
-
| `ExternalProcessor` | A host supplied processor: NAM profile, impulse response, cab simulation. |
|
|
123
|
-
| `slotContract` | The contract a slot presents to seam arithmetic. |
|
|
124
|
-
| `SlotContract` | What the chain needs to know about a slot. |
|
|
125
|
-
| `slotLabel` | Human readable label for a slot. |
|
|
126
|
-
| `supplyGroundConflicts` | Slot pairs whose shared supply would short through grounds. |
|
|
127
|
-
| `SupplyGroundConflict` | One conflicting slot pair with message. |
|
|
128
|
-
| `chainAdvisories` | Seams where one side states no full scale, plus kind errors. |
|
|
129
|
-
| `ChainAdvisory` | One chain problem with code, slots, and message. |
|
|
130
|
-
| `chainScaleFactor` | Multiplier from two adjacent port full scales (null is unity). |
|
|
131
|
-
| `chainScaleAdvisories` | Boundaries where the chain fell back to unity scaling. |
|
|
132
|
-
| `ChainScaleAdvisory` | One unity fallback boundary with message. |
|
|
133
|
-
| `seamScale` | Multiplier applied to the signal crossing into a slot. |
|
|
134
|
-
| `seamDivider` | Resistive divider at a seam, or 1 when not computable. |
|
|
135
|
-
| `dacScaleFactor` | Worklet DAC multiplier so a rail swing does not peg output. |
|
|
136
|
-
| `outputDbfs` | Output level in dBFS at the DAC. |
|
|
137
|
-
| `outputConversionFullScale` | Declared 0 dBFS reference where stated, else derived ceiling. |
|
|
138
|
-
| `taperFraction` | Fraction of track at a 0..1 position for a taper kind. |
|
|
139
|
-
| `StageCoverage` | `instrument`, `preamp`, `speaker-electrical`, or `miked`. |
|
|
140
|
-
|
|
141
|
-
`ChainRuntime` gates the whole chain once against the admission budget, then prepares every slot ungated at the same rate. `process()` feeds slot outputs forward with `seamScale` between them. `setControl(slot, id, position)` addresses one slot; processor slots refuse with the slot named. `telemetry()` returns per slot telemetry, never blended.
|
|
142
|
-
|
|
143
|
-
`supplyGroundConflicts([muff, rangemaster])` reports that the positive ground treble booster and the negative ground muff cannot share one supply. `chainAdvisories` reports `unscalable-seam` where a full scale is null, `speaker-signal-into-input` where a speaker terminal feeds an instrument input, `cab-after-miked`, `undividable-seam`, and `instrument-into-speaker-stage`.
|
|
144
|
-
|
|
145
|
-
## WASM engine
|
|
146
|
-
|
|
147
|
-
| Name | What it is |
|
|
148
|
-
| --- | --- |
|
|
149
|
-
| `V2WasmEngine` | Exported TypeScript wrapper around the C++ V2 console. Requires a build artifact the package does not ship; not usable from the npm package today. |
|
|
150
|
-
| `getV2WasmModule` | Loads the V2 Emscripten module from the missing build artifact. |
|
|
151
|
-
|
|
152
|
-
`V2WasmEngine` dynamically imports `../../build/v2_dsp.cjs`, a built artifact that is not in this repository and not in the package `files` (`dist`, `README.md`, `LICENSE.md`). From an installed tarball it fails with:
|
|
88
|
+
- `ChainRuntime`: ordered slots where each slot output feeds the next. `programSlot` wraps a compiled circuit; `processorSlot` wraps a host supplied processor (NAM, IR, cab). Gates the whole chain once against the admission budget, then prepares every slot ungated at the same rate. `setControl(slot, id, position)` addresses one slot; `telemetry()` returns per slot telemetry, never blended.
|
|
89
|
+
- `slotContract`: the contract a slot presents to seam arithmetic. `supplyGroundConflicts([programs])`: slot groups whose shared supply would short through grounds (fires when a `positive-ground` program meets a `negative-ground` or `dual-rail` one; `unpowered` conflicts with nothing). `chainAdvisories([contracts])`: seams where one side states no full scale (`unscalable-seam`), plus kind errors (`speaker-signal-into-input`, `cab-after-miked`, `undividable-seam`, `instrument-into-speaker-stage`, `bypass-not-modelled`).
|
|
90
|
+
- `seamScale`: multiplier applied to the signal crossing into a slot (1 when either side states no full scale). `dacScaleFactor`: worklet DAC multiplier so a rail swing does not peg output. `outputConversionFullScale`: declared 0 dBFS reference where stated, else derived ceiling. `outputDbfs`: output level in dBFS at the DAC.
|
|
91
|
+
- `taperFraction`: fraction of track at a 0..1 position for a taper kind.
|
|
92
|
+
- `resolveBypassMode`: chain bypass mode for a program bypass, or null where the host must decide (`buffered` kinds until the buffer program lands).
|
|
93
|
+
- `bypassNotModelledAdvisories`: bypass requests on slots whose packet declares no bypass switch.
|
|
153
94
|
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
95
|
+
`supplyGroundConflicts([muff, rangemaster])` reports that the positive ground treble booster and the negative ground muff cannot share one supply. See the Runtime guide for worked samples.
|
|
96
|
+
|
|
97
|
+
## WASM console
|
|
98
|
+
|
|
99
|
+
`V2WasmEngine` is the compiled C++/WASM console for the same programs. It ships in this package: `bun run --cwd packages/runtime build:wasm` (needs `em++`) writes `v2_dsp.cjs` plus `v2_dsp.wasm` to the gitignored `src/wasm/`, `build` copies them to `dist/wasm/`, and `prepack` does both, so the published tarball always carries a freshly built console. The 0.2.0 tarball is about 1.0 MB packed (3.1 MB unpacked): 2.1 MB of wasm plus about 15 KB of glue.
|
|
100
|
+
|
|
101
|
+
`V2WasmEngine.create(program?)` loads the glue from the package's own `dist/wasm/` — no path to configure — and optionally loads a program. `prepare({ sampleRate, maxNewtonIterations, inputSourceOhms })` (rate defaults to 48000), `processSample` / `processBlock` on `Float32Array`s, `getControl` beside `setControl`, `getSupplies`/`setSupply` with the same validation and `RuntimeError` behaviour as the reference console, and schedule telemetry (`getScheduleTelemetry`: solves, fallbacks, kernel solves, repivoted, abandoned, dropped blocks — a healthy packet reads zero fallbacks and zero abandoned blocks).
|
|
102
|
+
|
|
103
|
+
A host that cannot dynamically import the glue — an `AudioWorkletGlobalScope` bundles it statically and has no `fetch` — instantiates the module from pre-fetched bytes and passes it as the second argument: `V2WasmEngine.create(program, mod)`, where `mod` comes from the glue factory called with `{ wasmBinary }` read from `@vessel-dsp/runtime/wasm/v2_dsp.wasm`. See the Runtime guide for both paths end to end; on a biased BJT stage the two consoles agree sample by sample to about 1e-7.
|
|
104
|
+
|
|
105
|
+
## Reference console surface
|
|
106
|
+
|
|
107
|
+
Values: `ReferenceRuntime`, `DEFAULT_NEWTON_MAX_ITERATIONS`, `admissionVerdict`, `predictedWorstCaseNs`, `calibrateNsPerSolve`, `denseLinearSolveWorkload`, `ChainRuntime`, `programSlot`, `processorSlot`, `slotContract`, `resolveBypassMode`, `chainAdvisories`, `bypassNotModelledAdvisories`, `seamScale`, `dacScaleFactor`, `outputConversionFullScale`, `outputDbfs`, `supplyGroundConflicts`, `taperFraction`, `settledRender`, `settledSweepVerified`, `measureSharedWindow`, `measureInputAttributable`, `SETTLE_DEFAULTS`, `V2WasmEngine`.
|
|
108
|
+
|
|
109
|
+
Types (import with `import type`): `RuntimeNodeVoltageSnapshot`, `SupplyAddress`, `SupplyInfo`, `AdmissionVerdict`, `RealtimeBudget`, `ChainSlot`, `ExternalProcessor`, `SlotContract`, `StageCoverage`, `SupplyGroundConflict`, `ChainAdvisory`, `SettleOptions`, `CalibrationResult`, and the rest in the package sources.
|
|
160
110
|
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
## Reference runtime surface
|
|
164
|
-
|
|
165
|
-
| Name | What it is |
|
|
166
|
-
| --- | --- |
|
|
167
|
-
| `ReferenceRuntime` | The executable semantics of the program format. |
|
|
168
|
-
| `RuntimeTelemetry` | What the solver did, so failing to solve is never silent. |
|
|
169
|
-
| `RuntimeBranchCurrent` | One solved branch current per auxiliary unknown. |
|
|
170
|
-
| `RuntimeNodeVoltageSnapshot` | Per block node voltages. |
|
|
171
|
-
| `SupplyAddress` | `{ blockIndex, sourceIndex }` naming one `dc-source` stamp. |
|
|
172
|
-
| `SupplyInfo` | Address plus the stamp own positive, negative, volts, sourceOhms. |
|
|
173
|
-
| `DEFAULT_NEWTON_MAX_ITERATIONS` | How long a Newton loop may try before its iterate is the answer. |
|
|
174
|
-
| `RealtimeBudget` | Host measured solve costs plus iteration and fraction policy. |
|
|
175
|
-
| `AdmissionVerdict` | `{ fits: true }` or `{ fits: false, reason }`. |
|
|
176
|
-
| `admissionVerdict` | Whether a chain of programs fits inside a budget. |
|
|
177
|
-
| `predictedWorstCaseNs` | The admission worst case sum as a number, or null. |
|
|
178
|
-
| `RuntimeError` | Thrown for misuse: no prepare, bad rate, bad control, bad supply, unimplemented operator or model. |
|
|
111
|
+
`RuntimeError` is thrown for misuse: no prepare, bad rate, bad control, bad supply, unimplemented operator or model.
|
package/dist/taper.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taper.d.ts","sourceRoot":"","sources":["../src/taper.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"taper.d.ts","sourceRoot":"","sources":["../src/taper.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAoBxE"}
|
package/dist/taper.js
CHANGED
|
@@ -16,10 +16,14 @@
|
|
|
16
16
|
*/
|
|
17
17
|
export function taperFraction(taper, position) {
|
|
18
18
|
const x = Math.min(1, Math.max(0, position));
|
|
19
|
-
// Base
|
|
20
|
-
// exactly 0.
|
|
21
|
-
//
|
|
22
|
-
|
|
19
|
+
// Base 1089/49 is not arbitrary: it is the value for which (b^0.5 - 1)/(b - 1) is
|
|
20
|
+
// exactly 0.175, the midpoint of the Alpha A-taper maker's bracket (10-25% of track
|
|
21
|
+
// at the 150-degree test point of a 300-degree rotation; Alpha RV16AF SP16050157
|
|
22
|
+
// p. 4 section 2.4). Solving 0.175 = (u - 1)/(u^2 - 1) = 1/(u + 1) for u = sqrt(b)
|
|
23
|
+
// gives u = 33/7, so b = 1089/49. Meter-confirmed 2026-10-01 on specimen RT-301860:
|
|
24
|
+
// Volume 19.3%, Distortion 20%, Filter 21% at the noon mark. The previous base 81
|
|
25
|
+
// (10% edge of the same bracket) under-read every audio-taper noon by ~4.4 dB.
|
|
26
|
+
const audioBase = 1089 / 49;
|
|
23
27
|
if (taper === "logarithmic") {
|
|
24
28
|
return (audioBase ** x - 1) / (audioBase - 1);
|
|
25
29
|
}
|
package/dist/taper.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taper.js","sourceRoot":"","sources":["../src/taper.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,EAAE;AACF,mFAAmF;AACnF,qFAAqF;AACrF,wFAAwF;AACxF,kFAAkF;AAClF,sFAAsF;AACtF,EAAE;AACF,0FAA0F;AAI1F;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,KAAgB,EAAE,QAAgB;IAC/D,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC7C,
|
|
1
|
+
{"version":3,"file":"taper.js","sourceRoot":"","sources":["../src/taper.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,EAAE;AACF,mFAAmF;AACnF,qFAAqF;AACrF,wFAAwF;AACxF,kFAAkF;AAClF,sFAAsF;AACtF,EAAE;AACF,0FAA0F;AAI1F;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,KAAgB,EAAE,QAAgB;IAC/D,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC7C,kFAAkF;IAClF,oFAAoF;IACpF,iFAAiF;IACjF,mFAAmF;IACnF,oFAAoF;IACpF,kFAAkF;IAClF,+EAA+E;IAC/E,MAAM,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;IAC5B,IAAI,KAAK,KAAK,aAAa,EAAE,CAAC;QAC7B,OAAO,CAAC,SAAS,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,KAAK,KAAK,qBAAqB,EAAE,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,KAAK,KAAK,gBAAgB,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,CAAC;IACd,CAAC;IACD,OAAO,CAAC,CAAC;AACV,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v2-wasm-engine.d.ts","sourceRoot":"","sources":["../src/v2-wasm-engine.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAK1D,wBAAsB,eAAe,iBAQpC;AAED,qBAAa,YAAY;IAExB,OAAO,CAAC,GAAG,CAAM;IAEjB,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,cAAc,CAA6B;IACnD,OAAO,CAAC,eAAe,CAA6B;IACpD;;;;;OAKG;IACH,OAAO,CAAC,OAAO,CAAwB;IAEvC,OAAO;IAKP;;;;;OAKG;WAEiB,MAAM,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC;IAaxE,OAAO,IAAI,IAAI;IAOf,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"v2-wasm-engine.d.ts","sourceRoot":"","sources":["../src/v2-wasm-engine.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAK1D,wBAAsB,eAAe,iBAQpC;AAED,qBAAa,YAAY;IAExB,OAAO,CAAC,GAAG,CAAM;IAEjB,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,cAAc,CAA6B;IACnD,OAAO,CAAC,eAAe,CAA6B;IACpD;;;;;OAKG;IACH,OAAO,CAAC,OAAO,CAAwB;IAEvC,OAAO;IAKP;;;;;OAKG;WAEiB,MAAM,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC;IAaxE,OAAO,IAAI,IAAI;IAOf,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAiBnC,OAAO,CAAC,OAAO,GAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,IAAI;IAS5G,KAAK,IAAI,IAAI;IAIb,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAQrD,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAS5C;;;;;;OAMG;IACI,WAAW,IAAI,SAAS,UAAU,EAAE;IAmB3C;;;;;;;;;;;OAWG;IACI,SAAS,CAAC,SAAS,EAAE,SAAS,aAAa,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IA+FvF,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIpC,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI;IAsB7D,qBAAqB,IAAI,MAAM;IAI/B,gBAAgB,IAAI,OAAO;IAI3B,gBAAgB,IAAI,MAAM;IAI1B,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAI7D,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAIzD,YAAY,IAAI,MAAM;IAK7B;;;;;;;;;;;;;;OAcG;IACI,oBAAoB,IAAI;QAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;QACjC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;QACjC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;KAC/B;CAUD"}
|
package/dist/v2-wasm-engine.js
CHANGED
|
@@ -70,7 +70,9 @@ export class V2WasmEngine {
|
|
|
70
70
|
const errStr = errPtr ? this.mod.UTF8ToString(errPtr) : "";
|
|
71
71
|
throw new Error(`Failed to load program into V2 C++ Engine${errStr ? `: ${errStr}` : ""}`);
|
|
72
72
|
}
|
|
73
|
-
this
|
|
73
|
+
// JSON round-trip, not `structuredClone`: this runs inside an AudioWorkletGlobalScope, which
|
|
74
|
+
// does not expose `structuredClone`. The program is JSON by construction (stringified above).
|
|
75
|
+
this.program = JSON.parse(json);
|
|
74
76
|
}
|
|
75
77
|
prepare(options = {}) {
|
|
76
78
|
const sr = options.sampleRate ?? 48000.0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v2-wasm-engine.js","sourceRoot":"","sources":["../src/v2-wasm-engine.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"v2-wasm-engine.js","sourceRoot":"","sources":["../src/v2-wasm-engine.ts"],"names":[],"mappings":"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"}
|
package/dist/wasm/v2_dsp.wasm
CHANGED
|
Binary file
|