Umabot sa #1 sa GitHub Trending ang VoiceStudio noong September. Ang description ang talagang nakahuli sa akin: open-source, fully local na ElevenLabs alternative — voice cloning, dubbing, 646-language catalogue, walang account, walang API key, walang per-character bill.
Halos $200 na ang nambayad ko sa ElevenLabs para sa English at Japanese narration. Kaya hindi abstract ang tanong. Kaya bang patakbuhin ito ng 16 GB Mac? Gaano kahirap i-set up? Sapat ba ang ganda ng boses para iparinig sa paying customers? At kung oo, ano ba talaga ang ibinebenta ng ElevenLabs na hindi kayang ibigay ng local app?
Ang git history ng experiment na ito ay mula 17 October 2026 (unang local-TTS spec commit) hanggang 26 October (tapos na ang dalawang localized editions). Siyam na araw iyon, hindi isang quarter. Kumpleto na ang Chinese at Korean audio sets: 258 pairs bawat isa, 3 oras at 06 minuto at 3 oras at 25 minutos na narration.
Ano ba talaga ang VoiceStudio
Desktop app ang VoiceStudio, hindi Python script na kailangan mong bantayan. Nagba-wrap ito ng local API at naglalabas ng catalogue ng 16 TTS engines at 11 speech-recognition engines sa likod ng isang interface. Tumatakbo ito sa macOS, Windows, Linux at Docker. AGPL-3.0 ang app (repository, na-access 25 October 2026).
May humigit-kumulang 85,000 stars na ang repository pagdating ng 25 October, mga anim na buwan matapos itong gawin noong 9 April 2026. Naging top repository ito sa GitHub Trending nang hindi bababa sa dalawang araw noong September. Ang licence ang unang surprise. Open source ang app; hindi awtomatikong pareho ang licence ng model weights. May sariling terms ang default OmniVoice engine, at non-commercial ang pretrained weights nito (model card, na-access 25 October 2026). Apache-2.0 ang CosyVoice 3 — ang engine na ginamit ko sa huli. Apache-2.0 din ang VoxCPM2.
Ang distinction na iyon ang unang tunay na aral. Ang “open-source ElevenLabs alternative” ay statement tungkol sa application. Hindi ito statement tungkol sa weights, voices, o output. Kung gagamitin mo ito sa paid work, kailangan mong gawin ang licence research sa bawat engine.
Kayang patakbuhin ito ng 16 GB Mac?
Kaya. Pero hindi palaging maayos, at hindi palaging ang engine na gusto mo.
Hindi ang setup ang mahirap. I-install ang app, buksan, pumili ng engine, at hayaang mag-download ng weights. Ang mahirap ay humanap ng engine na kayang tapusin ang 258-slide batch sa machine na ito nang hindi bumibigay.
VoxCPM2 ang una kong sinubukan. Tumatakbo ito sa MPS ng Apple at maganda ang tunog. Sa ilalim ng load sa 16 GB Apple Silicon Mac, bumaba sa humigit-kumulang 8% ang free memory, lumampas sa 9 GB ang swap, at nag-timeout ang mga request. Sa module-1 pilot, 1 sa 36 slides lang ang nagawa bago ko ito itinigil. Hindi masamang boses ang ginagawa ng model; hindi nito natapos ang mahabang batch sa ilalim ng memory pressure.
Lumipat ako sa CosyVoice 3 sa CPU. Natapos nito ang workload. Kailangang 30 segundo o mas maikli ang reference clip, isang tunay na constraint kapag nagvo-voice clone ka. Ang 30-segundong sample na ginamit ko ay 24 kHz mono.
Pero nabigo pa rin ang batch — dahil sa bagay na walang kinalaman sa model.
Ang failure na mukhang model problem
Pagkalipas ng isang oras, 4 sa 258 audio pairs pa lang ang meron ako. Nagpakita ang logs ng retries, pagkatapos local worker-pool 429s, at orphaned jobs. Ang obvious na konklusyon: hindi kayang hawakan ng local engine ang Chinese.
Kaya pala. Ang problema ay ang fetch ng Node. Ang default headers timeout nito ay limang minuto. May ilang Chinese slides na lima hanggang pitong minuto bago ma-synthesize. Iniwan ng client ang request habang ge-generate pa ito ng worker, pagkatapos nag-retry at nag-queue ng pangalawang job para sa parehong slide. Napuno ang queue ng trabahong wala nang naghihintay.
Hindi solusyon ang retry kung ginagawa pa rin ng server ang request na iniwan mo.
Nang ginamit ang Node http/https transport na may mas mahabang timeout para sa speech, natapos ang module 1 nang 36/36. Umabot ang unang kumpletong Chinese checkpoint sa 258/258 pairs at 3 h 05 m 57 s ng narration. Nagtagal ito nang 28 h 12 m 41 s sa calendar time mula unang file hanggang huli — kasama sa numerong iyon ang failures, pauses, hardening at retries, hindi ito clean synthesis benchmark. Ang pinakamasamang slide ay tumagal ng 37 minuto sa tatlong attempts.
Iyan ang tapat na anyo ng local inference. Ang model ay hindi magic box na ginagawang audio ang text sa bilis ng demo. Isa itong batch job na may long tail, at sa tail na iyon naroroon ang engineering.
Ang machine ang nagtakda ng architecture
Hindi TTS server ang 16 GB Mac. Natapos ang normal slides sa loob ng 2–6 minuto; ang pathological slides ay 13–23 minuto. Ang pinakamasama ay 37m 09s sa tatlong attempts. Ang bawat seryosong improvement sa pipeline ay para makaraos sa mabagal na machine, hindi para talunin ang hosted service sa bilis.
Ang mga control na nakaraos:
- Isang
TtsEngineseam, para explicit na mapili ang local at hosted narration sa halip na i-hardwire. Dumating ang seam noong 19 October; sumunod ang local selection noong 21 October. - Tunay na transport timeout, dahil mas maikli ang default na limang minutong assumption kaysa sa trabaho.
- Single-run at worker locks, stop-on-failure, at drained worker bago mag-retry, dahil ang pag-retry sa busy engine ay hindi tunay na retry.
- Resumable sentence chunks, dahil sinasayang ng pagre-restart ng 30-minute slide mula sa zero ang iisang scarce resource ng machine.
- Safe replacement, dahil hindi dapat sirain ng failed new take ang magandang lumang take.
- Per-module worker reset, bilang pag-iingat sa memory drift sa mahabang run.
- Sample-rate normalization, dahil may isang assembly na gumawa ng 63-minute audio track sa pagko-concatenate ng 24 kHz at 44.1 kHz segments. Mukhang normal na file ito hanggang na-check ko ang duration.
caffeinate -i, na-document noong 24 October — ikawalong araw. Nagpapatakbo ako ng multi-hour batches sa Mac na pwede palang matulog. Ito ang pinaka-low-tech na linya sa pipeline at baka ang pinakamahalaga. Pakiramdam ko noob ako. Noob nga ako.
Hindi ito tungkol sa kung gaano ka-impressive ang pipeline. Ang pipeline mismo ang product. Napunta ang walong araw sa pagpapagana sa mabagal na local engine na parang infrastructure: huminto kapag may failure, mag-resume kung saan nasira, huwag palitan ang magandang take ng unverified take, at panatilihing gising ang machine.
Bakit walang Cantonese
Noong 21 October, inalis ko ang Cantonese sa program. Evidence ang dahilan, hindi ideology: walang validated local Cantonese path para sa course na ito. Walang yue support ang VoxCPM2. Naka-list ang yue sa CosyVoice, pero hindi ko pa ito na-validate para sa course na ito. Puwede sana akong mag-ship ng hula, o gumamit ng voice na wala pang nakakarinig sa wikang iyon. Mas masama ang maling Cantonese edition kaysa sa walang Cantonese edition. May zh-HK locale pa rin ang site para sa articles; Simplified Chinese ang course, hindi Traditional Chinese o Cantonese.
Makakagawa ang pipeline ng file sa wikang hindi pa na-validate sa model. Sa gate, kailangang may taong magsasabi ng ‘hindi’.
Hindi ibig sabihin ng 258/258 ay tama
Sa unang kumpletong Chinese checkpoint, may 16 slides na may hindi bababa sa isang missing sentence. Tama ang slide count. May mga pairs. Pero mali pa rin ang narration sa labing-anim na slides. Natagpuan ang mga ito sa pagche-check ng text coverage laban sa script, at ini-repair nang paisa-isa.
Nagbago ang gate dahil dito. Ang “may lahat ng files” ay naging “may lahat ng files, saklaw ng narration ang script, at may sample mula sa bawat module na napakinggan na.” Full parity ang gate; hindi product ang green batch.
Sapat ba ang quality?
Ang repaired samples na narinig ko ay sapat para sa course na ito; hiwalay na gate ang full acceptance. Judgment ito ng owner, hindi certification.
Ni-transcribe ko ang audio gamit ang local ASR at kinumpara sa script. Ang early spot-check mean ay 0.903. Ang full Chinese checkpoint mean ay 0.908. Mga normalized text-similarity score ang mga ito, hindi sukatan ng naturalness o speaker similarity. Ang pinakamasamang slide — module 4, slide 8 — ay nakakuha ng 0.776; mali ang dinig nito sa brand name. Isang code-switch slide sa module 6 ang nagbigay ng gibberish, pagkatapos repeated paragraph, pagkatapos truncation; na-repair ito ng sentence-level chunking sa 0.909.
Malinaw, consistent, at recognizably akin ang boses — sa pandinig ko. Hindi ito kasing-polished ng ElevenLabs. Hindi ni-line-edit ng human native speaker ang Chinese at Korean editions; ni-review ko ang mga ito gamit ang AI editor at nakinig ng samples. Nararapat ilagay ang limitation na ito sa course page, hindi lang sa blog post.
Kung ang bar mo ay “parang studio VO”, magbayad ka ng tao. Kung ang bar mo ay “malinaw, consistent, akin, at sapat para magturo”, abot na ngayon ang local.
Magkano ang nagastos
ElevenLabs: halos $200 para sa English at Japanese narration, kasama ang voice clone.
Local: isang Mac, walang karagdagang per-character TTS invoice para sa mga run na ito, walang cloud TTS o ASR spend. Ang unang Chinese checkpoint ay tumagal nang 28 oras sa calendar time para sa 3 oras ng audio, dagdag pa ang engineering at QA time sa table sa itaas. Hindi nasukat ang kuryente.
Ang $200 ay nagbayad para sa voice, workflow, at uptime ng ibang tao. Ang local path ay nagbigay ng mas kaunting dependence sa hosted narration API, local voice handling, at bill na hindi lumalaki sa bawat re-render — at nagkakahalaga ito ng ilang araw ng engineering sa isang timeout na hindi talaga nagmula sa model. Cloud Claude pa rin ang ginamit sa translation drafting; narration at ASR lang ang nanatili sa Mac.
Kaya gaano kahirap palitan ang ElevenLabs?
Dito ko kailangang mag-ingat, dahil isang course sa isang Mac ay hindi market.
Ang nagbago para sa workload na ito ay ang marginal narration bill. Kung awtorisado kang mag-clone ng voice, batch ang workload, kaya mong i-verify ang output, at kaya mong tiisin ang mabagal na tail, inaalis ng local inference ang per-character cost ng isa pang pass o isa pang language. Tunay na consideration ito para sa developer na pumipili ng API para sa batch pipeline.
Mas mahirap palitan ang mga bagay na ibinibigay pa rin ng hosted service:
- Quality ceiling. Ang output na na-test ko locally ay hindi ang pinakamagandang hosted voice na narinig ko.
- Latency. Mga minuto bawat slide ang local batch. Ibang engineering problem ang product na sumasagot nang real time.
- Operational reliability. Kailangan kong i-debug ang limang-minutong timeout, memory ceiling, worker drain at licence.
- Voice rights at compliance. Legal surface ang cloning, hindi feature. Hindi inaalis ng paggamit ng hosted API ang responsibility ng customer na may rights at consents.
- Breadth. Nakalistang sinusuportahan ng CosyVoice ang apat kong launch languages; na-validate ko ang Chinese, at isinasagawa pa ang Korean validation. Mas marami pang kailangan ang global product.
Mas makitid ang tapat na konklusyon kaysa sa “papapatayin ng open source ang ElevenLabs”. Binago ng local inference ang kalkulasyon para sa batch re-render workload ko. Hindi nito pinalitan ang product na tatawagan mo kapag mahalaga ang interactive latency, malawak na voice catalogue, contracted support o partikular na quality ceiling. Mga judgment call ko ang mga iyon mula sa isang project, hindi market forecast.
Bakit naging course story ito
Hindi ko planong magsulat tungkol sa voice models. Ang layunin ko ay mag-ship ng course sa mas maraming wika kaysa sa kaya kong i-produce nang mag-isa.
Ang operating model na itinuturo ng course ang siyang gumawa ng Chinese edition at gumagawa ng Korean edition: research, plan, build ng pipeline, verify ang output, at panatilihin sa tao ang mga bahaging kailangang i-own ng tao. Isang advertising operator, Claude para sa translation drafting, local open-weights voice para sa narration, walang localization vendor, walang dubbing studio.
Ganito ko inilapat ang ilang bahagi ng operating model sa sarili kong product.
Kung nasa advertising ka at iniisip kung threat o leverage ang AI, ito ang leverage version. Hindi mo kailangan ng malaking team. Kailangan mo ng taste, checklist, at willingness na i-debug ang last mile.
Ang sasabihin ko sa ibang developer
- Subukan ang local kapag awtorisado kang mag-clone ng voice, batch ang workload, kaya mong i-verify ang output, at kaya mong tiisin ang mabagal na tail.
- Magbayad para sa hosted kapag kailangan mo ng real-time latency, malawak na voice catalogue, contracted uptime, o partikular na quality ceiling.
- I-check ang weights licence bago gumawa ng paid product sa isang “open-source” app. Pinapayagan ng AGPL-3.0 ang commercial use sa ilalim ng conditions nito; magkaibang tanong ang model weights at voice rights.
- I-test ang worst case, hindi ang demo. Ang worst case ay hindi mas mahabang prompt. Isa itong mahabang code-switch slide, transport timeout, at retry queue nang sabay-sabay.
FAQ
Kayang magpatakbo ng local voice cloning ang 16 GB Mac?
Kaya. Tumatakbo ang CosyVoice 3 sa CPU; mas malaking memory headroom ang kailangan ng VoxCPM2 kaysa sa meron ang machine na ito sa ilalim ng load. Mag-expect ng minuto bawat slide, hindi segundo.
Sapat ba ang open-source TTS para sa paid course?
Malinaw at consistent ang repaired Chinese samples na narinig ko, hindi studio-polished. Owner judgment iyon, hindi native-speaker validation.
Libre ba ang VoiceStudio para sa commercial use?
AGPL-3.0 ang app, na nagpapahintulot ng commercial use sa ilalim ng conditions nito. May sariling licences ang model weights; non-commercial ang pretrained weights ng OmniVoice. I-check ang bawat engine bago mag-ship.
AI ba ang nagtranslate ng Chinese at Korean editions?
Oo — na-draft gamit ang Claude at na-review gamit ang AI editor, hindi ng human native speaker. Tumakbo nang lokal ang narration at ASR gamit ang CosyVoice 3 at local transcription model; cloud ang ginamit sa translation drafting.
Gaano katagal ang 258-slide course?
Chinese checkpoint: 28 oras sa calendar time para sa 3 h 06 m ng audio, kasama ang failures at retries. Pagkatapos nito ang 16-slide repair pass. Korean checkpoint: 31 oras para sa 3 h 25 m, kasama ang detour dahil sa worker na natigil at ang repair ng dalawang slides.
Ang course
Ang course ay AI-Native Media Operations — pitong modules, labing-anim na templates, at narration sa English, Japanese, Simplified Chinese at Korean.