@map-audio/pam-mcp-server 1.22.0 → 1.27.0
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 +33 -6
- package/dist/audioAnalysis.d.ts +1 -1
- package/dist/audioAnalysis.js +3 -4
- package/dist/audioAnalysis.js.map +1 -1
- package/dist/bridge.d.ts +4 -0
- package/dist/bridge.js +53 -160
- package/dist/bridge.js.map +1 -1
- package/dist/drumSynth.js +1 -1
- package/dist/drumSynth.js.map +1 -1
- package/dist/drumSynthEngines.json +1 -1
- package/dist/fgemma-runner.js +20 -4
- package/dist/fgemma-runner.js.map +1 -1
- package/dist/generated/kvWriteOptions.d.ts +20 -0
- package/dist/generated/kvWriteOptions.js +45 -0
- package/dist/generated/kvWriteOptions.js.map +1 -0
- package/dist/generated/variationSnapshot.d.ts +8 -4
- package/dist/generated/variationSnapshot.js +6 -23
- package/dist/generated/variationSnapshot.js.map +1 -1
- package/dist/generativePlayerPresets.json +70 -0
- package/dist/generativePlayers.json +134 -0
- package/dist/manifest-cell1.json +2 -2
- package/dist/manifest-mfx.json +178 -37
- package/dist/manifest-msq.json +9564 -0
- package/dist/manifest.d.ts +1 -1
- package/dist/manifest.js +17 -9
- package/dist/manifest.js.map +1 -1
- package/dist/manifest.json +11227 -2841
- package/dist/mfxCombos.js +1 -1
- package/dist/mfxCombos.js.map +1 -1
- package/dist/midiFile.d.ts +21 -0
- package/dist/midiFile.js +108 -0
- package/dist/midiFile.js.map +1 -0
- package/dist/mixAssist.d.ts +35 -0
- package/dist/mixAssist.js +247 -19
- package/dist/mixAssist.js.map +1 -1
- package/dist/patternLanes.d.ts +40 -0
- package/dist/patternLanes.js +108 -0
- package/dist/patternLanes.js.map +1 -0
- package/dist/players.d.ts +89 -0
- package/dist/players.js +235 -0
- package/dist/players.js.map +1 -0
- package/dist/presetSave.d.ts +8 -0
- package/dist/presetSave.js +35 -0
- package/dist/presetSave.js.map +1 -1
- package/dist/sampleSlicing.d.ts +12 -0
- package/dist/sampleSlicing.js +78 -0
- package/dist/sampleSlicing.js.map +1 -0
- package/dist/server.js +1828 -525
- package/dist/server.js.map +1 -1
- package/dist/targetDenylist.json +20 -0
- package/dist/variationSessionKeys.json +34 -1
- package/package.json +5 -4
package/dist/mixAssist.js
CHANGED
|
@@ -85,6 +85,8 @@ export const MAX_EQ_CUT_DB = 3; // Hafezi bound
|
|
|
85
85
|
export const MAX_EQ_LOW_CUT_DB = 1.5; // preserve low-end weight on non-bass maskers
|
|
86
86
|
export const MAX_EQ_CUTS = 2;
|
|
87
87
|
export const EQ_EPSILON_DB = 0.3;
|
|
88
|
+
// planEqCut score below which no EQ3 knob reaches the conflict usefully.
|
|
89
|
+
export const MIN_EQ_CUT_SCORE = 0.2;
|
|
88
90
|
// --- dynamics (comp) stage ---
|
|
89
91
|
export const CREST_ENGAGE_DB = 14; // plr above this makes a cell comp-eligible
|
|
90
92
|
export const COMP_RATIO_MIN = 1.5;
|
|
@@ -111,6 +113,120 @@ export function mixParamDefault(key) {
|
|
|
111
113
|
const suffix = key.replace(/^cell\d+_/, '');
|
|
112
114
|
return MIX_PARAM_DEFAULTS[suffix] ?? 0;
|
|
113
115
|
}
|
|
116
|
+
export const gainToDb = (gain) => 20 * Math.log10(Math.max(gain, 1e-9));
|
|
117
|
+
/** |H(e^jw)| for one normalized RBJ biquad section. */
|
|
118
|
+
export function rbjBiquadMagnitude(frequencyHz, sampleRate, type, centerHz, gainDb, q) {
|
|
119
|
+
const w = (2 * Math.PI * Math.min(Math.max(frequencyHz, 1e-6), sampleRate * 0.4999)) / sampleRate;
|
|
120
|
+
const w0 = (2 * Math.PI * Math.min(Math.max(centerHz, 1e-3), sampleRate * 0.4999)) / sampleRate;
|
|
121
|
+
const cos0 = Math.cos(w0);
|
|
122
|
+
const sin0 = Math.sin(w0);
|
|
123
|
+
const A = Math.pow(10, (gainDb || 0) / 40);
|
|
124
|
+
const alpha0 = sin0 / (2 * Math.max(1e-6, q));
|
|
125
|
+
let b0 = 1;
|
|
126
|
+
let b1 = 0;
|
|
127
|
+
let b2 = 0;
|
|
128
|
+
let a0 = 1;
|
|
129
|
+
let a1 = 0;
|
|
130
|
+
let a2 = 0;
|
|
131
|
+
switch (type) {
|
|
132
|
+
case 'peaking':
|
|
133
|
+
b0 = 1 + alpha0 * A;
|
|
134
|
+
b1 = -2 * cos0;
|
|
135
|
+
b2 = 1 - alpha0 * A;
|
|
136
|
+
a0 = 1 + alpha0 / A;
|
|
137
|
+
a1 = -2 * cos0;
|
|
138
|
+
a2 = 1 - alpha0 / A;
|
|
139
|
+
break;
|
|
140
|
+
case 'lowshelf': {
|
|
141
|
+
const sqrtA = Math.sqrt(A);
|
|
142
|
+
const two = 2 * sqrtA * alpha0;
|
|
143
|
+
b0 = A * (A + 1 - (A - 1) * cos0 + two);
|
|
144
|
+
b1 = 2 * A * (A - 1 - (A + 1) * cos0);
|
|
145
|
+
b2 = A * (A + 1 - (A - 1) * cos0 - two);
|
|
146
|
+
a0 = A + 1 + (A - 1) * cos0 + two;
|
|
147
|
+
a1 = -2 * (A - 1 + (A + 1) * cos0);
|
|
148
|
+
a2 = A + 1 + (A - 1) * cos0 - two;
|
|
149
|
+
break;
|
|
150
|
+
}
|
|
151
|
+
case 'highshelf': {
|
|
152
|
+
const sqrtA = Math.sqrt(A);
|
|
153
|
+
const two = 2 * sqrtA * alpha0;
|
|
154
|
+
b0 = A * (A + 1 + (A - 1) * cos0 + two);
|
|
155
|
+
b1 = -2 * A * (A - 1 + (A + 1) * cos0);
|
|
156
|
+
b2 = A * (A + 1 + (A - 1) * cos0 - two);
|
|
157
|
+
a0 = A + 1 - (A - 1) * cos0 + two;
|
|
158
|
+
a1 = 2 * (A - 1 - (A + 1) * cos0);
|
|
159
|
+
a2 = A + 1 - (A - 1) * cos0 - two;
|
|
160
|
+
break;
|
|
161
|
+
}
|
|
162
|
+
case 'lowpass':
|
|
163
|
+
b0 = (1 - cos0) / 2;
|
|
164
|
+
b1 = 1 - cos0;
|
|
165
|
+
b2 = (1 - cos0) / 2;
|
|
166
|
+
a0 = 1 + alpha0;
|
|
167
|
+
a1 = -2 * cos0;
|
|
168
|
+
a2 = 1 - alpha0;
|
|
169
|
+
break;
|
|
170
|
+
case 'highpass':
|
|
171
|
+
b0 = (1 + cos0) / 2;
|
|
172
|
+
b1 = -(1 + cos0);
|
|
173
|
+
b2 = (1 + cos0) / 2;
|
|
174
|
+
a0 = 1 + alpha0;
|
|
175
|
+
a1 = -2 * cos0;
|
|
176
|
+
a2 = 1 - alpha0;
|
|
177
|
+
break;
|
|
178
|
+
case 'notch':
|
|
179
|
+
b0 = 1;
|
|
180
|
+
b1 = -2 * cos0;
|
|
181
|
+
b2 = 1;
|
|
182
|
+
a0 = 1 + alpha0;
|
|
183
|
+
a1 = -2 * cos0;
|
|
184
|
+
a2 = 1 - alpha0;
|
|
185
|
+
break;
|
|
186
|
+
}
|
|
187
|
+
const bz0 = b0 / a0;
|
|
188
|
+
const bz1 = b1 / a0;
|
|
189
|
+
const bz2 = b2 / a0;
|
|
190
|
+
const az1 = a1 / a0;
|
|
191
|
+
const az2 = a2 / a0;
|
|
192
|
+
const cosw = Math.cos(w);
|
|
193
|
+
const sinw = Math.sin(w);
|
|
194
|
+
const cos2w = Math.cos(2 * w);
|
|
195
|
+
const sin2w = Math.sin(2 * w);
|
|
196
|
+
const numerator = (bz0 + bz1 * cosw + bz2 * cos2w) ** 2 + (bz1 * sinw + bz2 * sin2w) ** 2;
|
|
197
|
+
const denominator = (1 + az1 * cosw + az2 * cos2w) ** 2 + (az1 * sinw + az2 * sin2w) ** 2;
|
|
198
|
+
return Math.sqrt(numerator / Math.max(denominator, 1e-24));
|
|
199
|
+
}
|
|
200
|
+
// ---------------- EQ3 (the per-cell mixer EQ) ----------------
|
|
201
|
+
// Exact twins of modules/eq/EQ.h. The old engine was fixed at these frequencies;
|
|
202
|
+
// they remain the parameter defaults so old presets keep their sound.
|
|
203
|
+
export const EQ_DEFAULT_LOW_MID_HZ = 880;
|
|
204
|
+
export const EQ_DEFAULT_MID_HZ = 2100;
|
|
205
|
+
export const EQ_DEFAULT_MID_HIGH_HZ = 5000;
|
|
206
|
+
export const EQ_LOW_MID_MIN_HZ = 80;
|
|
207
|
+
export const EQ_LOW_MID_MAX_HZ = 2000;
|
|
208
|
+
export const EQ_MID_HIGH_MIN_HZ = 2000;
|
|
209
|
+
export const EQ_MID_HIGH_MAX_HZ = 12000;
|
|
210
|
+
export const EQ_SAMPLE_RATE = 48000;
|
|
211
|
+
export const EQ_SHELF_Q = 0.5;
|
|
212
|
+
export const EQ_MID_Q = 0.7071;
|
|
213
|
+
const clampHz = (v, lo, hi) => Math.max(lo, Math.min(hi, v));
|
|
214
|
+
export function eqMidFrequencyHz(lowMidHz, midHighHz) {
|
|
215
|
+
const low = clampHz(lowMidHz, EQ_LOW_MID_MIN_HZ, EQ_LOW_MID_MAX_HZ);
|
|
216
|
+
const high = clampHz(midHighHz, EQ_MID_HIGH_MIN_HZ, EQ_MID_HIGH_MAX_HZ);
|
|
217
|
+
if (low === EQ_DEFAULT_LOW_MID_HZ && high === EQ_DEFAULT_MID_HIGH_HZ)
|
|
218
|
+
return EQ_DEFAULT_MID_HZ;
|
|
219
|
+
return EQ_DEFAULT_MID_HZ * Math.sqrt((low / EQ_DEFAULT_LOW_MID_HZ) * (high / EQ_DEFAULT_MID_HIGH_HZ));
|
|
220
|
+
}
|
|
221
|
+
/** Exact magnitude response of the native three cascaded Biquads. */
|
|
222
|
+
export function eqResponseDb(hz, lowGainDb, midGainDb, highGainDb, lowMidHz = EQ_DEFAULT_LOW_MID_HZ, midHighHz = EQ_DEFAULT_MID_HIGH_HZ, sampleRate = EQ_SAMPLE_RATE) {
|
|
223
|
+
const low = clampHz(lowMidHz, EQ_LOW_MID_MIN_HZ, EQ_LOW_MID_MAX_HZ);
|
|
224
|
+
const high = clampHz(midHighHz, EQ_MID_HIGH_MIN_HZ, EQ_MID_HIGH_MAX_HZ);
|
|
225
|
+
const magnitude = rbjBiquadMagnitude(hz, sampleRate, 'lowshelf', low, lowGainDb, EQ_SHELF_Q) *
|
|
226
|
+
rbjBiquadMagnitude(hz, sampleRate, 'peaking', eqMidFrequencyHz(low, high), midGainDb, EQ_MID_Q) *
|
|
227
|
+
rbjBiquadMagnitude(hz, sampleRate, 'highshelf', high, highGainDb, EQ_SHELF_Q);
|
|
228
|
+
return gainToDb(magnitude);
|
|
229
|
+
}
|
|
114
230
|
// ===== shared/mixAssist/bark.ts =====
|
|
115
231
|
// Bark band model — the TS mirror of modules/analysis/BarkScale.h. The 26
|
|
116
232
|
// edge literals MUST match the C++ table verbatim; parity is pinned by
|
|
@@ -137,6 +253,33 @@ export function barkBandCenterHz(band) {
|
|
|
137
253
|
return Math.sqrt(BARK_BAND_EDGES_HZ[b] * BARK_BAND_EDGES_HZ[b + 1]);
|
|
138
254
|
}
|
|
139
255
|
export const dbToPower = (db) => Math.pow(10, db / 10);
|
|
256
|
+
// BS.1770 K-weighting power gain per Bark band (48 kHz pre-filter + RLB
|
|
257
|
+
// high-pass), averaged over the band in log frequency. Masking decisions weigh
|
|
258
|
+
// band energy in the same domain the LUFS readings use, so raw sub-bass power
|
|
259
|
+
// cannot outvote what the ear hears in the mids.
|
|
260
|
+
function kWeightPowerAt(hz) {
|
|
261
|
+
const w = (2 * Math.PI * hz) / 48000;
|
|
262
|
+
const section = (b0, b1, b2, a1, a2) => {
|
|
263
|
+
const num = (b0 + b1 * Math.cos(w) + b2 * Math.cos(2 * w)) ** 2 + (b1 * Math.sin(w) + b2 * Math.sin(2 * w)) ** 2;
|
|
264
|
+
const den = (1 + a1 * Math.cos(w) + a2 * Math.cos(2 * w)) ** 2 + (a1 * Math.sin(w) + a2 * Math.sin(2 * w)) ** 2;
|
|
265
|
+
return num / den;
|
|
266
|
+
};
|
|
267
|
+
return (section(1.53512485958697, -2.69169618940638, 1.19839281085285, -1.69065929318241, 0.73248077421585) *
|
|
268
|
+
section(1, -2, 1, -1.99004745483398, 0.99007225036621));
|
|
269
|
+
}
|
|
270
|
+
export const BARK_K_WEIGHT = Array.from({ length: BARK_BAND_COUNT }, (_, b) => {
|
|
271
|
+
const lo = Math.log(BARK_BAND_EDGES_HZ[b]);
|
|
272
|
+
const hi = Math.log(BARK_BAND_EDGES_HZ[b + 1]);
|
|
273
|
+
const points = 16;
|
|
274
|
+
let sum = 0;
|
|
275
|
+
for (let i = 0; i < points; i++)
|
|
276
|
+
sum += kWeightPowerAt(Math.exp(lo + ((i + 0.5) / points) * (hi - lo)));
|
|
277
|
+
return sum / points;
|
|
278
|
+
});
|
|
279
|
+
// Band power as the loudness meter hears it (K-weighted), linear.
|
|
280
|
+
export function weightedBandPower(barkDb, band) {
|
|
281
|
+
return dbToPower(barkDb[band]) * BARK_K_WEIGHT[band];
|
|
282
|
+
}
|
|
140
283
|
// Power-weighted spectral centroid over band centers, Hz. 0 when silent.
|
|
141
284
|
export function barkCentroidHz(barkDb) {
|
|
142
285
|
let power = 0;
|
|
@@ -164,7 +307,7 @@ export function lowFraction(barkDb, belowHz = 200) {
|
|
|
164
307
|
// Cross-cell Bark-band masking overlap (AutoMix M1). Deliberately simple:
|
|
165
308
|
// textbook objective masking models track perceived masking poorly (Hafezi &
|
|
166
309
|
// Reiss, JAES 2015) — a bounded band-overlap fraction works better as a rule
|
|
167
|
-
// input than a psychoacoustic model.
|
|
310
|
+
// input than a psychoacoustic model. Band energy is K-weighted (bark.ts).
|
|
168
311
|
// Fraction of A's energy that B overlaps: sum_b min(Pa, Pb) / sum_b Pa.
|
|
169
312
|
// Asymmetric (a quiet cell under a loud one reads ~1; the loud one reads
|
|
170
313
|
// less). 0 when A is silent.
|
|
@@ -173,8 +316,8 @@ export function maskingOverlap(aDb, bDb) {
|
|
|
173
316
|
let shared = 0;
|
|
174
317
|
const n = Math.min(aDb.length, bDb.length, BARK_BAND_COUNT);
|
|
175
318
|
for (let b = 0; b < n; b++) {
|
|
176
|
-
const pa =
|
|
177
|
-
const pb =
|
|
319
|
+
const pa = weightedBandPower(aDb, b);
|
|
320
|
+
const pb = weightedBandPower(bDb, b);
|
|
178
321
|
sumA += pa;
|
|
179
322
|
shared += Math.min(pa, pb);
|
|
180
323
|
}
|
|
@@ -197,14 +340,14 @@ export function spectralShapeOverlap(aDb, bDb) {
|
|
|
197
340
|
let sumA = 0;
|
|
198
341
|
let sumB = 0;
|
|
199
342
|
for (let b = 0; b < n; b++) {
|
|
200
|
-
sumA +=
|
|
201
|
-
sumB +=
|
|
343
|
+
sumA += weightedBandPower(aDb, b);
|
|
344
|
+
sumB += weightedBandPower(bDb, b);
|
|
202
345
|
}
|
|
203
346
|
if (sumA <= 0 || sumB <= 0)
|
|
204
347
|
return 0;
|
|
205
348
|
let shared = 0;
|
|
206
349
|
for (let b = 0; b < n; b++) {
|
|
207
|
-
shared += Math.min(
|
|
350
|
+
shared += Math.min(weightedBandPower(aDb, b) / sumA, weightedBandPower(bDb, b) / sumB);
|
|
208
351
|
}
|
|
209
352
|
return shared;
|
|
210
353
|
}
|
|
@@ -221,16 +364,34 @@ export function maskingMatrix(barkDbByCell) {
|
|
|
221
364
|
}
|
|
222
365
|
return m;
|
|
223
366
|
}
|
|
367
|
+
// Fraction of `cell`'s sounding frames in which `otherCellId` also sounds.
|
|
368
|
+
// Payloads without the map read 1, the old always-simultaneous assumption.
|
|
369
|
+
export function coactivity(cell, otherCellId) {
|
|
370
|
+
const v = cell.coactivity?.[otherCellId];
|
|
371
|
+
return v === undefined ? 1 : Math.min(1, Math.max(0, v));
|
|
372
|
+
}
|
|
373
|
+
// maskingMatrix gated by co-activity: two parts that never sound together do
|
|
374
|
+
// not mask each other, however alike their long-term spectra are.
|
|
375
|
+
export function effectiveMaskingMatrix(cells) {
|
|
376
|
+
const m = maskingMatrix(cells.map((c) => c.barkDb));
|
|
377
|
+
for (let i = 0; i < cells.length; i++) {
|
|
378
|
+
for (let j = 0; j < cells.length; j++) {
|
|
379
|
+
if (i !== j)
|
|
380
|
+
m[i][j] *= coactivity(cells[i], cells[j].cellId);
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
return m;
|
|
384
|
+
}
|
|
224
385
|
// Region carrying the largest shared power between two stems, split at
|
|
225
|
-
// 300 Hz / 5 kHz
|
|
226
|
-
// knob
|
|
386
|
+
// 300 Hz / 5 kHz by log-center. PAN reads it to keep bass-range conflicts
|
|
387
|
+
// centred; EQ cuts pick their knob from the real EQ3 curve instead.
|
|
227
388
|
export function dominantOverlapRegion(aDb, bDb) {
|
|
228
389
|
const shared = { low: 0, mid: 0, high: 0 };
|
|
229
390
|
const n = Math.min(aDb.length, bDb.length, BARK_BAND_COUNT);
|
|
230
391
|
for (let b = 0; b < n; b++) {
|
|
231
392
|
const center = barkBandCenterHz(b);
|
|
232
393
|
const region = center < 300 ? 'low' : center >= 5000 ? 'high' : 'mid';
|
|
233
|
-
shared[region] += Math.min(
|
|
394
|
+
shared[region] += Math.min(weightedBandPower(aDb, b), weightedBandPower(bDb, b));
|
|
234
395
|
}
|
|
235
396
|
if (shared.low >= shared.mid && shared.low >= shared.high)
|
|
236
397
|
return 'low';
|
|
@@ -240,6 +401,18 @@ export function dominantOverlapRegion(aDb, bDb) {
|
|
|
240
401
|
}
|
|
241
402
|
// ===== shared/mixAssist/parse.ts =====
|
|
242
403
|
const num = (v) => typeof v === 'number' && Number.isFinite(v) ? v : undefined;
|
|
404
|
+
function parseCoactivity(raw) {
|
|
405
|
+
if (typeof raw !== 'object' || raw === null || Array.isArray(raw))
|
|
406
|
+
return undefined;
|
|
407
|
+
const out = {};
|
|
408
|
+
for (const [key, value] of Object.entries(raw)) {
|
|
409
|
+
const id = Number(key);
|
|
410
|
+
const v = num(value);
|
|
411
|
+
if (Number.isInteger(id) && v !== undefined)
|
|
412
|
+
out[id] = Math.min(1, Math.max(0, v));
|
|
413
|
+
}
|
|
414
|
+
return out;
|
|
415
|
+
}
|
|
243
416
|
function parseStem(raw) {
|
|
244
417
|
// Number.isFinite per band: one NaN/Infinity entry would silently poison the
|
|
245
418
|
// masking matrix (dbToPower propagates it through every overlap sum).
|
|
@@ -263,6 +436,7 @@ function parseStem(raw) {
|
|
|
263
436
|
onsetDensity: num(raw.onsetDensity) ?? 0,
|
|
264
437
|
seconds: num(raw.secs) ?? 0,
|
|
265
438
|
barkDb: bark,
|
|
439
|
+
coactivity: parseCoactivity(raw.coact),
|
|
266
440
|
};
|
|
267
441
|
}
|
|
268
442
|
// Maps the native analyzeMixStems payload (short keys, sentinel fields
|
|
@@ -353,6 +527,8 @@ export function buildMixMeasurementFromState(analysis, flatState, mods = {}, opt
|
|
|
353
527
|
eqMidGain: numOr(k('eqMidGain'), 0),
|
|
354
528
|
eqHighGain: numOr(k('eqHighGain'), 0),
|
|
355
529
|
eqEnabled: numOr(k('eqEnabled'), 0) > 0.5,
|
|
530
|
+
eqLowMidFreq: numOr(k('eqLowMidFreq'), EQ_DEFAULT_LOW_MID_HZ),
|
|
531
|
+
eqMidHighFreq: numOr(k('eqMidHighFreq'), EQ_DEFAULT_MID_HIGH_HZ),
|
|
356
532
|
compressorEnabled: numOr(k('compressorEnabled'), 0) > 0.5,
|
|
357
533
|
compressorThreshold: numOr(k('compressorThreshold'), 0),
|
|
358
534
|
compressorRatioAmount: numOr(k('compressorRatioAmount'), 2),
|
|
@@ -474,6 +650,53 @@ export function normalizeMovesToBusBounded(rawDeltasDb, lufs, currentVolumes) {
|
|
|
474
650
|
export function maskerWeight(pLufs, qLufs) {
|
|
475
651
|
return 1 / (1 + Math.pow(10, (pLufs - qLufs) / 10));
|
|
476
652
|
}
|
|
653
|
+
const EQ_KNOBS = [
|
|
654
|
+
{ key: 'eqLowGain', region: 'low', label: 'low shelf' },
|
|
655
|
+
{ key: 'eqMidGain', region: 'mid', label: 'mid band' },
|
|
656
|
+
{ key: 'eqHighGain', region: 'high', label: 'high shelf' },
|
|
657
|
+
];
|
|
658
|
+
// Picks the masker's EQ3 knob from its REAL curve at this cell's crossovers.
|
|
659
|
+
// coverage = how hard a probe cut hits the shared (conflict) energy, collateral =
|
|
660
|
+
// how hard it hits the masker overall; score = coverage * min(1, coverage/collateral).
|
|
661
|
+
export function planEqCut(maskedDb, maskerDb, lowMidHz = EQ_DEFAULT_LOW_MID_HZ, midHighHz = EQ_DEFAULT_MID_HIGH_HZ) {
|
|
662
|
+
const n = Math.min(maskedDb.length, maskerDb.length, BARK_BAND_COUNT);
|
|
663
|
+
const shared = [];
|
|
664
|
+
const own = [];
|
|
665
|
+
let sharedSum = 0;
|
|
666
|
+
let ownSum = 0;
|
|
667
|
+
let logCenter = 0;
|
|
668
|
+
for (let b = 0; b < n; b++) {
|
|
669
|
+
const pk = weightedBandPower(maskerDb, b);
|
|
670
|
+
const s = Math.min(weightedBandPower(maskedDb, b), pk);
|
|
671
|
+
shared.push(s);
|
|
672
|
+
own.push(pk);
|
|
673
|
+
sharedSum += s;
|
|
674
|
+
ownSum += pk;
|
|
675
|
+
logCenter += s * Math.log(barkBandCenterHz(b));
|
|
676
|
+
}
|
|
677
|
+
if (sharedSum <= 0 || ownSum <= 0)
|
|
678
|
+
return null;
|
|
679
|
+
const probeDb = -MAX_EQ_CUT_DB;
|
|
680
|
+
const probeRemoval = 1 - Math.pow(10, probeDb / 10);
|
|
681
|
+
let best = null;
|
|
682
|
+
for (const knob of EQ_KNOBS) {
|
|
683
|
+
let hitShared = 0;
|
|
684
|
+
let hitOwn = 0;
|
|
685
|
+
for (let b = 0; b < n; b++) {
|
|
686
|
+
const responseDb = eqResponseDb(barkBandCenterHz(b), knob.key === 'eqLowGain' ? probeDb : 0, knob.key === 'eqMidGain' ? probeDb : 0, knob.key === 'eqHighGain' ? probeDb : 0, lowMidHz, midHighHz);
|
|
687
|
+
const removal = 1 - Math.pow(10, responseDb / 10);
|
|
688
|
+
hitShared += shared[b] * removal;
|
|
689
|
+
hitOwn += own[b] * removal;
|
|
690
|
+
}
|
|
691
|
+
const coverage = hitShared / (sharedSum * probeRemoval);
|
|
692
|
+
const collateral = hitOwn / (ownSum * probeRemoval);
|
|
693
|
+
const score = coverage * Math.min(1, coverage / Math.max(collateral, 1e-9));
|
|
694
|
+
if (!best || score > best.score) {
|
|
695
|
+
best = { key: knob.key, region: knob.region, label: knob.label, centerHz: Math.exp(logCenter / sharedSum), score };
|
|
696
|
+
}
|
|
697
|
+
}
|
|
698
|
+
return best;
|
|
699
|
+
}
|
|
477
700
|
export function suggestMix(m, options, current = {}) {
|
|
478
701
|
const moves = [];
|
|
479
702
|
const guardsHit = [];
|
|
@@ -524,14 +747,15 @@ export function suggestMix(m, options, current = {}) {
|
|
|
524
747
|
// feeding it into effectiveLufs made the quietest cell take the deepest
|
|
525
748
|
// penalty and the largest compensating lift. spectralShapeOverlap answers
|
|
526
749
|
// only "do they collide", and maskerWeight scales that by the level gap.
|
|
527
|
-
const matrix =
|
|
750
|
+
const matrix = effectiveMaskingMatrix(participants.map((p) => p.cell.analysis));
|
|
528
751
|
for (const p of participants) {
|
|
529
752
|
let masked = 0;
|
|
530
753
|
for (const q of participants) {
|
|
531
754
|
if (q.index === p.index)
|
|
532
755
|
continue;
|
|
533
756
|
const shape = spectralShapeOverlap(p.cell.analysis.barkDb, q.cell.analysis.barkDb);
|
|
534
|
-
|
|
757
|
+
const together = coactivity(p.cell.analysis, q.cell.context.cellId);
|
|
758
|
+
masked = Math.max(masked, shape * maskerWeight(p.lufs, q.lufs) * together);
|
|
535
759
|
}
|
|
536
760
|
p.maskedFraction = masked;
|
|
537
761
|
p.effectiveLufs = p.lufs - MASK_PENALTY_DB_PER_UNIT * masked;
|
|
@@ -646,23 +870,24 @@ export function suggestMix(m, options, current = {}) {
|
|
|
646
870
|
guardsHit.push(`cell ${id} mixer EQ is modulated — no masking cut`);
|
|
647
871
|
continue;
|
|
648
872
|
}
|
|
649
|
-
const
|
|
873
|
+
const plan = planEqCut(c.masked.cell.analysis.barkDb, c.masker.cell.analysis.barkDb, maskerCtx.eqLowMidFreq, maskerCtx.eqMidHighFreq);
|
|
874
|
+
if (!plan || plan.score < MIN_EQ_CUT_SCORE) {
|
|
875
|
+
guardsHit.push(`cell ${id} EQ cannot reach the conflict with cell ${c.masked.cell.context.cellId}`);
|
|
876
|
+
continue;
|
|
877
|
+
}
|
|
650
878
|
// Never carve the fundamental of a low-dominant source. Kick and bass
|
|
651
879
|
// conflicts belong to balance or sidechain, not a broad static low cut.
|
|
652
|
-
|
|
653
|
-
// spill masks another cell.
|
|
654
|
-
if (region === 'low' && c.masker.lowDominant) {
|
|
880
|
+
if (plan.region === 'low' && c.masker.lowDominant) {
|
|
655
881
|
guardsHit.push(`cell ${id} is low-dominant — its low band is left alone`);
|
|
656
882
|
continue;
|
|
657
883
|
}
|
|
658
|
-
const
|
|
659
|
-
const
|
|
660
|
-
const maxCutDb = region === 'low' ? MAX_EQ_LOW_CUT_DB : MAX_EQ_CUT_DB;
|
|
884
|
+
const key = `cell${id}_${plan.key}`;
|
|
885
|
+
const maxCutDb = plan.region === 'low' ? MAX_EQ_LOW_CUT_DB : MAX_EQ_CUT_DB;
|
|
661
886
|
const cutDb = Math.min(maxCutDb, 6 * c.overlap - 2);
|
|
662
887
|
if (cutDb <= EQ_EPSILON_DB)
|
|
663
888
|
continue;
|
|
664
889
|
const value = round1(cur(key) - cutDb);
|
|
665
|
-
propose(id, key, value, `cell ${id} covers cell ${c.masked.cell.context.cellId}
|
|
890
|
+
propose(id, key, value, `cell ${id} covers cell ${c.masked.cell.context.cellId} around ${formatHz(plan.centerHz)} — cut ${round1(cutDb)} dB on the ${plan.label}`, EQ_EPSILON_DB);
|
|
666
891
|
if (flat[key] !== undefined && !maskerCtx.eqEnabled) {
|
|
667
892
|
flat[`cell${id}_eqEnabled`] = 1;
|
|
668
893
|
guardsHit.push(`cell ${id} mixer EQ enabled for the cut`);
|
|
@@ -734,4 +959,7 @@ export function suggestMix(m, options, current = {}) {
|
|
|
734
959
|
function cellId(p) {
|
|
735
960
|
return p.cell.context.cellId;
|
|
736
961
|
}
|
|
962
|
+
function formatHz(hz) {
|
|
963
|
+
return hz >= 1000 ? `${round1(hz / 1000)} kHz` : `${Math.round(hz / 10) * 10} Hz`;
|
|
964
|
+
}
|
|
737
965
|
//# sourceMappingURL=mixAssist.js.map
|
package/dist/mixAssist.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mixAssist.js","sourceRoot":"","sources":["../src/mixAssist.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mixAssist.js","sourceRoot":"","sources":["../src/mixAssist.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { ManifestParameter } from "./manifest.js";
|
|
2
|
+
export declare const VALUE_LANES: readonly ["pitch", "slice", "stretch"];
|
|
3
|
+
export type ValueLane = (typeof VALUE_LANES)[number];
|
|
4
|
+
export declare const CC_LANES: readonly ["ccOut1", "ccOut2", "ccOut3", "ccOut4"];
|
|
5
|
+
export type CcLane = (typeof CC_LANES)[number];
|
|
6
|
+
export declare const PARAM_LANES: readonly ["paramLane1", "paramLane2", "paramLane3", "paramLane4"];
|
|
7
|
+
export type ParamLane = (typeof PARAM_LANES)[number];
|
|
8
|
+
export declare const PATTERN_LANE_IDS: readonly ["note", "pitch", "slice", "stretch", "ccOut1", "ccOut2", "ccOut3", "ccOut4", "paramLane1", "paramLane2", "paramLane3", "paramLane4"];
|
|
9
|
+
export type PatternLane = (typeof PATTERN_LANE_IDS)[number];
|
|
10
|
+
/** State-key suffix per lane: `cell{N}_<suffix>`. */
|
|
11
|
+
export declare const PATTERN_LANE_SUFFIX: Record<PatternLane, string>;
|
|
12
|
+
/** The cells-object field holding a param lane's target suffix ("" = none). */
|
|
13
|
+
export declare const LANE_TARGET_FIELD: Record<ParamLane, string>;
|
|
14
|
+
export declare const isCcLane: (lane: string) => lane is CcLane;
|
|
15
|
+
export declare const isParamLane: (lane: string) => lane is ParamLane;
|
|
16
|
+
export declare const ccLaneIndex: (lane: CcLane) => number;
|
|
17
|
+
/** Sixteen CC out slots per cell (cell config ccOutCc{K}); each CC lane locks one (ccLaneSlot{L}, 0 = none). */
|
|
18
|
+
export declare const CC_OUT_SLOTS: number[];
|
|
19
|
+
export declare const CC_OUT_CONFIG_KEYS: string[];
|
|
20
|
+
export declare const isCcOutValueSuffix: (suffix: string) => boolean;
|
|
21
|
+
export declare const ccLaneSlotField: (lane: CcLane) => string;
|
|
22
|
+
/** The slot a CC lane locks in `cell`, as the engine reads it: lane L's default is slot L. */
|
|
23
|
+
export declare function ccLaneSlotOf(cell: Record<string, unknown>, lane: CcLane): number;
|
|
24
|
+
/** The manifest parameter a param lane may be pointed at, or a reason it may not. */
|
|
25
|
+
export declare function resolveLaneTarget(cellId: number, suffix: string, parameters: readonly ManifestParameter[]): {
|
|
26
|
+
param: ManifestParameter;
|
|
27
|
+
} | {
|
|
28
|
+
reason: string;
|
|
29
|
+
};
|
|
30
|
+
export declare function productHasLane(cellId: number, lane: PatternLane, stateVariables: readonly {
|
|
31
|
+
paramId?: string;
|
|
32
|
+
}[] | undefined): boolean;
|
|
33
|
+
type LaneEvent = Record<string, unknown>;
|
|
34
|
+
/** CC lane events: integer 0..127 values, bar height equal to the value (a CC bar floors at 0), no pitch fields. */
|
|
35
|
+
export declare function normalizeCcLaneEvents(events: readonly LaneEvent[]): LaneEvent[];
|
|
36
|
+
/** A param lane's events, clamped to its target's range and stepped like its knob. */
|
|
37
|
+
export declare function normalizeTargetLaneEvents(events: readonly LaneEvent[], param: ManifestParameter): LaneEvent[];
|
|
38
|
+
/** A CC lane may land on a destination slot only when that slot is Off or wired to the same controller. */
|
|
39
|
+
export declare function ccLaneMayLand(sourceController: unknown, destinationController: unknown): boolean;
|
|
40
|
+
export {};
|