Tutorial · 8 bước
Clone giọng bằng VoiceStudio và kết nối MCP với Claude, Muse, ChatGPT
Làm video đều đặn thì mệt nhất là thu tiếng dẫn: sửa kịch bản một chữ là thu lại từ đầu. Tôi giải quyết bằng cách clone giọng của chính mình một lần trong VoiceStudio — app chạy ngay trên máy Mac, không đưa giọng lên cloud — rồi nối nó với các AI qua MCP. Từ đó tôi chỉ đưa kịch bản: Claude, Muse hay ChatGPT tự gọi công cụ sinh giọng, trả về từng file WAV để tôi kéo vào bản dựng. Bài này đi trọn quy trình: clone giọng, gán giọng cho từng AI, ba đường kết nối, và cả những lỗi thật tôi đã vấp.
App mã nguồn mở — chạy 100% trên máy của bạn
VoiceStudio (OmniVoice Studio)
1Bước 1: Chuẩn bị đoạn ghi mẫu để clone
- Thu một đoạn chỉ có giọng bạn — hoặc cắt từ video có sẵn: một người nói, không nhạc nền, ít tạp âm. VoiceStudio gợi ý dùng 5–15 giây lời nói rõ ràng.
- Kinh nghiệm thật của tôi: giữ đoạn mẫu dưới 20 giây và chép lời khớp từng chữ với đoạn mẫu. Mẫu dài hơn khiến app phải tự nghe lại bằng một mô hình phụ, và lỗi “HTTP 500” mỗi lần sinh giọng thường bắt đầu từ đây.
- Cắt đúng một đoạn liên tục, đừng ghép nhiều câu rời nhau. Đọc tự nhiên như lúc bạn dẫn thật thì giọng clone mới giống bạn.

2Bước 2: Clone giọng trong VoiceStudio
- Tải VoiceStudio tại voicestudio.sh (app mã nguồn mở, chạy ngay trên máy Mac — giọng của bạn không rời khỏi máy). Mở app, vào mục Giọng nói (Voices) → Nhân bản giọng nói (Clone) và tạo hồ sơ mới.
- Đặt tên dễ nhớ, tải file mẫu ở bước 1 lên, dán bản chép lời của chính đoạn mẫu đó rồi bấm tạo hồ sơ.
- Hồ sơ hiện trong cột “Hồ sơ đã lưu” (Saved profiles) là clone xong. Ảnh chụp thật bên dưới là máy của tôi — cột trái là các đời hồ sơ tôi đã clone qua nhiều lần thử.


3Bước 3: Sinh thử và nghe lại giọng clone
- Chọn hồ sơ vừa tạo, dán một đoạn kịch bản thật (vài câu), chọn ngôn ngữ Vietnamese, bấm Tổng hợp âm thanh (Synthesize) và nghe lại.
- Chưa giống thì quay lại bước 1 đổi đoạn mẫu — chất lượng clone quyết định ở đoạn mẫu, không phải ở nút bấm. Tôi làm tới đời hồ sơ thứ 4 mới ưng.
- Khi sinh giọng qua MCP ở các bước sau, bạn sẽ gặp thêm các tham số: speed (tốc độ), steps (số bước suy luận — cao hơn thì kỹ hơn nhưng chậm hơn) và instruct (chỉ dẫn chất giọng). Lưu ý instruct chỉ nhận từ vựng mô tả giọng có sẵn của app, kiểu “young adult, high pitch” — viết cảm xúc tự do sẽ bị báo lỗi.

4Bước 4: Bật MCP và gán giọng mặc định cho từng AI
- VoiceStudio tích hợp sẵn một máy chủ MCP chạy tại http://127.0.0.1:3900/mcp/ mỗi khi app đang mở — không cần cài thêm gì, chỉ cần để app chạy.
- Vào Settings (Cài đặt) → Sharing and Remote Access (Chia sẻ và truy cập từ xa), mục MCP voice bindings: gán hồ sơ giọng cho từng mã khách. Mỗi AI tự giới thiệu bằng một mã riêng qua header X-OmniVoice-Client-Id — ví dụ claude-code, claude-desktop, muse, chatgpt.
- Gán xong, khi AI gọi sinh giọng mà không chỉ định hồ sơ, app tự dùng giọng đã gán. Mỗi AI một giọng mặc định riêng cũng được.

5Bước 5: Kết nối Claude trên cùng máy Mac
- Claude Code: chạy lệnh dưới đây trong Terminal, rồi mở một phiên làm việc mới để Claude Code nạp máy chủ.
- Claude Desktop: Desktop chỉ nhận máy chủ dạng stdio nên cần cầu nối mcp-remote — thêm mục voicestudio vào file claude_desktop_config.json như khối JSON bên dưới, rồi thoát hẳn Claude Desktop bằng Cmd+Q và mở lại.
- Máy chủ cung cấp 7 công cụ: generate_speech, clone_voice, transcribe, list_voices, list_personalities, list_languages, check_health. Thử ngay bằng câu: “Liệt kê các giọng trong VoiceStudio giúp tôi.”
terminal — claude codeclaude mcp add --transport http voicestudio http://127.0.0.1:3900/mcp/ --header "X-OmniVoice-Client-Id: claude-code"claude_desktop_config.json — claude desktop"voicestudio": { "command": "npx", "args": [ "-y", "mcp-remote", "http://127.0.0.1:3900/mcp/", "--allow-http", "--header", "X-OmniVoice-Client-Id: claude-desktop" ] }6Bước 6: Kết nối Muse qua Tailscale
- Muse chạy trên một máy ảo riêng nên không thấy địa chỉ 127.0.0.1 trên Mac của bạn. Đường nối là Tailscale — mạng riêng giữa hai máy, cùng nguyên tắc với bài kết nối Muse với Terminal qua Tailscale.
- Trên Mac: bật Tailscale, rồi trong VoiceStudio Settings → Sharing and Remote Access bật chia sẻ qua Tailscale (Tailscale serving) và thêm tên máy dạng *.ts.net của bạn vào danh sách host được phép (allowlist) của MCP. Thiếu bước này app sẽ trả lỗi 421 “Invalid Host header”.
- Phía Muse dùng địa chỉ dạng https://<tên-máy-mac>.ts.net/mcp/ kèm mã khách muse đã gán ở bước 4. Xong bước này, tôi ra lệnh đọc kịch bản ngay trong khung chat Muse và nhận file WAV về máy của mình.

7Bước 7: Kết nối ChatGPT qua Developer mode
- ChatGPT nối MCP qua connector tuỳ chỉnh trong Developer mode (tính năng beta, cần gói trả phí như Plus, Pro hoặc Business). Bật tại Settings (Cài đặt) → Apps & Connectors → Advanced settings (Cài đặt nâng cao) → Developer mode.
- Khác với Claude: ChatGPT chạy trên cloud nên chỉ nhận máy chủ MCP ở địa chỉ HTTPS công khai — địa chỉ 127.0.0.1 hay mạng riêng Tailscale đều không tới được. Bạn cần mở đường công khai bằng Tailscale Funnel trên Mac để lấy URL dạng https://…ts.net/mcp/.
- Tạo connector: Apps & Connectors → Create (Tạo), điền tên VoiceStudio và URL Funnel, Authentication để None. Trong khung chat, bật connector vừa tạo rồi ra lệnh như với Claude — ChatGPT sẽ xin bạn xác nhận trước mỗi lần gọi công cụ.

Funnel đưa đầu MCP ra internet công khai, mà máy chủ này không có lớp đăng nhập riêng — ai có URL cũng gọi được generate_speech và clone_voice trên máy bạn. Chỉ bật Funnel đúng lúc dùng ChatGPT và tắt ngay sau đó. Nếu nhu cầu chính của bạn là Claude/Muse trên máy của mình thì bỏ qua bước này cũng không thiếu gì.
8Bước 8: Cho AI tự đọc kịch bản cho quy trình dựng
- Quy trình tôi đang dùng cho series của mình: chốt kịch bản → gửi AI đọc từng dòng bằng generate_speech → mỗi dòng một file WAV về đúng folder dự án → kéo vào CapCut hoặc Premiere và dựng như tiếng thu thật. Sửa kịch bản ở đâu, chỉ sinh lại đúng dòng đó.
- Mẹo giữ giọng tự nhiên: uốn văn bản trước khi sinh — chia câu theo nhịp thở, dùng dấu gạch dài (—) cho chỗ nghỉ, dấu chấm than giữa câu để nhấc giọng. Đừng viết tiếng cười nguyên văn kiểu “Ha ha”, máy sẽ đọc đúng từng chữ nghe rất giả.
- Kỷ luật cuối: AI báo “đã sinh xong” chưa đủ — mở folder kiểm tra đủ file thật, nghe lướt vài file rồi mới ghép. Thiếu file nào thì sinh lại đúng file đó.
câu lệnh mẫu — gửi cho ai đã nối mcpĐọc giúp tôi kịch bản trong file kich-ban.txt bằng giọng clone của tôi: mỗi dòng một file WAV riêng, đặt tên vo_01.wav, vo_02.wav... và lưu vào folder dự án. Dòng nào dài thì ngắt hơi theo dấu câu trước khi sinh.
Ảnh chụp thật trên máy của tôi: bước 2 (màn hình chính VoiceStudio) và bước 3 (màn hình sinh giọng). Các ảnh còn lại là hình minh hoạ dựng theo đúng giao diện và thông số của bộ cài thật. Đường ChatGPT ở bước 7 viết theo tài liệu Developer mode của OpenAI tại thời điểm đăng bài — tính năng còn beta, tên menu có thể thay đổi.
MBMời Kiên cốc cà phê
MB Bank · LE TRONG KIEN
005006007