OnMic — what's new

Current version: v1.22

Page 14 of 14
Previous

v0.14 · 2026-06-23

self-contained — no Python

** Major: OnMic no longer needs Python at all. **
  - Analyzer fully ported to JavaScript (js/engine.js): WAV decode
    (16/24/32-bit int + 32-bit float, multichannel, windowed), clip/
    offset timeline reconstruction, RMS, level normalization, dominance/
    overlap, smoothing — verified to match the old Python output.
  - Mix/isolated channel detection ported to JS too (no detect_channels.py).
  - AI voice detection (silero) now runs IN THE PANEL via ONNX Runtime
    Web — no Python, no PyTorch. Fixed the silero v5 call to feed the
    required 64-sample context (576-sample input) + scalar sr; max
    speech prob went 0.002 → ~1.0. Auto-boosts quiet mics to a normal
    speech level (with soft-limiting) before inference. Falls back to an
    energy+zero-crossing voice filter if the model is ever unavailable.
  - Panel runs everything internally; the Python spawn is gone.
  - AI model + runtime are fetched once (fetch_vendor) and bundled, so
    end users still get a single one-click install.
  - Distribution is now Python-free: "Install OnMic.command" just allows
    the panel and copies it in (no venv/pip). The panel writes its working
    files to ~/Library/Application Support/OnMic when no dev project folder
    is set. build_dmg.command bundles the self-contained panel + AI.

v0.13 · 2026-06-22

v0.13 — 2026-06-22

- Proper extension icon: OnMic mic-with-on-air-light mark shown in
    Premiere's Window > Extensions menu and the panel tab. Normal /
    RollOver / Dark variants at 1x + 2x (retina) in /icons.

v0.12 · 2026-06-22

named "OnMic"

- Product name: the tool is now "OnMic" (was "Multicam Switcher").
    New logo (mic + on-air light) and wordmark in the panel header;
    Window > Extensions menu item renamed to "OnMic".
  - Visual redesign: card-grouped sections, settings-list rows with
    hairline dividers and aligned controls, matched widths for the
    profile dropdown / save box, Premiere-blue accent (was purple),
    gradient progress bar, polished buttons + focus states.
  - Standard cutting method re-tuned to a calmer pro baseline
    (Ignore Cuts 2.0s, Delay Cuts 0.15s); Fast 0.8s/0.08s,
    Relaxed 4.0s/0.25s — grounded in talking-head/podcast norms.

v0.11 · 2026-06-22

v0.11 — 2026-06-22

- Better default cutting settings. Standard now matches the common
    podcast-editor baseline: Delay Cuts 0.1s (was 0.25s), Ignore Cuts
    Less Than 1.0s (was 2.0s). Fast = 0.05s / 0.7s, Relaxed = 0.25s /
    2.5s. Snappier, more natural default pacing.
  - Renamed the "Preview mapping only" button to
    "Preview the cuts (nothing changes yet)" for clarity.

v0.1 · 2026-06-22

first working version

The whole pipeline works end to end: analyze audio straight from the
Premiere timeline, decide who is talking, and apply non-destructive
camera switches — all from a dockable panel.

Analyzer (analyze.py):
  - RMS energy + silero VAD (auto-falls back to RMS if torch missing).
  - Dominance / overlap detection; smoothing state machine
    (min/max shot, switch delay, lead offset, blip rejection).
  - Reconstructs the EDITED timeline from each mic's clips (handles
    head/tail trims and internal cuts), bounded to the real length.
  - Per-channel level normalization so quiet mics aren't ignored.
  - Gapless cuts.json output + console timeline + [diag] talk-time
    and [progress] lines.
  - Validation gate (unique names, cameras reference real speakers,
    every speaker on a camera, etc.).

Channel detection (detect_channels.py):
  - Flags stereo/mono MIX channels (near-identical) and suggests the
    isolated mic channels, so a poly WAV's mix tracks are skipped.

Probe (probe_audio.py):
  - Per-channel loudness meter + peak/median, with start/duration args.

Injector (ExtendScript via the panel host + standalone injector.jsx):
  - enable_disable mode (QE razor split + TrackItem.disabled) and a
    flatten fallback. Audio tracks untouched. Validation + confirm gate.

Panel (CEP extension, professional-style layout):
  - Profiles: save / load / delete named setups (counts, names, camera
    tags, cutting style). Stored locally, persist across restarts.
  - Layout Info: Cutting Method, Wide-Shot Frequency, Speaker #, Camera #.
  - Advanced: Delay Cuts, Ignore Cuts Less Than, Output mode.
  - Speaker Names A1..An (audio tracks) + Tag Speakers V1..Vn (cameras).
  - Reads audio + video tracks from the active sequence automatically;
    channels chosen automatically (mix skipped). Re-reads before every
    run, plus a self-correcting re-read shortly after Premiere startup.
  - One-click "Create Multi-Cam Edit" or "Preview mapping only", with a
    progress bar and Stop button.
  - Default speaker names are distinct (Speaker 1..N) instead of the
    source filename.
  - Dominance margin raised (Standard 9 dB) to reduce false cuts from
    mic bleed.

Install:
  - setup_mac.command (Python env), install_panel_mac.command (panel).
====================================================================
Page 14 of 14
Previous

← Back to OnMic