@map-audio/pam-mcp-server 1.25.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.
Files changed (41) hide show
  1. package/README.md +2 -1
  2. package/dist/audioAnalysis.d.ts +1 -1
  3. package/dist/audioAnalysis.js +3 -4
  4. package/dist/audioAnalysis.js.map +1 -1
  5. package/dist/bridge.js +7 -8
  6. package/dist/bridge.js.map +1 -1
  7. package/dist/drumSynth.js +1 -1
  8. package/dist/drumSynth.js.map +1 -1
  9. package/dist/drumSynthEngines.json +1 -1
  10. package/dist/fgemma-runner.js +20 -4
  11. package/dist/fgemma-runner.js.map +1 -1
  12. package/dist/generated/kvWriteOptions.d.ts +20 -0
  13. package/dist/generated/kvWriteOptions.js +45 -0
  14. package/dist/generated/kvWriteOptions.js.map +1 -0
  15. package/dist/generated/variationSnapshot.js +0 -19
  16. package/dist/generated/variationSnapshot.js.map +1 -1
  17. package/dist/generativePlayers.json +1 -1
  18. package/dist/manifest-mfx.json +35 -45
  19. package/dist/manifest-msq.json +9564 -0
  20. package/dist/manifest.js +5 -0
  21. package/dist/manifest.js.map +1 -1
  22. package/dist/manifest.json +9139 -2428
  23. package/dist/mfxCombos.js +1 -1
  24. package/dist/mfxCombos.js.map +1 -1
  25. package/dist/midiFile.d.ts +1 -1
  26. package/dist/midiFile.js +1 -1
  27. package/dist/midiFile.js.map +1 -1
  28. package/dist/mixAssist.d.ts +35 -0
  29. package/dist/mixAssist.js +247 -19
  30. package/dist/mixAssist.js.map +1 -1
  31. package/dist/patternLanes.d.ts +40 -0
  32. package/dist/patternLanes.js +108 -0
  33. package/dist/patternLanes.js.map +1 -0
  34. package/dist/presetSave.d.ts +3 -0
  35. package/dist/presetSave.js +13 -0
  36. package/dist/presetSave.js.map +1 -1
  37. package/dist/server.js +835 -315
  38. package/dist/server.js.map +1 -1
  39. package/dist/targetDenylist.json +20 -0
  40. package/dist/variationSessionKeys.json +1 -1
  41. package/package.json +2 -2
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 = dbToPower(aDb[b]);
177
- const pb = dbToPower(bDb[b]);
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 += dbToPower(aDb[b]);
201
- sumB += dbToPower(bDb[b]);
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(dbToPower(aDb[b]) / sumA, dbToPower(bDb[b]) / sumB);
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 — the mixer 3-band EQ's split, so a cut lands on the right
226
- // knob. Band membership by log-center.
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(dbToPower(aDb[b]), dbToPower(bDb[b]));
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 = maskingMatrix(participants.map((p) => p.cell.analysis.barkDb));
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
- masked = Math.max(masked, shape * maskerWeight(p.lufs, q.lufs));
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 region = dominantOverlapRegion(c.masked.cell.analysis.barkDb, c.masker.cell.analysis.barkDb);
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
- // Non-low-dominant sources can still be trimmed gently when their low
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 band = region === 'low' ? 'eqLowGain' : region === 'high' ? 'eqHighGain' : 'eqMidGain';
659
- const key = `cell${id}_${band}`;
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} in the ${region} band — cut ${round1(cutDb)} dB`, EQ_EPSILON_DB);
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
@@ -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 {};