diff --git a/fishspeechv3/Chart.yaml b/fishspeechv3/Chart.yaml index c15b36b2d..a0b33a9b3 100644 --- a/fishspeechv3/Chart.yaml +++ b/fishspeechv3/Chart.yaml @@ -3,4 +3,4 @@ appVersion: 'webui-cuda-cu129-20260422' description: Fish Speech - Open-Source Multilingual Text-to-Speech with Voice Cloning name: fishspeechv3 type: application -version: 1.1.11 \ No newline at end of file +version: 1.1.19 \ No newline at end of file diff --git a/fishspeechv3/OlaresManifest.yaml b/fishspeechv3/OlaresManifest.yaml index df04ccfdc..58edb9922 100644 --- a/fishspeechv3/OlaresManifest.yaml +++ b/fishspeechv3/OlaresManifest.yaml @@ -7,9 +7,13 @@ metadata: description: SOTA Open Source TTS appid: fishspeechv3 title: Fish Speech - version: '1.1.11' + version: '1.1.19' categories: - AI + - models + tags: + - audio + - text-to-speech sharedEntrances: - name: fishspeechv3 @@ -74,6 +78,8 @@ spec: - GUI Inference: Offers a PyQt6 graphical interface that works seamlessly with the API server. Supports Linux, Windows, and macOS. upgradeDescription: | + + Run the official OpenResty entrance as UID/GID 1000 with writable runtime paths. Switch the reverse-proxy image from Bitnami OpenResty (`beclab/aboveos-bitnami-openresty:1.25.3-2`) to the official OpenResty image `openresty/openresty:1.29.2.5-bookworm-fat`. Align nginx config mounts and log paths with the official image layout (`/etc/nginx/conf.d/default.conf`, `/usr/local/openresty/nginx/logs/...`), and drop Bitnami-specific `OPENRESTY_CONF_FILE` wiring. @@ -119,6 +125,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 diff --git a/fishspeechv3/i18n/de-DE/OlaresManifest.yaml b/fishspeechv3/i18n/de-DE/OlaresManifest.yaml new file mode 100644 index 000000000..29fbfbf58 --- /dev/null +++ b/fishspeechv3/i18n/de-DE/OlaresManifest.yaml @@ -0,0 +1,45 @@ +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 Benutzer kann einen Desktop-Eintrag installieren oder den gemeinsamen Eingang nutzen, um die Service-API aufzurufen. + + **ÜBERSICHT** + Echt menschenähnliches Text-to-Speech und Voice Cloning + + Gebündelter Checkpoint: [fishaudio/s2-pro](https://huggingface.co/fishaudio/s2-pro) — Fish Audios neueste Pro-Tier-Veröffentlichung der expressiven TTS-/Voice-Cloning-Familie. + + FishAudio-S2 Pro ist ein expressives Text-to-Speech-(TTS)- und Voice-Cloning-Modell von Fish Audio, das Sprache erzeugt, die natürlich, realistisch und emotional reich klingt — nicht roboterhaft, nicht flach und nicht auf Studio-Narration beschränkt. + + FishAudio-S2 Pro konzentriert sich darauf, wie Menschen tatsächlich sprechen: mit Emotion, Variation, Pausen und Absicht. + + Funktionen + - Zero-shot & Few-shot TTS: Geben Sie eine 10- bis 30-sekündige Stimmprobe ein, um hochwertige TTS-Ausgabe zu erzeugen. + + - Mehrsprachig & Cross-lingual: Mehrsprachigen Text einfach in das Eingabefeld kopieren — ohne Sich um die Sprache zu kümmern. 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 kann Text in jeder Sprachschrift verarbeiten. + + - Hochgenau: Erreicht eine niedrige CER (Character Error Rate) von etwa 0.4 % und WER (Word Error Rate) von etwa 0.8 % bei Seed-TTS Eval. + + - Schnell: Mit torch compile beschleunigt beträgt der Realzeitfaktor etwa 1:7 auf einer Nvidia RTX 4090 GPU. + + - WebUI-Inferenz: Einfach zu bedienende Gradio-basierte Web-UI, kompatibel mit Chrome, Firefox, Edge und anderen Browsern. + + - GUI-Inferenz: Bietet eine PyQt6-Oberfläche, die nahtlos mit dem API-Server zusammenarbeitet. Unterstützt Linux, Windows und macOS. + upgradeDescription: | + Wechsel des Reverse-Proxy-Images von Bitnami OpenResty (`beclab/aboveos-bitnami-openresty:1.25.3-2`) zum offiziellen OpenResty-Image `openresty/openresty:1.29.2.5-bookworm-fat`. + + Nginx-Konfigurations-Mounts und Log-Pfade an das Layout des offiziellen Images anpassen (`/etc/nginx/conf.d/default.conf`, `/usr/local/openresty/nginx/logs/...`) und Bitnami-spezifisches `OPENRESTY_CONF_FILE`-Wiring entfernen. + + Speicher: dauerhafte Volumes von `appCache` nach `appData` verschoben. Beim ersten Start nach dem Upgrade kopieren initContainers Legacy-appCache-Inhalte nach appData, wenn das Ziel leer ist (Marker: `.migration_from_appcache_done`). Alte appCache-Daten bleiben für Rollback erhalten. + + Legacy-Verzweigung `sysVersion >= 1.12.3` für appCache-Pfade entfernt; Olares-Minimum ist jetzt 1.12.6. + + `HF_TOKEN` / `HF_ENDPOINT` werden jetzt von `OLARES_SYSTEM_HUGGINGFACE_TOKEN` / `OLARES_SYSTEM_HUGGINGFACE_SERVICE` (Systemebene) gemappt, nicht von benutzerbezogenen Hugging-Face-Env. + + Downloader-Image auf `beclab/llm-init:v1.3.1` aktualisiert. + + Benutzerdaten-Root von appCache nach appData verschoben; Compile-Cache bleibt auf appCache. diff --git a/fishspeechv3/i18n/es-ES/OlaresManifest.yaml b/fishspeechv3/i18n/es-ES/OlaresManifest.yaml new file mode 100644 index 000000000..9c50c776e --- /dev/null +++ b/fishspeechv3/i18n/es-ES/OlaresManifest.yaml @@ -0,0 +1,45 @@ +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 para 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 Fish Audio de la familia de TTS / clonación de voz expresiva. + + FishAudio-S2 Pro es un modelo expresivo de text-to-speech (TTS) y clonación de voz desarrollado por Fish Audio, diseñado para generar habla natural, realista y emocionalmente rica — no robótica, no plana ni limitada a la narración de estudio. + + FishAudio-S2 Pro se centra en cómo hablan realmente los humanos: con emoción, variación, pausas e intención. + + Funciones + - TTS zero-shot y few-shot: Introduce una muestra vocal de 10 a 30 segundos para generar TTS de alta calidad. + + - Compatibilidad multilingüe y cross-lingual: Simplemente copia y pega texto multilingüe en el cuadro de entrada — sin preocuparte por el idioma. Actualmente admite inglés, japonés, coreano, chino, francés, alemán, árabe y español. + + - Sin dependencia de fonemas: El modelo tiene una fuerte capacidad de generalización y no depende de fonemas para TTS. Puede manejar texto en cualquier sistema de escritura. + + - Alta precisión: Logra un CER (Character Error Rate) bajo de alrededor del 0.4 % y un WER (Word Error Rate) de alrededor del 0.8 % en Seed-TTS Eval. + + - Rápido: Acelerado por torch compile, el factor en tiempo real es aproximadamente 1:7 en una GPU Nvidia RTX 4090. + + - Inferencia WebUI: Interfaz web basada en Gradio fácil de usar, compatible con Chrome, Firefox, Edge y otros navegadores. + + - Inferencia GUI: Ofrece una interfaz gráfica PyQt6 que funciona a la perfección con el servidor API. Compatible con Linux, Windows y macOS. + upgradeDescription: | + Cambiar la imagen del proxy inverso de Bitnami OpenResty (`beclab/aboveos-bitnami-openresty:1.25.3-2`) a la imagen oficial de OpenResty `openresty/openresty:1.29.2.5-bookworm-fat`. + + Alinear los montajes de configuración de nginx y las rutas de registro con el diseño de la imagen oficial (`/etc/nginx/conf.d/default.conf`, `/usr/local/openresty/nginx/logs/...`) y eliminar el cableado específico de Bitnami `OPENRESTY_CONF_FILE`. + + Almacenamiento: volúmenes duraderos movidos de `appCache` a `appData`. En el primer arranque tras la actualización, los initContainers copian el contenido legado de appCache a appData si el destino está vacío (marcador: `.migration_from_appcache_done`). Los datos antiguos de appCache se conservan para rollback. + + Eliminada la ramificación legada `sysVersion >= 1.12.3` de rutas appCache; el mínimo de Olares es ahora 1.12.6. + + `HF_TOKEN` / `HF_ENDPOINT` ahora se mapean desde `OLARES_SYSTEM_HUGGINGFACE_TOKEN` / `OLARES_SYSTEM_HUGGINGFACE_SERVICE` (nivel de sistema), no desde env de Hugging Face a nivel de usuario. + + Imagen del downloader actualizada a `beclab/llm-init:v1.3.1`. + + Raíz de datos de usuario movida de appCache a appData; la caché de compilación permanece en appCache. diff --git a/fishspeechv3/i18n/fr-FR/OlaresManifest.yaml b/fishspeechv3/i18n/fr-FR/OlaresManifest.yaml new file mode 100644 index 000000000..f18b8d01e --- /dev/null +++ b/fishspeechv3/i18n/fr-FR/OlaresManifest.yaml @@ -0,0 +1,45 @@ +metadata: + title: Fish Speech + description: TTS open-source SOTA +spec: + fullDescription: | + **NOTE IMPORTANTE** + Il s'agit d'une application partagée. Un seul service sera installé sur l'ensemble du système Olares. Chaque utilisateur peut installer une entrée de bureau pour y accéder ou utiliser l'entrée partagée pour appeler l'API du service. + + **APERÇU** + Text-to-Speech et clonage de voix véritablement humains + + Checkpoint inclus : [fishaudio/s2-pro](https://huggingface.co/fishaudio/s2-pro) — la dernière version pro de Fish Audio de la famille TTS / clonage de voix expressif. + + FishAudio-S2 Pro est un modèle expressif de text-to-speech (TTS) et de clonage de voix développé par Fish Audio, conçu pour générer une parole naturelle, réaliste et émotionnellement riche — ni robotique, ni plate, ni limitée à la narration de studio. + + FishAudio-S2 Pro se concentre sur la façon dont les humains parlent réellement : avec émotion, variation, pauses et intention. + + Fonctionnalités + - TTS zero-shot et few-shot : Entrez un échantillon vocal de 10 à 30 secondes pour générer un TTS de haute qualité. + + - Prise en charge multilingue et cross-linguale : Copiez-collez simplement du texte multilingue dans la zone de saisie — sans vous soucier de la langue. Prend actuellement en charge l'anglais, le japonais, le coréen, le chinois, le français, l'allemand, l'arabe et l'espagnol. + + - Aucune dépendance aux phonèmes : Le modèle a de fortes capacités de généralisation et ne dépend pas des phonèmes pour le TTS. Il peut traiter du texte dans n'importe quel système d'écriture. + + - Très précis : Atteint un CER (Character Error Rate) bas d'environ 0.4 % et un WER (Word Error Rate) d'environ 0.8 % sur Seed-TTS Eval. + + - Rapide : Accéléré par torch compile, le facteur temps réel est d'environ 1:7 sur un GPU Nvidia RTX 4090. + + - Inférence WebUI : Interface web basée sur Gradio facile à utiliser, compatible avec Chrome, Firefox, Edge et d'autres navigateurs. + + - Inférence GUI : Offre une interface graphique PyQt6 qui fonctionne parfaitement avec le serveur API. Prend en charge Linux, Windows et macOS. + upgradeDescription: | + Remplacer l'image du reverse-proxy Bitnami OpenResty (`beclab/aboveos-bitnami-openresty:1.25.3-2`) par l'image officielle OpenResty `openresty/openresty:1.29.2.5-bookworm-fat`. + + Aligner les montages de configuration nginx et les chemins de journaux sur la disposition de l'image officielle (`/etc/nginx/conf.d/default.conf`, `/usr/local/openresty/nginx/logs/...`), et supprimer le câblage spécifique à Bitnami `OPENRESTY_CONF_FILE`. + + Stockage : volumes durables déplacés de `appCache` vers `appData`. Au premier démarrage après la mise à jour, les initContainers copient le contenu legacy d'appCache vers appData si la destination est vide (marqueur : `.migration_from_appcache_done`). Les anciennes données appCache sont conservées pour le rollback. + + Suppression du branchement legacy `sysVersion >= 1.12.3` des chemins appCache ; le minimum Olares est désormais 1.12.6. + + `HF_TOKEN` / `HF_ENDPOINT` sont désormais mappés depuis `OLARES_SYSTEM_HUGGINGFACE_TOKEN` / `OLARES_SYSTEM_HUGGINGFACE_SERVICE` (niveau système), et non depuis les env Hugging Face utilisateur. + + Image du downloader mise à jour vers `beclab/llm-init:v1.3.1`. + + Racine des données utilisateur déplacée d'appCache vers appData ; le compile-cache reste sur appCache. diff --git a/fishspeechv3/i18n/it-IT/OlaresManifest.yaml b/fishspeechv3/i18n/it-IT/OlaresManifest.yaml new file mode 100644 index 000000000..7f993eb86 --- /dev/null +++ b/fishspeechv3/i18n/it-IT/OlaresManifest.yaml @@ -0,0 +1,45 @@ +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 oppure usare l'ingresso condiviso per chiamare l'API del servizio. + + **PANORAMICA** + Text-to-Speech e Voice Cloning davvero simili all'umano + + Checkpoint incluso: [fishaudio/s2-pro](https://huggingface.co/fishaudio/s2-pro) — l'ultima release pro-tier di Fish Audio della famiglia TTS / voice-cloning espressiva. + + FishAudio-S2 Pro è un modello espressivo di text-to-speech (TTS) e voice cloning sviluppato da 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 gli umani parlano davvero: con emozione, variazione, pause e intento. + + 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: Copia e incolla testo multilingue nella casella di input — senza preoccuparti della lingua. Attualmente supporta inglese, giapponese, coreano, cinese, francese, tedesco, arabo e spagnolo. + + - Nessuna dipendenza da fonemi: Il modello ha forti capacità di generalizzazione e non dipende dai fonemi per il TTS. Può gestire testo in qualsiasi sistema di scrittura. + + - Altamente accurato: Raggiunge un CER (Character Error Rate) basso di circa lo 0.4% e un WER (Word Error Rate) di circa lo 0.8% su Seed-TTS Eval. + + - Veloce: Accelerato da torch compile, il fattore in tempo reale è circa 1:7 su una GPU Nvidia RTX 4090. + + - Inferenza WebUI: Web UI basata su Gradio facile da usare, compatibile con Chrome, Firefox, Edge e altri browser. + + - Inferenza GUI: Offre un'interfaccia grafica PyQt6 che funziona senza problemi con il server API. Supporta Linux, Windows e macOS. + upgradeDescription: | + Passare l'immagine del reverse proxy da Bitnami OpenResty (`beclab/aboveos-bitnami-openresty:1.25.3-2`) all'immagine ufficiale OpenResty `openresty/openresty:1.29.2.5-bookworm-fat`. + + Allineare i mount della configurazione nginx e i percorsi dei log al layout dell'immagine ufficiale (`/etc/nginx/conf.d/default.conf`, `/usr/local/openresty/nginx/logs/...`) e rimuovere il wiring specifico Bitnami `OPENRESTY_CONF_FILE`. + + Storage: volumi durevoli spostati da `appCache` ad `appData`. Al primo avvio dopo l'upgrade, gli initContainers copiano i contenuti legacy di appCache in appData se la destinazione è vuota (marker: `.migration_from_appcache_done`). I vecchi dati appCache restano per il rollback. + + Rimossa la ramificazione legacy `sysVersion >= 1.12.3` sui percorsi appCache; il minimo Olares è ora 1.12.6. + + `HF_TOKEN` / `HF_ENDPOINT` ora sono mappati da `OLARES_SYSTEM_HUGGINGFACE_TOKEN` / `OLARES_SYSTEM_HUGGINGFACE_SERVICE` (livello sistema), non da env Hugging Face a livello utente. + + Immagine downloader aggiornata a `beclab/llm-init:v1.3.1`. + + Root dei dati utente spostata da appCache ad appData; la compile-cache resta su appCache. diff --git a/fishspeechv3/i18n/ja-JP/OlaresManifest.yaml b/fishspeechv3/i18n/ja-JP/OlaresManifest.yaml new file mode 100644 index 000000000..ebafa7314 --- /dev/null +++ b/fishspeechv3/i18n/ja-JP/OlaresManifest.yaml @@ -0,0 +1,45 @@ +metadata: + title: Fish Speech + description: SOTA オープンソース TTS +spec: + fullDescription: | + **重要なお知らせ** + これは共有アプリです。Olares システム全体でサービスは1つだけインストールされます。各ユーザーはデスクトップエントリをインストールしてアクセスするか、共有エントランス経由でサービス API を呼び出せます。 + + **概要** + 真に人間らしい Text-to-Speech とボイスクローニング + + 同梱チェックポイント: [fishaudio/s2-pro](https://huggingface.co/fishaudio/s2-pro) — Fish Audio の表現力豊かな TTS / ボイスクローニングファミリーの最新プロ版。 + + FishAudio-S2 Pro は Fish Audio が開発した表現力豊かな text-to-speech(TTS)およびボイスクローニングモデルで、自然で現実的、感情豊かな音声を生成します — ロボットっぽくなく、平坦でなく、スタジオ風ナレーションにも縛られません。 + + FishAudio-S2 Pro は、人間が実際に話す様子 — 感情、変化、間、意図 — に焦点を当てます。 + + 機能 + - Zero-shot & Few-shot TTS: 10〜30秒の音声サンプルを入力して高品質 TTS を生成。 + + - 多言語・言語横断対応: 入力欄に多言語テキストをコピー&ペーストするだけ — 言語を気にする必要なし。現在サポート: 英語、日本語、韓国語、中国語、フランス語、ドイツ語、アラビア語、スペイン語。 + + - 音素依存なし: モデルは強い汎化能力を持ち、TTS に音素を必要としません。任意の言語スクリプトのテキストを扱えます。 + + - 高精度: Seed-TTS Eval で CER(文字誤り率)約 0.4%、WER(単語誤り率)約 0.8% の低誤差を達成。 + + - 高速: torch compile で加速、Nvidia RTX 4090 GPU でのリアルタイム係数は約 1:7。 + + - WebUI 推論: Chrome、Firefox、Edge などと互換の使いやすい Gradio ベース Web UI。 + + - GUI 推論: API サーバーと連携する PyQt6 グラフィカルインターフェースを提供。Linux、Windows、macOS 対応。 + upgradeDescription: | + リバースプロキシのイメージを Bitnami OpenResty(`beclab/aboveos-bitnami-openresty:1.25.3-2`)から公式 OpenResty イメージ `openresty/openresty:1.29.2.5-bookworm-fat` に切り替えます。 + + nginx 設定のマウントとログパスを公式イメージのレイアウト(`/etc/nginx/conf.d/default.conf`、`/usr/local/openresty/nginx/logs/...`)に合わせ、Bitnami 固有の `OPENRESTY_CONF_FILE` 配線を削除します。 + + ストレージ:永続ボリュームを `appCache` から `appData` へ移動。アップグレード後の初回起動時、宛先が空なら initContainers がレガシー appCache の内容を appData にコピー(マーカー: `.migration_from_appcache_done`)。旧 appCache データはロールバック用に残します。 + + レガシーな `sysVersion >= 1.12.3` の appCache パス分岐を削除;Olares の最小要件は 1.12.6。 + + `HF_TOKEN` / `HF_ENDPOINT` はユーザーレベルの Hugging Face 環境変数ではなく、`OLARES_SYSTEM_HUGGINGFACE_TOKEN` / `OLARES_SYSTEM_HUGGINGFACE_SERVICE`(システムレベル)からマッピング。 + + ダウンローダーイメージを `beclab/llm-init:v1.3.1` に更新。 + + ユーザーデータルートを appCache から appData へ移動;コンパイルキャッシュは appCache のまま。 diff --git a/fishspeechv3/owners b/fishspeechv3/owners index 87a4d053e..54214d082 100644 --- a/fishspeechv3/owners +++ b/fishspeechv3/owners @@ -1,7 +1,3 @@ owners: -- 'LittleLollipop' -- 'TShentu' -- 'hysyeah' -- 'pengpeng' -- 'harveyff' -- 'zdf-org' + - username: '@beclab' + title: 'Olares' diff --git a/fishspeechv3/templates/fishspeechv3.yaml b/fishspeechv3/templates/fishspeechv3.yaml index c7825d6e0..74207749f 100644 --- a/fishspeechv3/templates/fishspeechv3.yaml +++ b/fishspeechv3/templates/fishspeechv3.yaml @@ -13,9 +13,14 @@ data: # fall through to Gradio. The dashboard auto-reloads into the app once # /__app_ready flips to 200. 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 /usr/local/openresty/nginx/logs/access.log; - error_log /usr/local/openresty/nginx/logs/error.log; + access_log /dev/stdout; + error_log /dev/stderr; client_max_body_size 500m; resolver coredns.kube-system.svc.cluster.local valid=10s; @@ -195,9 +200,20 @@ spec: items: - key: nginx.conf path: nginx.conf + - name: nginx-runtime + emptyDir: {} containers: - name: nginx 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 @@ -225,6 +241,8 @@ spec: - name: nginx-config mountPath: /etc/nginx/conf.d/default.conf subPath: nginx.conf + - name: nginx-runtime + mountPath: /var/run/openresty --- apiVersion: v1 diff --git a/fishspeechv3/templates/server.yaml b/fishspeechv3/templates/server.yaml index e4c8992c1..830c83acc 100644 --- a/fishspeechv3/templates/server.yaml +++ b/fishspeechv3/templates/server.yaml @@ -306,7 +306,7 @@ spec: - name: llm-init # v1.3.1: nullengine download-only, default LFS (hf_xet off unless # HF_ENABLE_XET=true) for stable download memory. - image: docker.io/beclab/llm-init:v1.3.1 + image: docker.io/beclab/llm-init:v1.7.12 imagePullPolicy: IfNotPresent env: # Empty ENGINE_KIND selects download-only mode (nullengine).