mlx-bun library API
    Preparing search index...
    Index
    embedScale: number
    • Mel features [frames, 128] f32 (row-major, all frames valid) → language-space soft tokens [1, nSoft, textHidden] f32, PRE-DIVIDED by embedScale (forwardEmbeddings re-multiplies — vision-tower convention; the T1 golden is the UN-divided embed_audio output, so the parity test re-multiplies). nSoft = ceil(ceil(frames/2)/2)… i.e. two stride-2 convs.

      preDivide=false returns the RAW f32 embed_audio output (the T1 golden reference point). The T2 merge path needs it because the oracle divides AFTER the bf16 cast — features.astype(bf16) / embed_scale, where mlx's weak python scalar takes the array dtype, i.e. a bf16(embedScale) divisor (verified against the oracle venv). Dividing here in f32 and casting after is up to a bf16 ulp different, which the exact greedy gate does not tolerate — the builder casts first, then divides via scalarLike (same weak-scalar semantics).

      Parameters

      • mel: Float32Array
      • frames: number
      • preDivide: boolean = true

      Returns MlxArray