Skip to content

audio.cpp TTS: restart the server after an engine update - #14525

Merged
niksedk merged 1 commit into
mainfrom
claude/audiocpp-restart-server-after-update
Sep 4, 2026
Merged

audio.cpp TTS: restart the server after an engine update#14525
niksedk merged 1 commit into
mainfrom
claude/audiocpp-restart-server-after-update

Conversation

@niksedk

@niksedk niksedk commented Sep 4, 2026

Copy link
Copy Markdown
Member

Summary

Follow-up to #14522. After updating the audio.cpp runtime, Test voice with Higgs Audio v3 failed with:

unsupported model family hint: higgs_audio_tts

The tools log showed why: the Higgs server was launched from the old August binary at 17:17:58, the new archive was extracted over it at 17:18:47 while that process was still running, and every later request reused the running process. The old build only had index_tts2 compiled in, so the registry rejected the family.

  • TtsVoiceInstaller.EnsureAudioCppRuntime now stops all three audio.cpp servers (IndexTTS 2.5, Higgs, Fish) before downloading. On Windows this also matters because a running exe cannot be overwritten.
  • AudioCppRuntime.GetServerExecutableStamp() returns the binary's size + mtime; each engine records it at launch and restarts the server when it changes, so a replaced binary (update, manual copy) is never reused.

Verification

  • Release build clean, 0 warnings.
  • dotnet test --filter AudioCpp: 11 passed.
  • Reproduced the original failure path from the tools log; the new binary with SE's own higgs-tts-server.json (model file path) answers 200 when launched fresh.

🤖 Generated with Claude Code

The engine installer extracted the new audiocpp_server while a server started
from the previous build was still running, and the Higgs/Fish/IndexTTS engines
kept reusing that process for the rest of the session. With the 2026-09-04
build that surfaced as "unsupported model family hint: higgs_audio_tts" on
Test voice, because the old August binary only had index_tts2 compiled in.

- TtsVoiceInstaller.EnsureAudioCppRuntime stops all three audio.cpp servers
  before downloading (on Windows the running exe could not be overwritten).
- Each engine records the server binary's size + mtime when it launches and
  restarts when that changes, so a replaced binary is never reused.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@niksedk
niksedk merged commit 5f0856d into main Sep 4, 2026
1 check passed
@niksedk
niksedk deleted the claude/audiocpp-restart-server-after-update branch September 4, 2026 15:28
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