Zum Inhalt springen
Chandler Nguyen
KI10 Min. Lesezeit

Ich habe versucht, ElevenLabs auf einem 16 GB Mac durch eine lokale Sprach-App zu ersetzen

VoiceStudio landete als vollständig lokale ElevenLabs-Alternative bei GitHub Trending. Ich installierte es auf einem 16 GB Mac, stieß auf die Fehler, die niemand vorführt, und produzierte mit der bewährten Pipeline die chinesische und koreanische Ausgabe meines Kurses.

VoiceStudio erreichte im September #1 auf GitHub Trending. Was mich an der Beschreibung sofort hatte: die quelloffene, vollständig lokale ElevenLabs-Alternative — Stimmenklonen, Synchronisation, ein Katalog mit 646 Sprachen, kein Konto, kein API-Schlüssel, keine Abrechnung pro Zeichen.

Ich hatte für die englische und japanische Vertonung fast $200 an ElevenLabs gezahlt. Die Frage war also nicht abstrakt. Kann ein 16 GB Mac das überhaupt ausführen? Wie aufwendig ist die Einrichtung? Ist die Stimme gut genug für zahlende Kunden? Und wenn ja, was genau verkauft ElevenLabs, das eine lokale App nicht kann?

Die Git-Historie dieses Experiments reicht von 17. Oktober 2026 (erster Commit der lokalen TTS-Spezifikation) bis 26. Oktober (beide lokalisierten Ausgaben fertig). Das sind neun Tage, nicht ein Quartal. Die chinesischen und koreanischen Audiosets sind vollständig: je 258 Paare, 3 Stunden 06 Minuten und 3 Stunden 25 Minuten Vertonung.

Was VoiceStudio wirklich ist

VoiceStudio ist eine Desktop-App, kein Python-Skript, das du ständig beaufsichtigen musst. Sie kapselt eine lokale API und stellt einen Katalog mit 16 TTS-Engines und 11 Spracherkennungs-Engines über eine einzige Oberfläche bereit. Sie läuft auf macOS, Windows, Linux und Docker. Die App steht unter AGPL-3.0 (Repository, abgerufen am 25. Oktober 2026).

Bis zum 25. Oktober hatte das Repository rund 85,000 Sterne, etwa sechs Monate nach seiner Erstellung am 9. April 2026. An mindestens zwei Tagen im September war es das führende Repository auf GitHub Trending. Die erste Überraschung ist die Lizenz. Die App ist Open Source; für die Modellgewichte gilt nicht automatisch dieselbe Lizenz. Für die Standard-Engine OmniVoice gelten eigene Bedingungen, und ihre vortrainierten Gewichte sind nicht für kommerzielle Zwecke freigegeben (Modellkarte, abgerufen am 25. Oktober 2026). CosyVoice 3 — die Engine, die ich am Ende genutzt habe — steht unter Apache-2.0. VoxCPM2 steht ebenfalls unter Apache-2.0.

In dieser Unterscheidung steckt die erste echte Lektion. „Open-Source-ElevenLabs-Alternative“ ist eine Aussage über die Anwendung. Sie sagt nichts über die Gewichte, die Stimmen oder die Ausgabe aus. Wenn du das für bezahlte Arbeit nutzt, musst du die Lizenzarchäologie selbst machen, Engine für Engine.

Läuft es auf einem 16 GB Mac?

Ja. Nicht immer gut, und nicht immer mit der Engine, die du dir gewünscht hast.

Die Einrichtung war nicht der schwierige Teil. App installieren, öffnen, eine Engine wählen und die Gewichte herunterladen lassen. Schwierig war, eine Engine zu finden, die auf diesem Rechner einen Batch mit 258 Folien zu Ende bringt, ohne zusammenzubrechen.

Ich habe zuerst VoxCPM2 ausprobiert. Es läuft auf Apples MPS und klingt gut. Unter Last auf einem 16 GB Apple Silicon Mac sank der freie Speicher auf etwa 8%, der Swap stieg über 9 GB, und die Anfragen liefen in Timeouts. Ein Pilotlauf für Modul 1 schaffte 1 von 36 Folien, bevor ich ihn gestoppt habe. Das Modell erzeugte keine schlechte Stimme; es schaffte unter Speicherdruck einfach keinen langen Batch bis zum Ende.

Ich bin zu CosyVoice 3 auf der CPU gewechselt. Damit ließ sich die Arbeitslast vollständig verarbeiten. Der Referenzclip muss 30 Sekunden oder kürzer sein, eine echte Einschränkung beim Stimmenklonen. Das von mir verwendete 30-Sekunden-Sample war Mono mit 24 kHz.

Dann schlug der Batch trotzdem fehl — aus einem Grund, der nichts mit dem Modell zu tun hatte.

Der Fehler, der nach einem Modellproblem aussah

Nach einer Stunde hatte ich 4 von 258 Audiopaaren. In den Logs sah ich Wiederholungsversuche, dann 429er aus dem lokalen Worker-Pool und schließlich verwaiste Jobs. Die naheliegende Schlussfolgerung war, dass die lokale Engine kein Chinesisch verarbeiten konnte.

Konnte sie. Das Problem war Nodes fetch. Der Standard-Timeout für Header beträgt fünf Minuten. Manche chinesischen Folien brauchten fünf bis sieben Minuten für die Synthese. Der Client gab die Anfrage auf, während der Worker noch daran arbeitete, versuchte es erneut und stellte einen zweiten Job für dieselbe Folie in die Warteschlange. Die Queue füllte sich mit Arbeit, auf die niemand mehr wartete.

Ein Retry ist keine Lösung, wenn der Server die Anfrage, die du aufgegeben hast, noch bearbeitet.

Als die Sprachverarbeitung über einen Node-http/https-Transport mit längerem Timeout lief, wurde Modul 1 mit 36/36 fertig. Der erste vollständige chinesische Checkpoint erreichte 258/258 Paare und 3 h 05 m 57 s Vertonung. Von der ersten bis zur letzten Datei vergingen 28 h 12 m 41 s Kalenderzeit. Diese Zahl enthält Fehler, Pausen, Härtung und Retries; sie ist kein sauberer Synthese-Benchmark. Die schlimmste Folie brauchte über drei Versuche hinweg 37 Minuten.

Das ist die ehrliche Realität lokaler Inferenz. Das Modell ist kein magischer Kasten, der Text im Tempo der Demo in Audio verwandelt. Es ist ein Batch-Job mit einem langen Tail, und genau in diesem Tail steckt die Engineering-Arbeit.

Der Rechner gab die Architektur vor

Ein 16 GB Mac ist kein TTS-Server. Normale Folien waren in 2–6 Minuten fertig; die pathologischen brauchten 13–23. Die schlimmste brauchte 37m 09s über drei Versuche. Jede ernsthafte Verbesserung der Pipeline diente dazu, den langsamen Rechner zu überstehen, nicht einen gehosteten Dienst beim Tempo zu schlagen.

Diese Kontrollen haben sich bewährt:

  • Eine TtsEngine-Schnittstelle, damit lokale und gehostete Vertonung ausdrücklich ausgewählt werden konnten, statt fest verdrahtet zu sein. Die Schnittstelle kam am 19. Oktober dazu; die lokale Auswahl folgte am 21. Oktober.
  • Ein echter Transport-Timeout, weil die standardmäßig angenommenen fünf Minuten kürzer waren als die Arbeit.
  • Sperren für Einzelläufe und Worker, Abbruch bei Fehlern und ein geleerter Worker vor dem Retry, weil ein Retry gegen eine beschäftigte Engine kein Retry ist.
  • Fortsetzbare Satz-Chunks, weil ein Neustart einer 30-minütigen Folie bei null die einzige knappe Ressource des Rechners verschwendet.
  • Sicheres Ersetzen, weil ein fehlgeschlagener neuer Take einen guten alten nicht zerstören darf.
  • Ein Worker-Reset pro Modul, als Vorsichtsmaßnahme gegen Speicherdrift über einen langen Lauf.
  • Normalisierung der Sample-Rate, weil ein Zusammenschnitt durch das Aneinanderhängen von Segmenten mit 24 kHz und 44.1 kHz eine 63-minütige Audiospur erzeugte. Die Datei sah plausibel aus, bis ich die Dauer geprüft habe.
  • caffeinate -i, dokumentiert am 24. Oktober — Tag acht. Ich hatte stundenlange Batches auf einem Mac laufen lassen, der jederzeit ein Nickerchen machen durfte. Es ist die am wenigsten ausgefeilte Zeile in der Pipeline und vielleicht die wichtigste. Ich kam mir wie ein Anfänger vor. Ich war einer.

Es geht nicht darum, dass die Pipeline beeindruckend ist. Die Pipeline ist das Produkt. In den acht Tagen ging es darum, eine langsame lokale Engine wie Infrastruktur zu behandeln: bei Fehlern anhalten, an der Bruchstelle fortsetzen, niemals einen guten Take durch einen ungeprüften ersetzen und den Rechner wach halten.

Warum Kantonesisch fehlt

Am 21. Oktober strich ich Kantonesisch aus dem Programm. Der Grund waren Belege, nicht Ideologie: Es gab keinen validierten lokalen Weg für Kantonesisch in diesem Kurs. VoxCPM2 unterstützte yue nicht. CosyVoice führt yue auf, aber ich hatte es für diesen Kurs nicht validiert. Ich hätte eine Vermutung veröffentlichen oder eine Stimme verwenden können, die niemand in dieser Sprache gehört hatte. Eine falsche kantonesische Ausgabe ist schlimmer als keine. Die Website hat weiterhin ein zh-HK-Locale für Artikel; der Kurs ist auf vereinfachtem Chinesisch, nicht auf traditionellem Chinesisch oder Kantonesisch.

Die Pipeline kann eine Datei in einer Sprache erzeugen, für die das Modell nicht validiert wurde. Das Gate muss ein Mensch sein, der Nein sagt.

258/258 ist nicht dasselbe wie korrekt

Der erste vollständige chinesische Checkpoint enthielt 16 Folien mit mindestens einem fehlenden Satz. Die Folienzahl stimmte. Die Paare waren vorhanden. Die Vertonung war auf sechzehn Folien trotzdem falsch. Ich fand sie, indem ich die Textabdeckung mit dem Skript verglich, und reparierte sie eine nach der anderen.

Das veränderte das Gate. Aus „Alle Dateien sind vorhanden“ wurde „Alle Dateien sind vorhanden, die Vertonung deckt das Skript ab, und aus jedem Modul wurde eine Probe gehört“. Vollständige Übereinstimmung ist das Gate; ein grüner Batch ist nicht das Produkt.

Ist die Qualität gut genug?

Die reparierten Proben, die ich gehört habe, reichen für diesen Kurs; die vollständige Abnahme ist ein eigenes Gate. Das ist mein Urteil als Verantwortlicher, keine externe Validierung.

Ich habe das Audio mit der lokalen ASR transkribiert und mit dem Skript verglichen. Der Mittelwert der frühen Stichprobenprüfung war 0.903. Der Mittelwert des vollständigen chinesischen Checkpoints war 0.908. Das sind normalisierte Textähnlichkeitswerte, keine Maße für Natürlichkeit oder Sprecherähnlichkeit. Die schlechteste Folie — Modul 4, Folie 8 — erreichte 0.776; dabei wurde ein Markenname falsch erkannt. Eine Folie mit Sprachwechsel in Modul 6 erzeugte erst Kauderwelsch, dann einen wiederholten Absatz und dann einen abgeschnittenen Text; die Aufteilung auf Satzebene reparierte sie auf 0.909.

Die Stimme ist klar, konsistent und für mein Ohr erkennbar meine. Sie hat nicht den Feinschliff von ElevenLabs. Die chinesische und die koreanische Ausgabe wurden nicht von einem menschlichen Muttersprachler Zeile für Zeile lektoriert; ich habe sie mit einem KI-Lektor geprüft und Proben angehört. Diese Einschränkung gehört auf die Kursseite, nicht nur in einen Blogbeitrag.

Wenn dein Maßstab „klingt wie eine Studioproduktion“ ist, bezahle jemanden dafür. Wenn dein Maßstab „klar, konsistent, meine Stimme und gut genug zum Unterrichten“ ist, ist die lokale Option jetzt in Reichweite.

Was es gekostet hat

ElevenLabs: fast $200 für die englische und japanische Vertonung, einschließlich des Stimmklons.

Lokal: ein Mac, keine zusätzliche TTS-Rechnung pro Zeichen für diese Läufe, keine Ausgaben für Cloud-TTS oder -ASR. Der erste chinesische Checkpoint kostete 28 Stunden Kalenderzeit für 3 Stunden Audio, zusätzlich zu Engineering- und QA-Zeit in der Tabelle oben. Der Stromverbrauch wurde nicht gemessen.

Die $200 kauften eine Stimme, einen Workflow und die Verfügbarkeit, für die jemand anderes sorgt. Der lokale Weg brachte weniger Abhängigkeit von einer gehosteten Vertonungs-API, lokale Verarbeitung der Stimme und eine Rechnung, die nicht mit jedem erneuten Rendern wächst — und kostete Tage an Engineering für einen Timeout, der nie im Modell lag. Für die Übersetzungsentwürfe wurde weiterhin Claude in der Cloud genutzt; nur Vertonung und ASR blieben auf dem Mac.

Wie gut kann ElevenLabs seine Position also verteidigen?

Hier muss ich vorsichtig sein, denn ein Kurs auf einem Mac ist noch kein Markt.

Was sich bei dieser Arbeitslast geändert hat, ist die Grenzkosten der Vertonung. Wenn du die Stimme klonen darfst, die Arbeitslast ein Batch ist, du die Ausgabe prüfen kannst und einen langsamen Tail tolerierst, beseitigt lokale Inferenz die Kosten pro Zeichen für einen weiteren Durchlauf oder eine weitere Sprache. Das ist ein echtes Kriterium für Entwickler, die eine API für eine Batch-Pipeline auswählen.

Was ein gehosteter Dienst weiterhin bietet, lässt sich schwerer ersetzen:

  • Eine Qualitätsobergrenze. Die lokal getestete Ausgabe ist nicht die beste gehostete Stimme, die ich je gehört habe.
  • Latenz. Ein lokaler Batch braucht Minuten pro Folie. Ein Produkt, das in Echtzeit antwortet, ist ein anderes Engineering-Problem.
  • Betriebliche Zuverlässigkeit. Ich musste einen Timeout von fünf Minuten, eine Speicherobergrenze, Worker-Draining und eine Lizenz debuggen.
  • Rechte an Stimmen und Compliance. Das Klonen von Stimmen ist eine rechtliche Frage, kein Feature. Die Nutzung einer gehosteten API überträgt nicht die Verantwortung des Kunden, die Rechte und Einwilligungen zu besitzen.
  • Breite. CosyVoice führt Unterstützung für meine vier Launch-Sprachen auf; Chinesisch habe ich validiert, die koreanische Validierung läuft. Ein globales Produkt braucht viel mehr.

Die ehrliche Schlussfolgerung ist enger als „Open Source tötet ElevenLabs“. Lokale Inferenz hat die Kalkulation für das erneute Rendern meiner Batches verändert. Sie hat nicht das Produkt ersetzt, das du nutzt, wenn interaktive Latenz, ein breiter Stimmenkatalog, vertraglich vereinbarter Support oder eine bestimmte Qualitätsobergrenze zählt. Das sind meine Einschätzungen aus einem Projekt, keine Marktprognose.

Warum daraus eine Kursgeschichte wurde

Ich hatte nicht vor, über Sprachmodelle zu schreiben. Ich wollte einen Kurs in mehr Sprachen veröffentlichen, als ich allein produzieren konnte.

Dasselbe Operating Model, das der Kurs vermittelt, hat die chinesische Ausgabe hervorgebracht und produziert gerade die koreanische: recherchieren, planen, eine Pipeline bauen, die Ausgabe prüfen und die Teile behalten, für die ein Mensch verantwortlich sein muss. Eine Person aus dem Advertising-Betrieb, Claude für Übersetzungsentwürfe, eine lokale Stimme mit offenen Gewichten für die Vertonung, kein Lokalisierungsanbieter, kein Synchronstudio.

So habe ich Teile des Operating Models auf mein eigenes Produkt angewendet.

Wenn du in der Werbung arbeitest und dich fragst, ob KI eine Bedrohung oder ein Hebel ist, ist das die Hebel-Version. Du brauchst kein großes Team. Du brauchst Geschmack, eine Checkliste und die Bereitschaft, die letzte Meile zu debuggen.

Was ich einem anderen Entwickler sagen würde

  • Probiere es lokal aus, wenn du die Stimme klonen darfst, die Arbeitslast ein Batch ist, du die Ausgabe prüfen kannst und einen langsamen Tail tolerierst.
  • Bezahle für den gehosteten Dienst, wenn du Echtzeitlatenz, einen breiten Stimmenkatalog, vertraglich zugesicherte Verfügbarkeit oder eine bestimmte Qualitätsobergrenze brauchst.
  • Prüfe die Lizenz der Gewichte, bevor du ein kommerzielles Produkt auf einer „Open-Source“-App aufbaust. AGPL-3.0 erlaubt kommerzielle Nutzung unter den Bedingungen der Lizenz; die Modellgewichte und Rechte an den Stimmen sind separate Fragen.
  • Teste den schlimmsten Fall, nicht die Demo. Der schlimmste Fall ist kein längerer Prompt. Er ist eine lange Folie mit Sprachwechsel, ein Transport-Timeout und eine Retry-Queue zur selben Zeit.

FAQ

Kann ein 16 GB Mac lokales Stimmenklonen ausführen?

Ja. CosyVoice 3 läuft auf der CPU; VoxCPM2 brauchte unter Last mehr Speicherreserve, als dieser Rechner hatte. Rechne mit Minuten pro Folie, nicht mit Sekunden.

Ist Open-Source-TTS gut genug für einen kostenpflichtigen Kurs?

Die reparierten chinesischen Proben, die ich gehört habe, sind klar und konsistent, aber nicht auf Studioniveau. Das ist mein Urteil als Verantwortlicher, keine Prüfung durch einen menschlichen Muttersprachler.

Ist VoiceStudio für die kommerzielle Nutzung kostenlos?

Die App steht unter AGPL-3.0, was kommerzielle Nutzung unter ihren Bedingungen erlaubt. Modellgewichte haben eigene Lizenzen; die vortrainierten Gewichte von OmniVoice sind nicht für kommerzielle Nutzung freigegeben. Prüfe jede Engine vor der Veröffentlichung.

Wurden die chinesische und die koreanische Ausgabe mit KI übersetzt?

Ja — die Entwürfe stammen von Claude und wurden mit einem KI-Lektor geprüft, nicht von einem menschlichen Muttersprachler. Vertonung und ASR liefen lokal mit CosyVoice 3 und dem lokalen Transkriptionsmodell; für die Übersetzungsentwürfe wurde die Cloud genutzt.

Wie lange dauert ein Kurs mit 258 Folien?

Der chinesische Checkpoint: 28 Stunden Kalenderzeit für 3 h 06 m Audio, einschließlich Fehlern und Wiederholungen; danach folgte ein Reparaturdurchlauf für 16 Folien. Der koreanische Checkpoint: 31 Stunden für 3 h 25 m, einschließlich eines Umwegs wegen eines festgefahrenen Workers und der Reparatur von zwei Folien.

Der Kurs

Der Kurs ist AI-Native Media Operations — sieben Module, sechzehn Vorlagen und Vertonung auf Englisch, Japanisch, vereinfachtem Chinesisch und Koreanisch.