Skip to content

refactor: run audio commands on their executors and the shared HTTP layer - #358

Merged
kiyeonjeon21 merged 1 commit into
mainfrom
refactor/audio-commands-on-executors
Oct 5, 2026
Merged

kiyeonjeon21 merged 1 commit into
mainfrom
refactor/audio-commands-on-executors

Conversation

@kiyeonjeon21

Copy link
Copy Markdown
Contributor

Why

vibe audio transcribe/isolate/clone-voice/dub and vibe generate music/sound-effect each reimplemented the executor that the MCP tools and pipelines use, and the copies had drifted apart.

What changes

  • Commands call executors: the commands validate, call their executor, and format the output.
  • Keys from the config file too: the executors read only environment variables, so keys saved by vibe setup were invisible to MCP callers. They now also read the config file.
  • Error kinds: executors return error kinds that providerFailure maps to the CLI envelope.
  • Shared HTTP layer: ElevenLabs sound effects, music, isolation, and voice cloning, and every Replicate call, now go through providerRequest (retries, classified errors). Isolation names the upload from the audio's bytes.

Fixes

  • SRT never written: audio transcribe --json -o out.srt reported the path but never wrote the file.
  • Broken JSON: audio dub --json printed the analysis table before the JSON.
  • Model ignored: generate music -p replicate -m <variant> dropped the variant in the executor path.
  • Dead hint: clone-voice suggested vibe audio tts, which doesn't exist. It now suggests vibe generate narration -p elevenlabs --voice <id>.
  • Input validation: clone-voice --labels with bad JSON crashed instead of giving a usage error, and sound-effect now validates duration and prompt influence.
  • Formatting: leftover blank-line runs from feat: put transcription on one contract and route every Whisper call through it #357 are collapsed.

Known issue, next PR

audio dub translates by calling Claude's storyboard analysis instead of a translation, and concatenates per-segment audio with no timing. This PR only moves it onto its executor. The translation and timing fix is next.

Verification

  • Checks: pnpm build, lint, typecheck, tests (providers 244, CLI 1343 including integration, MCP 73), providers:check, pre-push gate.
  • Live:
    • generate sound-effect -d 2: 2.0 s.
    • audio transcribe --json -o out.srt: the SRT is written with the right cue.
    • generate music -d 3: 3.0 s.
    • audio isolate on a 3.8 s file: classified usage error "below the minimum of 4.6 seconds". On a 7.5 s file: 7.5 s of vocals.

https://claude.ai/code/session_011S1BLTaFctZNQzGERpkCuA

…ayer

`vibe audio transcribe/isolate/clone-voice/dub` and `vibe generate
music/sound-effect` each re-implemented the executor the MCP tools and
pipelines use, and the copies had drifted.

- The commands now validate, call their executor, and format; executors
  read keys from the config file too (they read only env vars, so keys
  saved by `vibe setup` were invisible to MCP callers) and return error
  kinds that map to the CLI envelope.
- ElevenLabs sound effects, music, isolation, and voice cloning, and every
  Replicate call, go through `providerRequest` (retries, classified errors);
  isolation names the upload from the audio's bytes.

Fixes:
- `audio transcribe --json -o out.srt` reported the path but never wrote
  the file.
- `audio dub --json` printed the analysis table before the JSON.
- `generate music -p replicate -m <variant>` ignored the variant in the
  executor.
- `clone-voice` suggested `vibe audio tts`, which does not exist; it now
  suggests `vibe generate narration -p elevenlabs --voice <id>`.
- `clone-voice --labels` with bad JSON crashed instead of a usage error;
  `sound-effect` validates duration and prompt influence.
- Leftover blank-line runs from the transcription refactor are collapsed.

Claude-Session: https://claude.ai/code/session_011S1BLTaFctZNQzGERpkCuA
@vercel

vercel Bot commented Oct 5, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
vibeframe Ready Ready Preview Oct 5, 2026 8:00am UTC

Request Review

@kiyeonjeon21
kiyeonjeon21 merged commit e52952e into main Oct 5, 2026
6 checks passed
@kiyeonjeon21
kiyeonjeon21 deleted the refactor/audio-commands-on-executors branch October 5, 2026 08:04

This branch was successfully deployed

1 active deployment
Preview — b6717c96 Deployed Oct 5, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant