Skip to content

feat(tts): support multi-reference personalities - #11620

Open
localai-org-maint-bot wants to merge 1 commit into
masterfrom
cron/issue-11617-voice-personalities-20260820
Open

feat(tts): support multi-reference personalities#11620
localai-org-maint-bot wants to merge 1 commit into
masterfrom
cron/issue-11617-voice-personalities-20260820

Conversation

@localai-org-maint-bot

Copy link
Copy Markdown
Collaborator

Description

This PR lets one saved voice personality contain up to ten ordered audio and transcript pairs. It preserves the existing first-reference fields for clients and backends that only support one reference. Fish Speech and audio.cpp receive every pair, including through distributed workers.

The Voice Library UI can add and remove reference pairs. The REST and MCP creation shapes accept the same ordered list, and the documentation and Swagger output describe the new response metadata.

Closes #11617

Notes for Reviewers

The audio.cpp pin advances to upstream merge commit 3ce3d037, which adds the multi_reference_cond option. Single-reference profiles and non-Fish cloning backends keep their current behavior.

Verification:

  • go test ./core/services/voiceprofile
  • go test ./core/http/endpoints/localai -ginkgo.focus="Voice profile endpoints"
  • go test ./core/services/nodes -ginkgo.focus="FileStagingClient TTS references"
  • go test ./pkg/mcp/localaitools/...
  • npm --prefix core/http/react-ui run build
  • npm --prefix core/http/react-ui run lint:inline-styles
  • python3 -m py_compile backend/python/fish-speech/backend.py

The full nodes suite was not used as the acceptance signal because its shared database fixture fails in this environment; the focused staging suite passes.

Signed commits

  • Yes, I signed my commits. (gpg is unavailable in this cron environment.)
  • Documentation updated (docs/content/) for user-facing changes, or not applicable

Saved profiles previously resolved to one audio path and transcript, so
cloning backends could not use several examples of one personality.

Store ordered audio and transcript pairs while preserving the legacy
first-reference fields. Fish Speech and audio.cpp receive all pairs,
including on distributed workers. Other backends retain their
single-reference behavior.

Assisted-by: Codex:gpt-5
@localai-org-maint-bot
localai-org-maint-bot force-pushed the cron/issue-11617-voice-personalities-20260820 branch from b15e9b2 to 3797753 Compare August 20, 2026 07:18
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.

Voice Library Improvements

1 participant