Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion fishspeechv2/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ appVersion: 'webui-cuda-cu129-20260422'
description: Fish Speech - Open-Source Multilingual Text-to-Speech with Voice Cloning
name: fishspeechv2
type: application
version: '1.0.8'
version: '1.0.16'
11 changes: 10 additions & 1 deletion fishspeechv2/OlaresManifest.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,10 @@ metadata:
description: SOTA Open Source TTS
appid: fishspeechv2
title: Fish Speech
version: '1.0.8'
version: '1.0.16'
categories:
- AI

sharedEntrances:
- name: fishspeechv2
title: Fish Speech
Expand Down Expand Up @@ -58,6 +59,9 @@ spec:
- GUI Inference: Offers a PyQt6 graphical interface that works seamlessly with the API server. Supports Linux, Windows, and macOS.

upgradeDescription: |

Add the Helm release revision to the download Job name so upgrades do not patch its immutable pod template.
Replace the Bitnami OpenResty proxy with official OpenResty and run it as UID/GID 1000 with writable runtime paths.
- feat(model): switch bundled checkpoint to fishaudio/s2-pro (latest pro-tier expressive TTS / voice-cloning release).
- chore(runtime): the fishspeech container's command now polls for the s2-pro download Job's `.s2-pro.done` marker before launching the WebUI, so it no longer starts before the weights are on disk.
- fix(cuda): bypass `uv run` at container start and launch `run_webui.py` directly with `/app/.venv/bin/python` (plus `UV_NO_SYNC=1` / `UV_FROZEN=1`). Previously the image's `start_webui.sh` used `uv run`, which performed an implicit `uv sync` without `--extra cu129` at runtime and silently downgraded torch to cu126 — Blackwell (sm_120) then failed with "no kernel image is available for execution on the device". The baked cu129 venv is now preserved as-is.
Expand All @@ -69,6 +73,11 @@ spec:
locale:
- en-US
- zh-CN
- de-DE
- es-ES
- it-IT
- fr-FR
- ja-JP
doc: https://speech.fish.audio/
license:
- text: Apache-2.0
Expand Down
2 changes: 1 addition & 1 deletion fishspeechv2/fishspeechv2/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
apiVersion: v2
appVersion: '1.25.3-2'
appVersion: '1.29.2.5'
description: Fish Speech Client Proxy
name: fishspeechv2
type: application
Expand Down
36 changes: 26 additions & 10 deletions fishspeechv2/fishspeechv2/templates/clientproxy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,19 @@ data:
}

server {

client_body_temp_path /tmp/client_body;

proxy_temp_path /tmp/proxy;

fastcgi_temp_path /tmp/fastcgi;

uwsgi_temp_path /tmp/uwsgi;

scgi_temp_path /tmp/scgi;
listen 8080;
access_log /opt/bitnami/openresty/nginx/logs/access.log;
error_log /opt/bitnami/openresty/nginx/logs/error.log;
access_log /dev/stdout;
error_log /dev/stderr;

location /gradio_api/info {
proxy_pass http://fishspeech.fishspeechv2server-shared:7860;
Expand Down Expand Up @@ -159,15 +169,22 @@ spec:
items:
- key: nginx.conf
path: nginx.conf
- name: nginx-runtime
emptyDir: {}
containers:
- name: nginx
image: docker.io/beclab/aboveos-bitnami-openresty:1.25.3-2
image: "docker.io/openresty/openresty:1.29.2.5-bookworm-fat"
command:
- /usr/local/openresty/bin/openresty
args:
- -g
- "daemon off; pid /tmp/nginx.pid;"
securityContext:
runAsUser: 1000
runAsGroup: 1000
ports:
- containerPort: 8080
protocol: TCP
env:
- name: OPENRESTY_CONF_FILE
value: /etc/nginx/nginx.conf
readinessProbe:
exec:
command:
Expand All @@ -190,11 +207,10 @@ spec:
memory: 64Mi
volumeMounts:
- name: nginx-config
mountPath: /etc/nginx/nginx.conf
subPath: nginx.conf
- name: nginx-config
mountPath: /opt/bitnami/openresty/nginx/conf/server_blocks/nginx.conf
mountPath: /etc/nginx/conf.d/default.conf
subPath: nginx.conf
- name: nginx-runtime
mountPath: /var/run/openresty

---
apiVersion: v1
Expand Down
5 changes: 4 additions & 1 deletion fishspeechv2/fishspeechv2server/templates/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,7 @@ spec:
apiVersion: batch/v1
kind: Job
metadata:
name: {{ .Release.Name }}-download-models
name: {{ .Release.Name }}-download-models-{{ .Release.Revision }}
namespace: {{ .Release.Namespace }}
labels:
app: {{ .Release.Name }}-download-models
Expand All @@ -188,6 +188,9 @@ spec:
metadata:
labels:
app: {{ .Release.Name }}-download-models
gateway.olares.io/shared-caller-outbound: "false"
annotations:
linkerd.io/inject: disabled
spec:
restartPolicy: OnFailure
containers:
Expand Down
37 changes: 37 additions & 0 deletions fishspeechv2/i18n/de-DE/OlaresManifest.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
metadata:
title: Fish Speech
description: SOTA Open-Source-TTS
spec:
fullDescription: |
**WICHTIGER HINWEIS**
Dies ist eine Shared App. Im gesamten Olares-System wird nur ein Dienst installiert. Jeder Nutzer kann einen Desktop-Eintrag installieren, um den Shared Entrance für den API-Aufruf zu nutzen.

**ÜBERBLICK**
Wahrhaft menschenähnliche Text-to-Speech und Voice Cloning

Gebündelter Checkpoint: [fishaudio/s2-pro](https://huggingface.co/fishaudio/s2-pro) — die neueste Pro-Tier-Veröffentlichung der expressiven TTS-/Voice-Cloning-Familie von Fish Audio.

FishAudio-S2 Pro ist ein expressives Text-to-Speech-(TTS)- und Voice-Cloning-Modell von Fish Audio, das Sprache natürlich, realistisch und emotional reich erzeugen soll — nicht roboterhaft, nicht flach und nicht auf Studio-Narration beschränkt.

FishAudio-S2 Pro konzentriert sich darauf, wie Menschen wirklich sprechen: mit Emotion, Variation, Pausen und Absicht.

Funktionen
- Zero-shot- & Few-shot-TTS: 10- bis 30-sekündige Sprachprobe eingeben, um hochwertige TTS-Ausgabe zu erzeugen.

- Mehrsprachig & cross-lingual: Mehrsprachigen Text einfach in das Eingabefeld kopieren — ohne Sprachsorge. Derzeit unterstützt: Englisch, Japanisch, Koreanisch, Chinesisch, Französisch, Deutsch, Arabisch und Spanisch.

- Keine Phonem-Abhängigkeit: Das Modell generalisiert stark und braucht keine Phoneme für TTS. Es verarbeitet Text in beliebigen Schriftsystemen.

- Hohe Genauigkeit: Niedrige CER (Character Error Rate) von ca. 0.4 % und WER (Word Error Rate) von ca. 0.8 % für Seed-TTS Eval.

- Schnell: Mit torch compile beschleunigt; Echtzeitfaktor ca. 1:7 auf einer Nvidia RTX 4090 GPU.

- WebUI-Inferenz: Einfache, Gradio-basierte Web-UI kompatibel mit Chrome, Firefox, Edge und anderen Browsern.

- GUI-Inferenz: PyQt6-Oberfläche, die nahtlos mit dem API-Server arbeitet. Unterstützt Linux, Windows und macOS.

upgradeDescription: |
- feat(model): gebündelten Checkpoint auf fishaudio/s2-pro umgestellt (neueste Pro-Tier expressive TTS-/Voice-Cloning-Veröffentlichung).
- chore(runtime): der Befehl des fishspeech-Containers pollt nun den `.s2-pro.done`-Marker des s2-pro-Download-Jobs, bevor die WebUI startet, damit sie nicht vor dem Vorhandensein der Gewichte startet.
- fix(cuda): `uv run` beim Containerstart umgehen und `run_webui.py` direkt mit `/app/.venv/bin/python` starten (plus `UV_NO_SYNC=1` / `UV_FROZEN=1`). Zuvor nutzte `start_webui.sh` des Images `uv run`, was zur Laufzeit ein implizites `uv sync` ohne `--extra cu129` ausführte und torch stillschweigend auf cu126 herabstufte — Blackwell (sm_120) scheiterte dann mit „no kernel image is available for execution on the device“. Das gebackene cu129-venv bleibt nun unverändert.
- fix(docker): CUDA 12.6 → 12.9 für Blackwell-(sm_120)-Unterstützung (#1225). CUDA 12.6 / cu126 scheitert mit „no kernel image available“ auf Blackwell-GPUs (RTX 5000 Serie, sm_120); Upgrade auf CUDA 12.9 / cu129 behebt das. CUDA_VER und UV_EXTRA sind als überschreibbare Build-Args in compose.base.yml exponiert, sodass Nutzer mit älteren Treibern weiterhin CUDA_VER=12.6.0 UV_EXTRA=cu126 setzen können.
37 changes: 37 additions & 0 deletions fishspeechv2/i18n/es-ES/OlaresManifest.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
metadata:
title: Fish Speech
description: TTS open source de última generación
spec:
fullDescription: |
**NOTA IMPORTANTE**
Esta es una app compartida. Solo se instalará un servicio en todo el sistema Olares. Cada usuario puede instalar una entrada de escritorio para acceder o usar la entrada compartida y llamar a la API del servicio.

**RESUMEN**
Text-to-Speech y clonación de voz verdaderamente humanos

Checkpoint incluido: [fishaudio/s2-pro](https://huggingface.co/fishaudio/s2-pro) — la última versión pro de la familia TTS / clonación de voz expresiva de Fish Audio.

FishAudio-S2 Pro es un modelo expresivo de text-to-speech (TTS) y clonación de voz de Fish Audio, diseñado para generar habla natural, realista y emocionalmente rica — no robótica, no plana ni limitada a narración de estudio.

FishAudio-S2 Pro se centra en cómo hablan realmente las personas: con emoción, variación, pausas e intención.

Características
- TTS zero-shot y few-shot: introduzca una muestra vocal de 10 a 30 segundos para generar TTS de alta calidad.

- Soporte multilingüe y cross-lingual: pegue texto multilingüe en el cuadro — sin preocuparse por el idioma. Actualmente: inglés, japonés, coreano, chino, francés, alemán, árabe y español.

- Sin dependencia de fonemas: fuerte generalización; no depende de fonemas para TTS. Maneja texto en cualquier escritura.

- Alta precisión: CER (Character Error Rate) baja de ~0.4 % y WER (Word Error Rate) de ~0.8 % en Seed-TTS Eval.

- Rápido: acelerado con torch compile; factor en tiempo real ~1:7 en una GPU Nvidia RTX 4090.

- Inferencia WebUI: UI web fácil basada en Gradio, compatible con Chrome, Firefox, Edge y otros.

- Inferencia GUI: interfaz PyQt6 que funciona con el servidor API. Compatible con Linux, Windows y macOS.

upgradeDescription: |
- feat(model): cambiar el checkpoint incluido a fishaudio/s2-pro (última versión pro de TTS / clonación de voz expresiva).
- chore(runtime): el comando del contenedor fishspeech ahora espera el marcador `.s2-pro.done` del Job de descarga s2-pro antes de lanzar la WebUI, para no arrancar antes de que los pesos estén en disco.
- fix(cuda): evitar `uv run` al inicio del contenedor y lanzar `run_webui.py` directamente con `/app/.venv/bin/python` (más `UV_NO_SYNC=1` / `UV_FROZEN=1`). Antes, `start_webui.sh` usaba `uv run`, que hacía un `uv sync` implícito sin `--extra cu129` y degradaba torch a cu126 — Blackwell (sm_120) fallaba con "no kernel image is available for execution on the device". El venv cu129 embebido se conserva tal cual.
- fix(docker): subir CUDA 12.6 → 12.9 para soporte Blackwell (sm_120) (#1225). CUDA 12.6 / cu126 falla con "no kernel image available" en GPUs Blackwell (serie RTX 5000, sm_120); actualizar a CUDA 12.9 / cu129 lo corrige. CUDA_VER y UV_EXTRA se exponen como build args anulables en compose.base.yml para que usuarios con drivers antiguos puedan pasar CUDA_VER=12.6.0 UV_EXTRA=cu126.
37 changes: 37 additions & 0 deletions fishspeechv2/i18n/fr-FR/OlaresManifest.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
metadata:
title: Fish Speech
description: TTS open source SOTA
spec:
fullDescription: |
**NOTE IMPORTANTE**
Il s'agit d'une app partagée. Un seul service sera installé sur l'ensemble du système Olares. Chaque utilisateur peut installer une entrée bureau pour accéder ou utiliser l'entrée partagée afin d'appeler l'API du service.

**APERÇU**
Text-to-Speech et clonage vocal véritablement humains

Checkpoint inclus : [fishaudio/s2-pro](https://huggingface.co/fishaudio/s2-pro) — la dernière version pro de la famille TTS / clonage vocal expressif de Fish Audio.

FishAudio-S2 Pro est un modèle expressif de text-to-speech (TTS) et de clonage vocal développé par Fish Audio, conçu pour générer une parole naturelle, réaliste et riche en émotion — ni robotique, ni plate, ni limitée à la narration studio.

FishAudio-S2 Pro se concentre sur la façon dont les humains parlent vraiment : avec émotion, variation, pauses et intention.

Fonctionnalités
- TTS zero-shot et few-shot : fournissez un échantillon vocal de 10 à 30 secondes pour générer un TTS de haute qualité.

- Support multilingue et cross-lingual : collez du texte multilingue dans la zone de saisie — sans vous soucier de la langue. Pris en charge : anglais, japonais, coréen, chinois, français, allemand, arabe et espagnol.

- Pas de dépendance aux phonèmes : forte généralisation ; ne repose pas sur les phonèmes pour le TTS. Gère le texte dans n'importe quel système d'écriture.

- Très précis : faible CER (Character Error Rate) d'environ 0.4 % et WER (Word Error Rate) d'environ 0.8 % pour Seed-TTS Eval.

- Rapide : accéléré par torch compile ; facteur temps réel d'environ 1:7 sur GPU Nvidia RTX 4090.

- Inférence WebUI : interface web Gradio facile à utiliser, compatible Chrome, Firefox, Edge et autres.

- Inférence GUI : interface graphique PyQt6 qui fonctionne avec le serveur API. Compatible Linux, Windows et macOS.

upgradeDescription: |
- feat(model) : bascule du checkpoint inclus vers fishaudio/s2-pro (dernière version pro TTS / clonage vocal expressif).
- chore(runtime) : la commande du conteneur fishspeech interroge désormais le marqueur `.s2-pro.done` du Job de téléchargement s2-pro avant de lancer la WebUI, pour ne pas démarrer avant que les poids soient sur disque.
- fix(cuda) : contourner `uv run` au démarrage du conteneur et lancer `run_webui.py` directement avec `/app/.venv/bin/python` (plus `UV_NO_SYNC=1` / `UV_FROZEN=1`). Auparavant, `start_webui.sh` utilisait `uv run`, qui faisait un `uv sync` implicite sans `--extra cu129` et rétrogradait torch vers cu126 — Blackwell (sm_120) échouait alors avec « no kernel image is available for execution on the device ». Le venv cu129 embarqué est désormais préservé.
- fix(docker) : passer CUDA 12.6 → 12.9 pour le support Blackwell (sm_120) (#1225). CUDA 12.6 / cu126 échoue avec « no kernel image available » sur les GPU Blackwell (série RTX 5000, sm_120) ; la mise à niveau vers CUDA 12.9 / cu129 corrige cela. CUDA_VER et UV_EXTRA sont exposés comme build args surchargeables dans compose.base.yml pour que les utilisateurs avec d'anciens pilotes puissent passer CUDA_VER=12.6.0 UV_EXTRA=cu126.
37 changes: 37 additions & 0 deletions fishspeechv2/i18n/it-IT/OlaresManifest.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
metadata:
title: Fish Speech
description: TTS open source SOTA
spec:
fullDescription: |
**NOTA IMPORTANTE**
Questa è un'app condivisa. Nell'intero sistema Olares verrà installato un solo servizio. Ogni utente può installare una voce desktop per accedere o usare l'entrance condivisa e chiamare l'API del servizio.

**PANORAMICA**
Text-to-Speech e Voice Cloning davvero umani

Checkpoint incluso: [fishaudio/s2-pro](https://huggingface.co/fishaudio/s2-pro) — l'ultima release pro-tier della famiglia TTS / voice-cloning espressiva di Fish Audio.

FishAudio-S2 Pro è un modello espressivo di text-to-speech (TTS) e voice cloning di Fish Audio, progettato per generare parlato naturale, realistico ed emotivamente ricco — non robotico, non piatto e non limitato alla narrazione da studio.

FishAudio-S2 Pro si concentra su come parlano davvero le persone: con emozione, variazioni, pause e intenzione.

Funzionalità
- TTS zero-shot e few-shot: inserisci un campione vocale di 10–30 secondi per generare TTS di alta qualità.

- Supporto multilingue e cross-lingual: incolla testo multilingue nell'input — senza preoccuparti della lingua. Attualmente: inglese, giapponese, coreano, cinese, francese, tedesco, arabo e spagnolo.

- Nessuna dipendenza dai fonemi: forte generalizzazione; non richiede fonemi per il TTS. Gestisce testo in qualsiasi script.

- Alta accuratezza: CER (Character Error Rate) bassa ~0.4% e WER (Word Error Rate) ~0.8% su Seed-TTS Eval.

- Veloce: accelerato con torch compile; fattore real-time circa 1:7 su GPU Nvidia RTX 4090.

- Inferenza WebUI: UI web Gradio facile da usare, compatibile con Chrome, Firefox, Edge e altri.

- Inferenza GUI: interfaccia grafica PyQt6 che lavora con il server API. Supporta Linux, Windows e macOS.

upgradeDescription: |
- feat(model): passaggio del checkpoint incluso a fishaudio/s2-pro (ultima release pro-tier TTS / voice-cloning espressiva).
- chore(runtime): il comando del container fishspeech ora attende il marker `.s2-pro.done` del Job di download s2-pro prima di avviare la WebUI, così non parte prima che i pesi siano su disco.
- fix(cuda): bypass di `uv run` all'avvio del container e lancio diretto di `run_webui.py` con `/app/.venv/bin/python` (più `UV_NO_SYNC=1` / `UV_FROZEN=1`). Prima `start_webui.sh` usava `uv run`, che eseguiva un `uv sync` implicito senza `--extra cu129` e degradava torch a cu126 — Blackwell (sm_120) falliva con "no kernel image is available for execution on the device". Il venv cu129 baked è ora preservato.
- fix(docker): aggiornamento CUDA 12.6 → 12.9 per supporto Blackwell (sm_120) (#1225). CUDA 12.6 / cu126 fallisce con "no kernel image available" su GPU Blackwell (serie RTX 5000, sm_120); l'upgrade a CUDA 12.9 / cu129 lo risolve. CUDA_VER e UV_EXTRA sono esposti come build args sovrascrivibili in compose.base.yml così utenti con driver più vecchi possono passare CUDA_VER=12.6.0 UV_EXTRA=cu126.
Loading