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: Please verify that the pull request targets the dev branch.
Description: Provide a concise description of the changes made in this pull request.
Changelog: Ensure a changelog entry following the format of Keep a Changelog is added at the bottom of the PR description.
Documentation: Have you updated relevant documentation Open WebUI Docs, or other documentation sources?
Testing: Have you written and run sufficient tests for validating the changes?
Code review: Have you performed a self-review of your code, addressing any coding standard issues and ensuring adherence to the project's coding standards?
Prefix: To clearly categorize this pull request, prefix the pull request title, using one of the following:
feat: Introduces a new feature or enhancement to the codebase
Changelog Entry
Description
Added functionality to fetch and use voice names from ElevenLabs instead of voice IDs.
Updated main.py to fetch available voice names and integrate with the /speech endpoint.
Updated Audio.svelte to dynamically populate voice selection dropdowns with available voice names.
Added
fetch_available_voices function in main.py to fetch and map voice names to IDs.
New /voices endpoint in main.py to fetch available voice names.
Functionality in Audio.svelte to dynamically fetch and display available voice names.
Changed
/speech endpoint in main.py to use voice names instead of IDs.
UI elements in Audio.svelte to use dynamically fetched voice names.
Breaking Changes
BREAKING CHANGE: The /speech endpoint now requires voice names instead of voice IDs. This affects any existing integrations relying on the previous method of specifying voice IDs.
Additional Information
These changes make it easier for users to select voices by name, enhancing user experience and reducing the potential for errors in specifying voice IDs.
🔄 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/4018
**Author:** [@justinh-rahb](https://github.com/justinh-rahb)
**Created:** 7/20/2024
**Status:** ✅ Merged
**Merged:** 8/2/2024
**Merged by:** [@tjbck](https://github.com/tjbck)
**Base:** `dev-elevenlabs` ← **Head:** `elevenlabs-voice-names`
---
### 📝 Commits (3)
- [`0216ee1`](https://github.com/open-webui/open-webui/commit/0216ee101c2793dbd227c29ddf5a345a9d8899f4) enh: ElevenLabs voice name -> ID
- [`6cecb96`](https://github.com/open-webui/open-webui/commit/6cecb964a9976cf30837933eeb67dbb560838d0d) name
- [`c6c298b`](https://github.com/open-webui/open-webui/commit/c6c298b412ab4089dc149e693a5756077f92a1ca) Fetch didn't happen
### 📊 Changes
**2 files changed** (+71 additions, -6 deletions)
<details>
<summary>View changed files</summary>
📝 `backend/apps/audio/main.py` (+43 -2)
📝 `src/lib/components/admin/Settings/Audio.svelte` (+28 -4)
</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:** Please verify that the pull request targets the `dev` branch.
- [X] **Description:** Provide a concise description of the changes made in this pull request.
- [X] **Changelog:** Ensure a changelog entry following the format of [Keep a Changelog](https://keepachangelog.com/) is added at the bottom of the PR description.
- [ ] **Documentation:** Have you updated relevant documentation [Open WebUI Docs](https://github.com/open-webui/docs), or other documentation sources?
- [ ] **Testing:** Have you written and run sufficient tests for validating the changes?
- [ ] **Code review:** Have you performed a self-review of your code, addressing any coding standard issues and ensuring adherence to the project's coding standards?
- [X] **Prefix:** To clearly categorize this pull request, prefix the pull request title, using one of the following:
- **feat**: Introduces a new feature or enhancement to the codebase
# Changelog Entry
### Description
- Added functionality to fetch and use voice names from ElevenLabs instead of voice IDs.
- Updated `main.py` to fetch available voice names and integrate with the `/speech` endpoint.
- Updated `Audio.svelte` to dynamically populate voice selection dropdowns with available voice names.
### Added
- `fetch_available_voices` function in `main.py` to fetch and map voice names to IDs.
- New `/voices` endpoint in `main.py` to fetch available voice names.
- Functionality in `Audio.svelte` to dynamically fetch and display available voice names.
### Changed
- `/speech` endpoint in `main.py` to use voice names instead of IDs.
- UI elements in `Audio.svelte` to use dynamically fetched voice names.
### Breaking Changes
- **BREAKING CHANGE**: The `/speech` endpoint now requires voice names instead of voice IDs. This affects any existing integrations relying on the previous method of specifying voice IDs.
---
### Additional Information
- These changes make it easier for users to select voices by name, enhancing user experience and reducing the potential for errors in specifying voice IDs.
- Related Commits:
1. e664a429a127db4c474535995afe662754284a52
2. 79562a2531acdccf25c748705ba7b1da009c7221
### Screenshots or Videos
---
<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/4018
Author: @justinh-rahb
Created: 7/20/2024
Status: ✅ Merged
Merged: 8/2/2024
Merged by: @tjbck
Base:
dev-elevenlabs← Head:elevenlabs-voice-names📝 Commits (3)
0216ee1enh: ElevenLabs voice name -> ID6cecb96namec6c298bFetch didn't happen📊 Changes
2 files changed (+71 additions, -6 deletions)
View changed files
📝
backend/apps/audio/main.py(+43 -2)📝
src/lib/components/admin/Settings/Audio.svelte(+28 -4)📄 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
main.pyto fetch available voice names and integrate with the/speechendpoint.Audio.svelteto dynamically populate voice selection dropdowns with available voice names.Added
fetch_available_voicesfunction inmain.pyto fetch and map voice names to IDs./voicesendpoint inmain.pyto fetch available voice names.Audio.svelteto dynamically fetch and display available voice names.Changed
/speechendpoint inmain.pyto use voice names instead of IDs.Audio.svelteto use dynamically fetched voice names.Breaking Changes
/speechendpoint now requires voice names instead of voice IDs. This affects any existing integrations relying on the previous method of specifying voice IDs.Additional Information
e664a429a179562a2531Screenshots or Videos
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.