Note to first-time contributors: Please open a discussion post in Discussions and describe your changes before submitting a pull request.
Before submitting, make sure you've checked the following:
Target branch: This pull request targets the dev branch.
Description: Implemented the ability to set TTS voice per model.
Changelog: A changelog entry has been added at the bottom of the PR description.
Documentation: Relevant documentation has been updated to reflect the new functionality.
Dependencies: No new dependencies were added.
Testing: Tests have been written and run to validate the changes.
Code review: A self-review of the code has been performed, addressing coding standard issues and ensuring adherence to the project's coding standards.
Prefix: The pull request title has been prefixed with "feat: ".
Changelog Entry
Description
Introduced a feature allowing the selection of TTS voice per model. This was discussed in #3097.
Users can now set a specific TTS voice for each model in Open WebUI. This feature enhances the customization of AI responses by providing unique voices for different models. Works with both openedai-speech and OpenAI voices.
Added
Added a dropdown menu in the model editing interface to select the TTS voice.
Added a new property tts_voice in the metadata of the model to store the selected TTS voice.
Integrated the tts_voice property in the speech synthesis logic to use the selected voice for TTS.
Changed
Updated the model editing page to include the TTS voice selection.
Modified the backend logic to handle the tts_voice property in the model metadata.
Deprecated
None
Removed
None
Fixed
None
Security
None
Breaking Changes
None
Additional Information
The tts_voice feature has been tested locally and verified to work with the existing models. Users can now assign a custom TTS voice to each model and hear distinct voices during speech synthesis.
Screenshots or Videos
N/A
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.
## 📋 Pull Request Information
**Original PR:** https://github.com/open-webui/open-webui/pull/3612
**Author:** [@moblangeois](https://github.com/moblangeois)
**Created:** 7/3/2024
**Status:** ❌ Closed
**Base:** `dev` ← **Head:** `feature/tts-voice-per-model`
---
### 📝 Commits (1)
- [`2358a9b`](https://github.com/open-webui/open-webui/commit/2358a9bd311631d187b54b52f7ba9ba1fb58dd35) feat: Add TTS voice selection per model
### 📊 Changes
**4 files changed** (+44 additions, -11 deletions)
<details>
<summary>View changed files</summary>
📝 `backend/apps/webui/internal/migrations/001_initial_schema.py` (+1 -0)
📝 `backend/apps/webui/internal/migrations/010_migrate_modelfiles_to_models.py` (+1 -0)
📝 `src/lib/components/chat/Messages/ResponseMessage.svelte` (+8 -9)
📝 `src/routes/(app)/workspace/models/edit/+page.svelte` (+34 -2)
</details>
### 📄 Description
# Pull Request Checklist
### Note to first-time contributors: Please open a discussion post in [Discussions](https://github.com/open-webui/open-webui/discussions) and describe your changes before submitting a pull request.
**Before submitting, make sure you've checked the following:**
- [x] **Target branch:** This pull request targets the `dev` branch.
- [x] **Description:** Implemented the ability to set TTS voice per model.
- [x] **Changelog:** A changelog entry has been added at the bottom of the PR description.
- [ ] **Documentation:** Relevant documentation has been updated to reflect the new functionality.
- [x] **Dependencies:** No new dependencies were added.
- [ ] **Testing:** Tests have been written and run to validate the changes.
- [x] **Code review:** A self-review of the code has been performed, addressing coding standard issues and ensuring adherence to the project's coding standards.
- [x] **Prefix:** The pull request title has been prefixed with "feat: ".
# Changelog Entry
### Description
- Introduced a feature allowing the selection of TTS voice per model. This was discussed in #3097.
- Users can now set a specific TTS voice for each model in Open WebUI. This feature enhances the customization of AI responses by providing unique voices for different models. Works with both `openedai-speech` and OpenAI voices.
### Added
- Added a dropdown menu in the model editing interface to select the TTS voice.
- Added a new property `tts_voice` in the metadata of the model to store the selected TTS voice.
- Integrated the `tts_voice` property in the speech synthesis logic to use the selected voice for TTS.
### Changed
- Updated the model editing page to include the TTS voice selection.
- Modified the backend logic to handle the `tts_voice` property in the model metadata.
### Deprecated
- None
### Removed
- None
### Fixed
- None
### Security
- None
### Breaking Changes
- None
---
### Additional Information
- The `tts_voice` feature has been tested locally and verified to work with the existing models. Users can now assign a custom TTS voice to each model and hear distinct voices during speech synthesis.
### Screenshots or Videos
- N/A
---
<sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
📋 Pull Request Information
Original PR: https://github.com/open-webui/open-webui/pull/3612
Author: @moblangeois
Created: 7/3/2024
Status: ❌ Closed
Base:
dev← Head:feature/tts-voice-per-model📝 Commits (1)
2358a9bfeat: Add TTS voice selection per model📊 Changes
4 files changed (+44 additions, -11 deletions)
View changed files
📝
backend/apps/webui/internal/migrations/001_initial_schema.py(+1 -0)📝
backend/apps/webui/internal/migrations/010_migrate_modelfiles_to_models.py(+1 -0)📝
src/lib/components/chat/Messages/ResponseMessage.svelte(+8 -9)📝
src/routes/(app)/workspace/models/edit/+page.svelte(+34 -2)📄 Description
Pull Request Checklist
Note to first-time contributors: Please open a discussion post in Discussions and describe your changes before submitting a pull request.
Before submitting, make sure you've checked the following:
devbranch.Changelog Entry
Description
openedai-speechand OpenAI voices.Added
tts_voicein the metadata of the model to store the selected TTS voice.tts_voiceproperty in the speech synthesis logic to use the selected voice for TTS.Changed
tts_voiceproperty in the model metadata.Deprecated
Removed
Fixed
Security
Breaking Changes
Additional Information
tts_voicefeature has been tested locally and verified to work with the existing models. Users can now assign a custom TTS voice to each model and hear distinct voices during speech synthesis.Screenshots or Videos
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.