Lewati ke konten
Chandler Nguyen
AI9 menit baca

Saya Mencoba Mengganti ElevenLabs dengan Aplikasi Suara Lokal di Mac 16 GB

VoiceStudio masuk GitHub Trending sebagai alternatif ElevenLabs yang sepenuhnya lokal. Saya memasangnya di Mac 16 GB, menemui kegagalan yang tidak pernah diperlihatkan dalam demo, lalu memakai pipeline yang bertahan untuk memproduksi edisi Tionghoa dan Korea kursus saya.

VoiceStudio mencapai #1 di GitHub Trending pada September. Bagian yang membuat saya tertarik adalah deskripsinya: alternatif ElevenLabs open-source yang sepenuhnya lokal — kloning suara, dubbing, katalog 646 bahasa, tanpa akun, tanpa API key, tanpa tagihan per karakter.

Saya telah membayar ElevenLabs hampir $200 untuk narasi bahasa Inggris dan Jepang. Jadi pertanyaannya bukan sekadar teori. Bisakah Mac 16 GB menjalankan aplikasi ini? Seberapa sulit menyiapkannya? Apakah suaranya cukup bagus untuk disajikan kepada pelanggan yang membayar? Dan jika jawabannya ya, apa sebenarnya yang dijual ElevenLabs yang tidak bisa diberikan aplikasi lokal?

Riwayat git eksperimen ini berlangsung dari 17 Oktober 2026 (commit spesifikasi TTS lokal pertama) hingga 26 Oktober (kedua edisi terlokalisasi selesai). Itu sembilan hari, bukan seperempat tahun. Set audio Tionghoa dan Korea sudah lengkap: masing-masing 258 pasangan, dengan narasi 3 jam 06 menit dan 3 jam 25 menit.

Apa sebenarnya VoiceStudio

VoiceStudio adalah aplikasi desktop, bukan skrip Python yang harus Anda awasi terus. Aplikasi ini membungkus API lokal dan menyediakan katalog 16 engine TTS serta 11 engine speech recognition dalam satu antarmuka. Aplikasi ini berjalan di macOS, Windows, Linux, dan Docker. Lisensinya AGPL-3.0 (repositori, diakses 25 October 2026).

Hingga 25 October, repositorinya memiliki sekitar 85,000 stars, sekitar enam bulan setelah dibuat pada 9 April 2026. Repositori ini menjadi yang teratas di GitHub Trending setidaknya pada dua hari di bulan September. Lisensinya adalah kejutan pertama. Aplikasinya open source; bobot modelnya tidak otomatis memiliki lisensi yang sama. Engine default OmniVoice memiliki ketentuan terpisah, dan bobot pretrained-nya nonkomersial (model card, diakses 25 October 2026). CosyVoice 3 — engine yang akhirnya saya gunakan — berlisensi Apache-2.0. VoxCPM2 juga Apache-2.0.

Perbedaan itu adalah pelajaran nyata pertama. “Alternatif ElevenLabs open-source” adalah pernyataan tentang aplikasinya. Bukan tentang bobot model, suara, atau outputnya. Jika Anda menggunakannya untuk pekerjaan berbayar, Anda harus menelusuri sendiri lisensinya, engine demi engine.

Bisakah Mac 16 GB menjalankannya?

Bisa. Tidak selalu dengan baik, dan tidak selalu dengan engine yang Anda inginkan.

Penyiapan bukan bagian sulitnya. Pasang aplikasi, buka, pilih engine, lalu biarkan bobot model diunduh. Bagian sulitnya adalah menemukan engine yang sanggup menyelesaikan batch 258 slide di mesin ini tanpa tumbang.

Saya mencoba VoxCPM2 lebih dulu. Engine ini berjalan di MPS Apple dan suaranya bagus. Saat dibebani di Mac Apple Silicon 16 GB, memori kosong turun hingga sekitar 8%, swap naik melewati 9 GB, dan request mengalami timeout. Pilot modul 1 hanya menghasilkan 1 dari 36 slide sebelum saya menghentikannya. Modelnya tidak menghasilkan suara yang buruk; model itu gagal menyelesaikan batch panjang di bawah tekanan memori.

Saya beralih ke CosyVoice 3 di CPU. Engine ini menyelesaikan beban kerjanya. Klip referensinya harus 30 detik atau lebih pendek, sebuah batasan nyata saat Anda mengkloning suara. Sampel 30 detik yang saya gunakan adalah mono 24 kHz.

Namun batch itu tetap gagal — karena alasan yang sama sekali tidak berkaitan dengan model.

Kegagalan yang tampak seperti masalah model

Setelah satu jam, saya baru memiliki 4 dari 258 pasangan audio. Log menunjukkan retry, lalu error 429 dari worker pool lokal, kemudian job yang terlantar. Kesimpulan yang tampak jelas adalah engine lokal itu tidak mampu menangani bahasa Tionghoa.

Ternyata mampu. Masalahnya ada pada fetch Node. Timeout headers default-nya adalah lima menit. Beberapa slide Tionghoa membutuhkan lima hingga tujuh menit untuk disintesis. Client berhenti menunggu request ketika worker masih memprosesnya, lalu mencoba lagi dan memasukkan job kedua untuk slide yang sama ke antrean. Antrean pun penuh dengan pekerjaan yang tidak lagi ditunggu siapa pun.

Retry bukan perbaikan jika server masih mengerjakan request yang Anda tinggalkan.

Setelah permintaan sintesis suara dikirim melalui transport http/https Node dengan timeout yang lebih panjang, modul 1 selesai 36/36. Checkpoint Tionghoa lengkap pertama mencapai 258/258 pasangan dan 3 h 05 m 57 s narasi. Dibutuhkan 28 h 12 m 41 s waktu kalender dari file pertama hingga terakhir — angka yang mencakup kegagalan, jeda, hardening, dan retry, bukan benchmark sintesis yang bersih. Slide terburuk membutuhkan 37 menit dalam tiga percobaan.

Itulah gambaran jujur inferensi lokal. Model bukan kotak ajaib yang mengubah teks menjadi audio secepat demo. Ia adalah batch job dengan long tail, dan pekerjaan engineering justru berada di bagian ekornya.

Mesin menentukan arsitekturnya

Mac 16 GB bukan server TTS. Slide normal selesai dalam 2–6 menit; slide yang bermasalah membutuhkan 13–23 menit. Yang terburuk membutuhkan 37m 09s dalam tiga percobaan. Setiap peningkatan serius pada pipeline dibuat agar sistem tetap berjalan di mesin yang lambat, bukan untuk mengalahkan kecepatan layanan hosted.

Kontrol yang bertahan:

  • Sebuah seam TtsEngine, agar narasi lokal dan hosted dapat dipilih secara eksplisit, bukan di-hardcode. Seam ini ditambahkan pada 19 October; pemilihan lokal menyusul pada 21 October.
  • Timeout transport yang benar, karena asumsi default lima menit lebih pendek daripada pekerjaannya.
  • Penguncian single-run dan worker, stop-on-failure, serta worker yang dikosongkan sebelum retry, karena mencoba ulang saat engine masih sibuk bukanlah retry yang benar.
  • Chunk kalimat yang dapat dilanjutkan, karena memulai ulang slide 30 menit dari nol menyia-nyiakan satu-satunya sumber daya langka di mesin itu.
  • Penggantian yang aman, karena take baru yang gagal tidak boleh merusak take lama yang bagus.
  • Reset worker per modul, sebagai langkah pencegahan terhadap memory drift selama proses panjang.
  • Normalisasi sample rate, karena satu assembly menghasilkan track audio 63 menit dengan menggabungkan segmen 24 kHz dan 44.1 kHz. File itu tampak wajar sampai saya memeriksa durasinya.
  • caffeinate -i, didokumentasikan pada 24 October — hari kedelapan. Saya telah menjalankan batch berjam-jam di Mac yang bebas untuk tidur. Ini baris paling tidak canggih dalam pipeline dan mungkin yang paling penting. Saya merasa seperti noob. Dan memang saya noob.

Intinya bukan bahwa pipeline ini mengesankan. Intinya pipeline itulah produknya. Delapan hari itu saya habiskan untuk membuat engine lokal yang lambat berperilaku seperti infrastruktur: berhenti saat gagal, lanjut dari titik kerusakan, jangan pernah mengganti take yang bagus dengan take yang belum terverifikasi, dan menjaga mesin agar tidak tidur.

Mengapa bahasa Kanton tidak tersedia

Pada 21 October, saya mengeluarkan bahasa Kanton dari program. Alasannya adalah bukti, bukan ideologi: belum ada jalur lokal bahasa Kanton yang tervalidasi untuk kursus ini. VoxCPM2 tidak mendukung yue. CosyVoice mencantumkan yue, tetapi saya belum memvalidasinya untuk kursus ini. Saya bisa saja merilis berdasarkan tebakan, atau menggunakan suara yang belum pernah didengarkan oleh siapa pun dalam bahasa tersebut. Edisi bahasa Kanton yang salah lebih buruk daripada tidak ada edisi bahasa Kanton. Situs ini masih memiliki locale zh-HK untuk artikel; kursusnya menggunakan bahasa Tionghoa Sederhana, bukan Tionghoa Tradisional atau bahasa Kanton.

Pipeline dapat menghasilkan file dalam bahasa yang belum tervalidasi pada modelnya. Pengendaliannya harus berupa manusia yang mengatakan tidak.

258/258 tidak sama dengan benar

Checkpoint Tionghoa lengkap pertama memiliki 16 slide dengan setidaknya satu kalimat yang hilang. Jumlah slidenya benar. Pasangan filenya ada. Namun narasi di enam belas slide itu masih salah. Masalahnya ditemukan dengan memeriksa cakupan teks terhadap naskah, lalu diperbaiki satu per satu.

Temuan itu mengubah syarat kelulusannya. “Semua file ada” menjadi “semua file ada, narasi mencakup naskah, dan sampel dari setiap modul telah didengarkan.” Paritas penuh adalah syaratnya; batch yang hijau bukan produknya.

Apakah kualitasnya cukup baik?

Sampel yang telah diperbaiki dan saya dengarkan cukup baik untuk kursus ini; penerimaan penuh adalah proses kelulusan yang terpisah. Itu penilaian saya sebagai pemilik, bukan pengesahan.

Saya mentranskripsikan audio dengan ASR lokal dan membandingkannya dengan naskah. Rerata spot-check awal adalah 0.903. Rerata checkpoint Tionghoa lengkap adalah 0.908. Angka ini adalah skor kemiripan teks yang dinormalisasi, bukan ukuran kenaturalan atau kemiripan suara dengan pembicara. Slide terburuk — modul 4, slide 8 — mendapat skor 0.776; sistem salah mendengar nama merek. Slide dengan code-switch di modul 6 menghasilkan omong kosong, lalu paragraf berulang, lalu pemotongan; chunking tingkat kalimat memperbaikinya menjadi 0.909.

Suaranya jelas, konsisten, dan menurut telinga saya, terdengar seperti suara saya. Tetapi tidak sehalus ElevenLabs. Edisi Tionghoa dan Korea tidak disunting baris demi baris oleh penutur asli; saya mereview keduanya dengan editor AI dan mendengarkan sampelnya. Keterbatasan ini harus dicantumkan di halaman kursus, bukan hanya dalam blog post.

Jika standar Anda adalah “terdengar seperti pengisi suara studio”, bayarlah seseorang. Jika standar Anda adalah “jelas, konsisten, terdengar seperti saya, dan cukup baik untuk mengajar”, opsi lokal kini sudah terjangkau.

Berapa biayanya

ElevenLabs: hampir $200 untuk narasi bahasa Inggris dan Jepang, termasuk voice clone.

Lokal: satu Mac, tanpa invoice TTS per karakter tambahan untuk proses ini, tanpa pengeluaran TTS atau ASR cloud. Checkpoint Tionghoa pertama membutuhkan 28 jam waktu kalender untuk 3 jam audio, ditambah waktu engineering dan QA pada tabel di atas. Listrik tidak diukur.

Uang $200 itu membeli suara, workflow, dan uptime yang disediakan pihak lain. Jalur lokal memberi saya ketergantungan yang lebih rendah pada API narasi hosted, pemrosesan suara secara lokal, dan tagihan yang tidak membengkak setiap kali ada render ulang — tetapi menelan waktu engineering berhari-hari untuk sebuah timeout yang sama sekali bukan berasal dari model. Penyusunan draf terjemahan masih menggunakan Claude di cloud; hanya narasi dan ASR yang berjalan di Mac.

Jadi, seberapa sulit ElevenLabs digantikan?

Di sinilah saya harus berhati-hati, karena satu kursus di satu Mac bukanlah pasar.

Yang berubah untuk beban kerja ini adalah biaya marjinal narasi. Jika Anda berwenang mengkloning suaranya, beban kerjanya berupa batch, Anda dapat memverifikasi output, dan dapat mentoleransi proses ekor yang lambat, inferensi lokal menghapus biaya per karakter untuk satu putaran lagi atau bahasa lain. Ini pertimbangan nyata bagi developer yang memilih API untuk pipeline batch.

Yang masih disediakan layanan hosted dan lebih sulit digantikan:

  • Batas atas kualitas. Output yang saya uji secara lokal bukan suara hosted terbaik yang pernah saya dengar.
  • Latensi. Batch lokal membutuhkan hitungan menit per slide. Produk yang merespons secara real-time adalah masalah engineering yang berbeda.
  • Keandalan operasional. Saya harus men-debug timeout lima menit, batas memori, pengosongan worker, dan lisensi.
  • Hak dan kepatuhan penggunaan suara. Kloning adalah wilayah hukum, bukan fitur. Menggunakan API hosted tidak mengalihkan tanggung jawab pelanggan untuk memiliki hak dan persetujuan yang diperlukan.
  • Cakupan. CosyVoice mencantumkan dukungan untuk empat bahasa peluncuran saya; saya telah memvalidasi bahasa Tionghoa, dan validasi bahasa Korea sedang berlangsung. Produk global membutuhkan jauh lebih banyak bahasa.

Kesimpulan yang jujur lebih sempit daripada “open source membunuh ElevenLabs”. Inferensi lokal mengubah perhitungan untuk beban kerja render ulang batch saya. Teknologi ini tidak menggantikan produk yang Anda gunakan ketika latensi interaktif, katalog suara yang luas, dukungan berkontrak, atau batas kualitas tertentu menjadi penting. Itu adalah penilaian saya dari satu proyek, bukan ramalan pasar.

Mengapa ini menjadi kisah tentang kursus

Saya tidak mulai dengan niat menulis tentang model suara. Saya mulai dengan tujuan merilis kursus dalam lebih banyak bahasa daripada yang bisa saya produksi sendiri.

Model operasi yang sama dengan yang diajarkan kursus itulah yang menghasilkan edisi Tionghoa dan sedang menghasilkan edisi Korea: riset, susun rencana, bangun pipeline, verifikasi output, dan pertahankan bagian yang harus menjadi tanggung jawab manusia. Satu operator periklanan, Claude untuk penyusunan draf terjemahan, model suara open-weights lokal untuk narasi, tanpa vendor lokalisasi, tanpa studio dubbing.

Begitulah cara saya menerapkan sebagian model operasi itu pada produk saya sendiri.

Jika Anda bekerja di periklanan dan bertanya-tanya apakah AI adalah ancaman atau daya ungkit, inilah versi daya ungkitnya. Anda tidak membutuhkan tim besar. Anda membutuhkan selera, checklist, dan kesediaan untuk men-debug last mile.

Yang akan saya sampaikan kepada developer lain

  • Coba jalankan secara lokal ketika Anda berwenang mengkloning suaranya, beban kerjanya berupa batch, Anda dapat memverifikasi output, dan dapat mentoleransi long tail yang lambat.
  • Bayar layanan hosted ketika Anda membutuhkan latensi real-time, katalog suara yang luas, uptime berkontrak, atau batas kualitas tertentu.
  • Periksa lisensi bobot model sebelum membangun produk berbayar di atas aplikasi “open-source”. AGPL-3.0 mengizinkan penggunaan komersial sesuai ketentuannya; bobot model dan hak suara adalah persoalan yang terpisah.
  • Uji kasus terburuk, bukan demonya. Kasus terburuk bukanlah prompt yang lebih panjang. Melainkan slide panjang dengan code-switch, timeout transport, dan antrean retry yang terjadi bersamaan.

FAQ

Bisakah Mac 16 GB menjalankan kloning suara lokal?

Bisa. CosyVoice 3 berjalan di CPU; VoxCPM2 membutuhkan ruang memori yang lebih besar daripada yang tersedia di mesin ini saat dibebani. Perkirakan hitungan menit per slide, bukan detik.

Apakah TTS open-source cukup baik untuk kursus berbayar?

Sampel Tionghoa yang telah diperbaiki dan saya dengarkan terdengar jelas dan konsisten, tetapi tidak sehalus studio. Itu penilaian saya sebagai pemilik, bukan validasi oleh penutur asli.

Apakah VoiceStudio gratis untuk penggunaan komersial?

Aplikasinya berlisensi AGPL-3.0, yang mengizinkan penggunaan komersial sesuai ketentuannya. Bobot model memiliki lisensinya masing-masing; bobot pretrained OmniVoice bersifat nonkomersial. Periksa setiap engine sebelum Anda merilisnya.

Apakah edisi Tionghoa dan Korea diterjemahkan oleh AI?

Ya — draf dibuat dengan Claude dan direview dengan editor AI, bukan oleh penutur asli. Narasi dan ASR berjalan secara lokal dengan CosyVoice 3 dan model transkripsi lokal; penyusunan draf terjemahan menggunakan cloud.

Berapa lama waktu yang dibutuhkan untuk kursus 258 slide?

Checkpoint Tionghoa: 28 jam waktu kalender untuk 3 h 06 m audio, termasuk kegagalan dan retry, diikuti dengan perbaikan 16 slide. Checkpoint Korea: 31 jam untuk 3 h 25 m, termasuk upaya mengakali worker yang macet dan perbaikan dua slide.

Kursusnya

Kursusnya adalah AI-Native Media Operations — tujuh modul, enam belas template, dan narasi dalam bahasa Inggris, Jepang, Tionghoa Sederhana, dan Korea.