सामग्री पर जाएं
Chandler Nguyen
AI10 मिनट पढ़ने का समय

मैंने 16 GB Mac पर Local Voice App से ElevenLabs को बदलने की कोशिश की

VoiceStudio, fully local ElevenLabs alternative के तौर पर, GitHub Trending पर आया। मैंने इसे 16 GB Mac पर install किया, उन failures को झेला जो कोई demo में नहीं दिखाता, और अंत में टिकने वाली pipeline से अपने course के Chinese और Korean editions बनाए।

VoiceStudio September में GitHub Trending पर #1 तक पहुँचा। मुझे सबसे ज़्यादा जो बात खींच लाई, वह इसका description था: open-source और पूरी तरह local ElevenLabs alternative — voice cloning, dubbing, 646 भाषाओं का catalogue, कोई account नहीं, कोई API key नहीं, कोई per-character bill नहीं।

मैंने अंग्रेज़ी और जापानी narration के लिए ElevenLabs को करीब $200 दिए थे। इसलिए सवाल अमूर्त नहीं था। क्या 16 GB Mac इसे चला सकता है? इसे set up करना कितना मुश्किल है? क्या आवाज़ paying customers के सामने रखने लायक़ है? और अगर जवाब हाँ है, तो ElevenLabs असल में क्या बेच रहा है जो local app नहीं दे सकता?

इस experiment का git history 17 October 2026 (पहला local-TTS spec commit) से 26 October (दोनों localized editions तैयार) तक जाता है। यह नौ दिन हैं, कोई quarter नहीं। Chinese और Korean audio sets पूरे हैं: हर एक में 258 pairs, narration 3 घंटे 06 मिनट और 3 घंटे 25 मिनट।

VoiceStudio असल में क्या है

VoiceStudio एक desktop app है, कोई ऐसा Python script नहीं जिसे आपको संभालते रहना पड़े। यह एक local API को wrap करता है और एक interface के पीछे 16 TTS engines तथा 11 speech-recognition engines का catalogue देता है। यह macOS, Windows, Linux और Docker पर चलता है। App AGPL-3.0 है (repository, 25 October 2026 को देखा गया)।

25 October तक repository पर करीब 85,000 stars थे, यह 9 April 2026 को बनने के करीब छह महीने बाद की बात है। September में कम से कम दो दिन यह GitHub Trending का top repository था। Licence पहला surprise है। App open source है; model weights अपने-आप same licence में नहीं आते। Default OmniVoice engine की अलग terms हैं और उसके pretrained weights non-commercial हैं (model card, 25 October 2026 को देखा गया)। CosyVoice 3 — जिस engine का इस्तेमाल मैंने अंत में किया — Apache-2.0 है। VoxCPM2 भी Apache-2.0 है।

यह distinction पहला असली सबक़ है। “Open-source ElevenLabs alternative” application के बारे में statement है। यह weights, voices या output के बारे में statement नहीं है। अगर आप इसे paid work के लिए इस्तेमाल कर रहे हैं, तो आपको engine-by-engine licence की जाँच-पड़ताल खुद करनी होगी।

क्या 16 GB Mac इसे चला सकता है?

हाँ। हमेशा अच्छी तरह नहीं, और हमेशा आपके चाहे engine के साथ भी नहीं।

Setup मुश्किल हिस्सा नहीं था। App install करें, खोलें, engine चुनें, weights download होने दें। मुश्किल हिस्सा ऐसा engine ढूँढ़ना था जो इस machine पर 258-slide batch बिना गिरे पूरा कर सके।

मैंने पहले VoxCPM2 आज़माया। यह Apple के MPS पर चलता है और अच्छा sound करता है। 16 GB Apple Silicon Mac पर load के दौरान free memory घटकर करीब 8% रह गई, swap 9 GB से ऊपर चला गया, और requests timeout हो गए। Module-1 pilot ने 36 slides में से 1 produce की, फिर मैंने इसे रोक दिया। Model ख़राब आवाज़ produce नहीं कर रहा था; वह memory pressure में लंबा batch पूरा नहीं कर पा रहा था।

फिर मैं CPU पर चलने वाले CosyVoice 3 पर आ गया। उसने workload पूरा किया। Reference clip 30 सेकंड या उससे छोटी होनी चाहिए, voice clone करते समय यह असली constraint है। मैंने जो 30-सेकंड sample इस्तेमाल किया वह 24 kHz mono था।

फिर भी batch fail हुआ — इस बार ऐसी वजह से जिसका model से कोई लेना-देना नहीं था।

वह failure जो model problem लगा

एक घंटे बाद मेरे पास 258 में से 4 audio pairs थे। Logs में retries दिखे, फिर local worker-pool 429s, फिर orphaned jobs। साफ़ नतीजा यही निकलता था कि local engine Chinese संभाल नहीं सकता।

वह कर सकता था। Problem Node के fetch की थी। उसका default headers timeout पाँच मिनट है। कुछ Chinese slides synthesize होने में पाँच से सात मिनट लेती थीं। Client request छोड़ देता था जबकि worker उसे generate कर रहा होता था, फिर retry करके उसी slide के लिए दूसरा job queue में डाल देता था। Queue ऐसे काम से भर गई जिसका कोई इंतज़ार नहीं कर रहा था।

अगर server आपके छोड़े हुए request पर अब भी काम कर रहा है, तो retry कोई fix नहीं है।

जब speech requests को लंबे timeout वाले Node http/https transport से भेजा गया, module 1 36/36 पूरा हुआ। पहले complete Chinese checkpoint में 258/258 pairs और 3 h 05 m 57 s narration था। पहली file से आखिरी तक 28 h 12 m 41 s calendar time लगा — इसमें failures, pauses, hardening और retries शामिल हैं; यह clean synthesis benchmark नहीं है। सबसे खराब slide को तीन attempts में 37 मिनट लगे।

Local inference की ईमानदार शक्ल यही है। Model कोई magic box नहीं जो demo की speed से text को audio में बदल दे। यह long tail वाला batch job है, और engineering उसी tail में रहती है।

Machine ने architecture तय किया

16 GB Mac कोई TTS server नहीं है। Normal slides 2–6 मिनट में पूरी हुईं; pathological slides ने 13–23 मिनट लिए। सबसे खराब को तीन attempts में 37m 09s लगा। Pipeline का हर serious improvement slow machine से बचने के बारे में था, hosted service को speed में हराने के बारे में नहीं।

जो controls टिके:

  • TtsEngine की एक seam, ताकि local और hosted narration को hardwire करने के बजाय explicitly चुना जा सके। Seam 19 October को आई; local selection 21 October को।
  • एक असली transport timeout, क्योंकि default पाँच-मिनट की assumption काम से छोटी थी।
  • Single-run और worker locks, stop-on-failure, और retry से पहले drained worker, क्योंकि busy engine में retry करना retry नहीं है।
  • Resumable sentence chunks, क्योंकि 30-minute slide को zero से restart करना machine का इकलौता scarce resource बर्बाद करता है।
  • Safe replacement, क्योंकि नया failed take पुराने अच्छे take को destroy नहीं करना चाहिए।
  • Per-module worker reset, लंबे run में memory drift से बचने की precaution के तौर पर।
  • Sample-rate normalization, क्योंकि एक assembly ने 24 kHz और 44.1 kHz segments concatenate करके 63-minute audio track बना दिया। Duration check करने तक file बिल्कुल ठीक लग रही थी।
  • caffeinate -i, 24 October को documented — आठवें दिन। मैं एक ऐसे Mac पर multi-hour batches चला रहा था जिसे सोने से कोई नहीं रोक रहा था। Pipeline की सबसे low-tech line यही है और शायद सबसे ज़रूरी भी। मैं noob जैसा महसूस कर रहा था। मैं था भी।

बात यह नहीं कि pipeline impressive है। बात यह है कि pipeline ही product है। आठ दिन इसी में गए कि slow local engine infrastructure की तरह behave करे: failure पर रुको, जहाँ टूटा वहाँ से resume करो, अच्छे take को unverified take से कभी replace मत करो, और machine को awake रखो।

Cantonese क्यों missing है

21 October को मैंने Cantonese को program से हटा दिया। वजह evidence थी, ideology नहीं: इस course के लिए कोई validated local Cantonese path नहीं था। VoxCPM2 में yue support नहीं था। CosyVoice yue list करता है, लेकिन मैंने इसे इस course के लिए validate नहीं किया था। मैं कोई guess ship कर सकता था, या ऐसी voice इस्तेमाल कर सकता था जिसे उस भाषा में किसी ने सुना भी नहीं था। ग़लत Cantonese edition, कोई Cantonese edition न होने से बदतर है। Site पर articles के लिए अब भी zh-HK locale है; course Simplified Chinese है, Traditional Chinese या Cantonese नहीं।

Pipeline किसी ऐसी language में file बना सकती है जिसके लिए model validated नहीं है। Gate पर एक इंसान का ‘ना’ कहना ज़रूरी है।

258/258 और correct होना एक बात नहीं है

पहले complete Chinese checkpoint में 16 slides ऐसी थीं जिनमें कम से कम एक sentence missing था। Slide count सही था। Pairs मौजूद थे। फिर भी सोलह slides पर narration ग़लत था। Script के मुक़ाबले text coverage check करके ये पकड़ी गईं, फिर एक-एक करके repair की गईं।

इससे gate बदल गया। “सभी files मौजूद हैं” की जगह अब शर्त थी “सभी files मौजूद हैं, narration script को cover करता है, और हर module का sample सुना जा चुका है”। Full parity ही gate है; green batch product नहीं है।

क्या quality काफ़ी अच्छी है?

Repaired samples जो मैंने सुने, इस course के लिए काफ़ी अच्छे हैं; full acceptance अलग gate है। यह owner judgement है, कोई certification नहीं।

मैंने local ASR से audio transcribe की और script से compare किया। Early spot-check mean 0.903 था। Full Chinese checkpoint mean 0.908 था। ये normalized text-similarity scores हैं, naturalness या speaker similarity के measures नहीं। सबसे खराब slide — module 4, slide 8 — का score 0.776 था; उसने brand name ग़लत सुना। Module 6 की एक code-switch slide ने gibberish produce किया, फिर repeated paragraph, फिर truncation; sentence-level chunking ने उसे 0.909 तक repair किया।

मेरे कान को आवाज़ clear, consistent और recognisably मेरी लगती है। यह ElevenLabs जितनी polished नहीं है। Chinese और Korean editions को किसी human native speaker ने line-edit नहीं किया; मैंने उन्हें AI editor से review किया और samples सुने। यह limitation course page पर भी होनी चाहिए, सिर्फ़ blog post में नहीं।

अगर आप “studio VO जैसी आवाज़” चाहते हैं, तो किसी को पैसे दीजिए। अगर आपके लिए “clear, consistent, मेरी, और पढ़ाने लायक़” काफ़ी है, तो local अब पहुँच में है।

ख़र्च कितना आया

ElevenLabs: अंग्रेज़ी और जापानी narration के लिए करीब $200, voice clone समेत।

Local: एक Mac, इन runs के लिए कोई additional per-character TTS invoice नहीं, कोई cloud TTS या ASR spend नहीं। पहले Chinese checkpoint में 3 घंटे की audio के लिए 28 घंटे का calendar time लगा, साथ में ऊपर table वाला engineering और QA time। Electricity measure नहीं की गई।

$200 से एक voice, एक workflow और किसी और की uptime मिली। Local path से hosted narration API पर थोड़ी कम निर्भरता, local voice handling, और ऐसा bill मिला जो हर re-render के साथ नहीं बढ़ता — और इसकी कीमत एक ऐसे timeout को debug करने में कई दिनों की engineering रही जो model में कभी था ही नहीं। Translation drafting अब भी cloud Claude से हुई; सिर्फ़ narration और ASR Mac पर रहे।

तो ElevenLabs की जगह कितनी मज़बूत है?

यहाँ मुझे सावधान रहना होगा, क्योंकि एक Mac पर एक course कोई market नहीं है।

इस workload के लिए जो बदला है वह marginal narration bill है। अगर आपको voice clone करने का अधिकार है, workload batch है, आप output verify कर सकते हैं, और slow tail सह सकते हैं, तो local inference किसी और pass या दूसरी language का per-character cost हटा देता है। Batch pipeline के लिए API चुनने वाले developer के लिए यह असली consideration है।

Hosted service अब भी जो देती है, उसे replace करना ज़्यादा मुश्किल है:

  • Quality की ceiling। जो output मैंने local test किया, वह मेरी सुनी हुई सबसे अच्छी hosted voice नहीं है।
  • Latency। Local batch में हर slide के minutes लगते हैं। Real-time जवाब देने वाला product अलग engineering problem है।
  • Operational reliability। मुझे पाँच-मिनट का timeout, memory ceiling, worker drain और licence debug करना पड़ा।
  • Voice rights और compliance। Cloning कोई feature नहीं, legal surface है। Hosted API इस्तेमाल करने से rights और consents रखने की customer की responsibility transfer नहीं होती।
  • Breadth। CosyVoice मेरी चार launch languages का support list करता है; मैंने Chinese validate किया, Korean validation जारी है। Global product को और बहुत सारी languages चाहिए।

ईमानदार निष्कर्ष “open source ElevenLabs को ख़त्म कर देगा” से कहीं narrower है। Local inference ने मेरे batch re-render workload का हिसाब बदल दिया। जहाँ interactive latency, wide voice catalogue, contracted support या कोई particular quality ceiling मायने रखती है, वहाँ इसने उस product की जगह नहीं ली जिसे आप call करते हैं। ये एक project से मेरे judgement calls हैं, market forecast नहीं।

यह course की story कैसे बन गई

मैंने voice models के बारे में लिखने की शुरुआत नहीं की थी। मैं course को उनसे ज़्यादा languages में ship करना चाहता था जितनी मैं अकेले produce कर सकता था।

Course जो operating model सिखाता है, उसी ने Chinese edition produce किया और Korean edition produce कर रहा है: research, plan, pipeline build, output verify, और वे हिस्से इंसान के पास रखना जिन्हें इंसान को own करना है। एक advertising operator, translation drafting के लिए Claude, narration के लिए local open-weights voice, कोई localization vendor नहीं, कोई dubbing studio नहीं।

मैंने इसी तरह operating model के कुछ हिस्से अपने product पर लागू किए।

अगर आप advertising में हैं और सोच रहे हैं कि AI threat है या leverage, तो यह leverage वाला version है। आपको बड़ी team नहीं चाहिए। आपको taste, checklist, और last mile debug करने की तैयारी चाहिए।

मैं दूसरे developer से क्या कहूँगा

  • Local तब आज़माएँ जब आपको voice clone करने का अधिकार हो, workload batch हो, आप output verify कर सकते हों, और slow tail सह सकते हों।
  • Hosted के लिए तब pay करें जब आपको real-time latency, wide voice catalogue, contracted uptime या कोई particular quality ceiling चाहिए।
  • Weights licence check करें किसी “open-source” app पर paid product बनाने से पहले। AGPL-3.0 अपनी conditions के तहत commercial use allow करता है; model weights और voice rights अलग questions हैं।
  • Worst case test करें, demo नहीं। Worst case कोई longer prompt नहीं है। यह एक long code-switch slide, transport timeout और retry queue का एक साथ होना है।

FAQ

क्या 16 GB Mac local voice cloning चला सकता है?

हाँ। CosyVoice 3 CPU पर चलता है; VoxCPM2 को load के दौरान इस machine से ज़्यादा memory headroom चाहिए था। हर slide के seconds नहीं, minutes की उम्मीद करें।

क्या open-source TTS paid course के लिए काफ़ी अच्छा है?

मैंने जो repaired Chinese samples सुने वे clear और consistent हैं, studio-polished नहीं। यह owner judgement है, native speaker validation नहीं।

क्या VoiceStudio commercial use के लिए free है?

App AGPL-3.0 है, जो अपनी conditions के तहत commercial use allow करता है। Model weights के अपने licences होते हैं; OmniVoice के pretrained weights non-commercial हैं। Ship करने से पहले हर engine check करें।

क्या Chinese और Korean editions का translation AI ने किया?

हाँ — Claude से drafted और AI editor से reviewed, किसी human native speaker से नहीं। Narration और ASR, CosyVoice 3 और local transcription model के साथ locally चले; translation drafting में cloud इस्तेमाल हुआ।

258-slide course में कितना समय लगता है?

Chinese checkpoint: failures और retries समेत 3 h 06 m की audio के लिए 28 घंटे का calendar time लगा, और उसके बाद 16-slide repair pass हुआ। Korean checkpoint: 3 h 25 m के लिए 31 घंटे लगे, जिसमें अटके worker की वजह से detour और दो slides की repair शामिल हैं।

कोर्स

यह course AI-Native Media Operations है — सात modules, सोलह templates, और अंग्रेज़ी, जापानी, सरलीकृत चीनी और कोरियाई में narration।