{"id":209,"date":"2026-06-30T01:19:42","date_gmt":"2026-06-29T23:19:42","guid":{"rendered":"https:\/\/www.brunzel.info\/?p=209"},"modified":"2026-07-04T18:15:47","modified_gmt":"2026-07-04T16:15:47","slug":"local-voice-cloning-voicebox-sauber-mit-conda-unter-cachyos-arch-installieren","status":"publish","type":"post","link":"https:\/\/www.brunzel.info\/index.php\/2026\/06\/30\/local-voice-cloning-voicebox-sauber-mit-conda-unter-cachyos-arch-installieren\/","title":{"rendered":"Local Voice Cloning: Voicebox sauber mit Conda unter CachyOS\/Arch installieren"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Wer auf der Suche nach einer echten, lokalen Open-Source-Alternative zu ElevenLabs ist, kommt aktuell kaum an <strong>Voicebox<\/strong> (von Jamie Pine) vorbei. Angetrieben von Modellen wie <em>Qwen3-TTS<\/em> und <em>Kokoro<\/em> liefert das Tool erstklassiges Voice-Cloning und eine intuitive Audio-Timeline direkt auf dem eigenen Rechner.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Standard-Setups unter Linux haben jedoch oft einen Haken: Das offizielle automatisierte Skript des Herstellers zwingt dich starr in ein lokales Python-<code>venv<\/code>. Wenn du aber deine Entwicklungsumgebungen sauber \u00fcber <strong>Conda<\/strong> trennst und auf einer extrem schnellen Rolling-Release-Distribution wie <strong>CachyOS<\/strong> (oder reinem Arch Linux) mit Wayland unterwegs bist, f\u00fchrt dieser automatisierte Pfad schnell zu massiven Grafik- und Importfehlern.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In diesem Beitrag erf\u00e4hrst du, wie du das Python-Backend sauber in Conda aufsetzt, typische Versions-Konflikte umgehst und das Voicebox-Studio plattformunabh\u00e4ngig und performant direkt im Webbrowser nutzt.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Was ist Conda \u00fcberhaupt?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Wenn du dich mit lokalen KI-Tools besch\u00e4ftigst, st\u00f6\u00dft du unweigerlich auf Python. Python hat jedoch eine gro\u00dfe Schw\u00e4che: das sogenannte Abh\u00e4ngigkeits-Chaos (<em>Dependency Hell<\/em>). Verschiedene KI-Tools ben\u00f6tigen oft unterschiedliche Versionen derselben Bibliothek (z. B. PyTorch) oder sogar komplett andere Python-Versionen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Hier kommt <strong>Conda<\/strong> ins Spiel. Du kannst dir eine Conda-Umgebung wie einen abgeschlossenen Container vorstellen: Was darin installiert wird, bleibt darin und kommt deinem restlichen Betriebssystem (oder anderen KI-Projekten) niemals in die Quere.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Hinweis: Falls du Conda oder Miniconda noch nicht auf deinem CachyOS-System hast, installiere es dir einfach vorab \u00fcber den Paketmanager deiner Wahl oder das offizielle Miniconda-Linux-Skript.<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. System-Abh\u00e4ngigkeiten &amp; Repository vorbereiten<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Wir holen uns den schnellen JavaScript-Paketmanager <code>bun<\/code> sowie grundlegende Build-Tools direkt \u00fcber Pacman. Danach klonen wir das offizielle Repository:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bash<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo pacman -S --needed base-devel curl wget git bun\n\n# Repository klonen und Node-Pakete installieren\ngit clone https:\/\/github.com\/jamiepine\/voicebox.git\ncd voicebox\nbun install<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">2. Conda-Umgebung f\u00fcr das KI-Backend aufsetzen<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Jetzt bauen wir uns die isolierte Umgebung mit <strong>Python 3.11<\/strong> auf. Voicebox ist extrem w\u00e4hlerisch, was die Versionen der KI-Bibliotheken angeht. Um den gef\u00fcrchteten C++ ABI-Fehler (<code>undefined symbol: aoti_torch_abi_version<\/code>) beim Laden der Modelle zu vermeiden, installieren wir das PyTorch-Dreiergespann in einem Rutsch frisch f\u00fcr NVIDIA-Grafikkarten (CUDA 12.1):<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bash<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># 1. Umgebung erstellen und aktivieren\nconda create -n voicebox-backend python=3.11 -y\nconda activate voicebox-backend\n\n# 2. PyTorch, TorchVision und TorchAudio synchronisiert f\u00fcr CUDA installieren\npip install torch torchvision torchaudio --index-url https:\/\/download.pytorch.org\/whl\/cu121\n\n# 3. In den Backend-Ordner wechseln und restliche Module installieren\ncd backend\npip install -r requirements.txt\n\n# 4. Spezifische Voicebox-Engines konfliktfrei nachziehen\npip install --no-deps chatterbox-tts\npip install --no-deps hume-tada\npip install git+https:\/\/github.com\/QwenLM\/Qwen3-TTS.git\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">3. Der essentielle CORS-Patch f\u00fcr den Browser-Betrieb<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Da Voicebox standardm\u00e4\u00dfig als native Desktop-App (via Tauri) konzipiert ist, blockieren moderne Webbrowser den Zugriff auf das Backend aus Sicherheitsgr\u00fcnden (<strong>CORS-Policy<\/strong>). Da wir die App aber ressourcenschonend und stabil im Browser laufen lassen wollen, m\u00fcssen wir dem Python-Backend kurz erlauben, mit unserem Browser zu sprechen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00d6ffne die Datei <code>~\/voicebox\/backend\/main.py<\/code> in einem Texteditor und f\u00fcge <strong>direkt unter<\/strong> der Zeile <code>from .app import app<\/code> folgenden Code-Block ein:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Python<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>from fastapi.middleware.cors import CORSMiddleware\n\napp.add_middleware(\n    CORSMiddleware,\n    allow_origins=&#91;\"*\"],  # Erlaubt den Zugriff von lokalen IPs und Localhost\n    allow_credentials=True,\n    allow_methods=&#91;\"*\"],\n    allow_headers=&#91;\"*\"],\n)\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Datei abspeichern und schlie\u00dfen. Jetzt ist das Backend bereit f\u00fcr den Browser!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">4. Voicebox im &#8220;Browser-Modus&#8221; starten<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Wir starten das Backend und das Web-Interface nun in zwei getrennten Terminal-Fenstern oder Tabs. <em>Wichtig: Wir starten beide Befehle aus dem Hauptverzeichnis des Projekts, um Pfad-Fehler bei den Python-Importen zu vermeiden.<\/em><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Terminal 1: Der Conda-Backend-Server<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Wechsle ins Hauptverzeichnis, aktiviere deine Umgebung und starte den Server ohne den <code>--reload<\/code>-Parameter (um Endlosschleifen beim Schreiben von Cache-Dateien zu verhindern):<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bash<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cd ~\/voicebox\nconda activate voicebox-backend\nuvicorn backend.main:app --port 17493\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Das Backend l\u00e4uft nun stabil im Hintergrund und wartet auf Port 17493 auf KI-Befehle.<\/em><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Terminal 2: Die Web-Oberfl\u00e4che (Vite)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u00d6ffne einen neuen Terminal-Tab und starte das f\u00fcr das Web-Interface vorkonfigurierte Workspace-Skript. Niemals ein nacktes <code>vite<\/code> im Root-Verzeichnis ausf\u00fchren, da sonst ein 404-Fehler erzeugt wird!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bash<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cd ~\/voicebox\nbun run dev:web\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Zeit f\u00fcr den ersten Probelauf!<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u00d6ffne jetzt deinen bevorzugten Webbrowser und steuere die Adresse an, die dir Terminal 2 ausgibt (in der Regel <strong><code>http:\/\/localhost:5173\/<\/code><\/strong> oder deine lokale Netzwerk-IP).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wundere dich nicht, wenn beim ersten Klonen einer Stimme oder beim ersten Klick auf Generieren das Terminal kurz einfriert: Voicebox l\u00e4dt nun die massiven Modell-Gewichte (wie das <em>Qwen-TTS 1.7B<\/em> Modell) automatisch von HuggingFace herunter. Das kann je nach Engine <strong>zwischen 350 MB und 4 GB<\/strong> an Download beanspruchen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sobald die Modelle einmal auf deiner Festplatte gecacht sind, l\u00e4uft die Sprachgenerierung auf deiner NVIDIA-GPU unter CachyOS komplett lokal und in rasanter Echtzeit ab. Viel Spa\u00df beim lokalen Stimmenklonen!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wer auf der Suche nach einer echten, lokalen Open-Source-Alternative zu ElevenLabs ist, kommt aktuell kaum an Voicebox (von Jamie Pine) vorbei. Angetrieben von Modellen wie Qwen3-TTS und Kokoro liefert das Tool erstklassiges Voice-Cloning und eine intuitive Audio-Timeline direkt auf dem eigenen Rechner. Standard-Setups unter Linux haben jedoch oft einen Haken: Das offizielle automatisierte Skript des [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":210,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[49,48,47,51,50,46,17,52,53,45],"class_list":["post-209","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-allgemein","tag-ai","tag-arch","tag-cachyos","tag-clone","tag-comfyui","tag-conda","tag-ki","tag-voice","tag-voice-clone","tag-voicebox"],"_links":{"self":[{"href":"https:\/\/www.brunzel.info\/index.php\/wp-json\/wp\/v2\/posts\/209","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.brunzel.info\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.brunzel.info\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.brunzel.info\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.brunzel.info\/index.php\/wp-json\/wp\/v2\/comments?post=209"}],"version-history":[{"count":2,"href":"https:\/\/www.brunzel.info\/index.php\/wp-json\/wp\/v2\/posts\/209\/revisions"}],"predecessor-version":[{"id":212,"href":"https:\/\/www.brunzel.info\/index.php\/wp-json\/wp\/v2\/posts\/209\/revisions\/212"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.brunzel.info\/index.php\/wp-json\/wp\/v2\/media\/210"}],"wp:attachment":[{"href":"https:\/\/www.brunzel.info\/index.php\/wp-json\/wp\/v2\/media?parent=209"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.brunzel.info\/index.php\/wp-json\/wp\/v2\/categories?post=209"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.brunzel.info\/index.php\/wp-json\/wp\/v2\/tags?post=209"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}