Chatterbox TTS - Mô hình chuyển văn bản thành giọng nói mã nguồn mở
(github.com/resemble-ai)- Chatterbox là dòng mô hình chuyển văn bản thành giọng nói mã nguồn mở mới nhất do Resemble AI công bố, hỗ trợ sao chép giọng nói và tạo giọng nói đa ngôn ngữ
- Chatterbox Multilingual V3 mới nhất vẫn giữ kích thước mô hình 0.5B, đồng thời hướng tới cải thiện độ tương đồng người nói, giảm ảo giác và tạo giọng hội thoại đa ngôn ngữ tự nhiên hơn
- Chatterbox-Turbo là mô hình 350M cho tác tử giọng nói tiếng Anh độ trễ thấp, giảm quá trình tạo speech-token-to-mel decoder từ 10 bước xuống 1 bước và hỗ trợ các paralinguistic tag như
[laugh],[cough] - Cấu hình mô hình được chia thành Turbo, Multilingual V3, Single Language Pack và Chatterbox cũ; mô hình đa ngôn ngữ hỗ trợ 23 ngôn ngữ bao gồm cả tiếng Hàn, còn Single Language Pack cung cấp 6 bản fine-tuning chuyên biệt
- Tất cả âm thanh được tạo ra đều chứa watermark PerTh của Resemble AI, được giới thiệu là vẫn duy trì độ chính xác phát hiện gần 100% ngay cả sau nén MP3, chỉnh sửa âm thanh và thao tác thông thường
Tổng quan Chatterbox TTS
- Chatterbox là dòng mô hình chuyển văn bản thành giọng nói mã nguồn mở của Resemble AI
- Đi kèm là demo sample, Hugging Face Space, đánh giá Podonos và liên kết Discord
Bản phát hành mới nhất: Chatterbox Multilingual V3
- Chatterbox Multilingual V3 là mô hình TTS đa ngôn ngữ đa dụng mới nhất trong dòng Chatterbox
- V3 vẫn giữ nguyên kích thước mô hình 0.5B như trước, đồng thời cải thiện các điểm sau
- Độ tương đồng người nói
- Giảm ảo giác
- Giọng hội thoại tự nhiên hơn trên nhiều ngôn ngữ
- Tương tự V2, mô hình hướng tới phạm vi ngôn ngữ rộng nhưng được thiết kế để mang lại khả năng tạo ổn định và giàu biểu đạt hơn
- Đây là mô hình đa ngôn ngữ được khuyến nghị cho người dùng muốn một mô hình sao chép giọng nói duy nhất hoạt động trên nhiều ngôn ngữ
Single Language Pack
- Single Language Pack là bộ mô hình fine-tuning chuyên biệt cho các ngôn ngữ ưu tiên
- Dùng khi cần hiệu năng theo từng ngôn ngữ mạnh hơn mô hình đa ngôn ngữ đa dụng, kiểm soát chất lượng chặt chẽ hơn và tạo giọng có nhận biết phương ngữ
- Có 6 mô hình chuyên biệt được cung cấp
Chatterbox-Turbo
- Chatterbox-Turbo là mô hình hiệu quả nhất cho tác tử giọng nói tiếng Anh độ trễ thấp
- Mô hình dùng kiến trúc tinh gọn với 350M tham số và được thiết kế để tạo giọng chất lượng cao với ít phép tính và VRAM hơn các mô hình trước
- Mô hình chưng cất speech-token-to-mel decoder vốn là nút thắt cổ chai để giảm giai đoạn sinh từ 10 bước xuống 1 bước
- Turbo hỗ trợ sẵn các paralinguistic tag như
[cough],[laugh],[chuckle]để bổ sung biểu đạt chân thực - Dù trường hợp sử dụng chính là tác tử giọng nói độ trễ thấp, mô hình cũng được giới thiệu là phù hợp cho quy trình narration và sáng tạo
- Dịch vụ TTS thương mại cung cấp hiệu năng siêu độ trễ thấp dưới 200ms và được giới thiệu là phù hợp cho mục đích production trong tác tử, ứng dụng và media tương tác
Cấu hình mô hình
| Mô hình | Kích thước | Ngôn ngữ | Tính năng chính | Trường hợp phù hợp |
|---|---|---|---|---|
| Chatterbox-Turbo | 350M | English | paralinguistic tag, ít phép tính·VRAM | tác tử giọng nói zero-shot, production |
| Chatterbox-Multilingual V3 | 500M | 23+ | cải thiện độ tương đồng người nói, giảm ảo giác, giọng đa ngôn ngữ tự nhiên | ứng dụng toàn cầu, bản địa hóa, sao chép giọng nói liên ngôn ngữ |
| Single Language Pack | mỗi bản 500M | 6 bản fine-tuning chuyên biệt | kiểm soát chất lượng theo ngôn ngữ·khu vực | ứng dụng nhạy với ngôn ngữ ưu tiên và phương ngữ |
| Chatterbox | 500M | English | điều chỉnh CFG và exaggeration | TTS zero-shot đa dụng với khả năng kiểm soát sáng tạo |
Cài đặt và chạy
- Gói được cài bằng
pip install chatterbox-tts - Cũng hỗ trợ cài từ source
git clone https://github.com/resemble-ai/chatterbox.git cd chatterbox pip install -e . - Môi trường phát triển·kiểm thử là Python 3.11 và Debian 11, phiên bản dependency được cố định trong
pyproject.toml - Ở chế độ cài từ source, có thể chỉnh sửa code hoặc dependency
Cách sử dụng
- Chatterbox-Turbo tải mô hình bằng
ChatterboxTurboTTS.from_pretrained(device="cuda"), và để sao chép giọng nói thì truyền đường dẫn clip tham chiếu quaaudio_prompt_path - Ví dụ Turbo tạo câu có chứa các paralinguistic tag như
[chuckle] - Mô hình tiếng Anh thông thường dùng
ChatterboxTTS, còn mô hình đa ngôn ngữ dùngChatterboxMultilingualTTS - Bản đa ngôn ngữ V3 được tải bằng
ChatterboxMultilingualTTS.from_pretrained(device=device, t3_model="v3")- Nếu muốn dùng checkpoint V2 legacy thì bỏ qua
t3_modelhoặc truyền"v2"
- Nếu muốn dùng checkpoint V2 legacy thì bỏ qua
- Để tổng hợp bằng giọng khác, chỉ định file âm thanh tham chiếu trong
audio_prompt_path - Có thêm ví dụ trong
example_tts.pyvàexample_vc.py
Ngôn ngữ được hỗ trợ
- Mô hình Chatterbox Multilingual đa dụng hỗ trợ 23 ngôn ngữ sau
- Arabic
ar - Danish
da - German
de - Greek
el - English
en - Spanish
es - Finnish
fi - French
fr - Hebrew
he - Hindi
hi - Italian
it - Japanese
ja - Korean
ko - Malay
ms - Dutch
nl - Norwegian
no - Polish
pl - Portuguese
pt - Russian
ru - Swedish
sv - Swahili
sw - Turkish
tr - Chinese
zh
- Arabic
Mẹo tinh chỉnh Chatterbox cũ
- Clip tham chiếu phải khớp với thẻ ngôn ngữ đã chỉ định
- Nếu không, đầu ra chuyển ngôn ngữ có thể kế thừa ngữ điệu của ngôn ngữ trong clip tham chiếu
- Để giảm hiện tượng này, đặt
cfg_weightthành0
- Giá trị mặc định là
exaggeration=0.5,cfg_weight=0.5và hoạt động tốt với hầu hết prompt và ngôn ngữ - Nếu tốc độ nói của người nói tham chiếu nhanh, giảm
cfg_weightxuống khoảng0.3có thể giúp điều chỉnh tốc độ - Với giọng biểu cảm hoặc kịch tính, hãy thử
cfg_weightthấp vàexaggerationtừ0.7trở lênexaggerationcao có xu hướng làm tăng tốc độ nói- Giảm
cfg_weightgiúp bù lại theo hướng chậm và thận trọng hơn
Watermark PerTh tích hợp sẵn
- Mọi file âm thanh được tạo bằng Chatterbox đều chứa watermark Perth của Resemble AI
- Đây là watermark mạng nơ-ron không thể cảm nhận được dựa trên Perceptual Threshold
- Theo giới thiệu, nó vẫn tồn tại sau nén MP3, chỉnh sửa âm thanh và các thao tác thông thường, đồng thời duy trì độ chính xác phát hiện gần 100%
- Việc trích xuất watermark được thực hiện bằng
perth.PerthImplicitWatermarker()vàget_watermark()- Kết quả được xuất là không có watermark
0.0hoặc có watermark1.0
- Kết quả được xuất là không có watermark
Đánh giá
- Chatterbox Turbo được đánh giá bằng Podonos, một nền tảng đánh giá giọng nói chủ quan có thể tái lập
- Đối tượng so sánh là các hệ thống TTS cạnh tranh, với trọng tâm đánh giá là mức độ ưu tiên tổng thể, độ tự nhiên và khả năng biểu đạt
- Có các báo cáo đánh giá công khai
- Tất cả đánh giá đều được thực hiện trong cùng điều kiện và có thể truy cập công khai qua Podonos
Thông báo ngoài giấy phép
- README nêu rõ “đừng dùng mô hình này cho việc xấu”
- Prompt được giới thiệu là lấy từ dữ liệu có thể truy cập tự do trên Internet
1 bình luận
Các ý kiến trên Hacker News
Có thể xem bản demo tại đây: https://resemble-ai.github.io/chatterbox_demopage/
Nếu đây không phải là các mẫu được tuyển chọn quá kỹ thì đây là một bản phát hành khá tốt. Lần nào tôi cũng nói cùng một điều, nhưng khi tự thử nghiệm thì nút thắt của AI giọng nói không nằm ở tổng hợp giọng nói mà là ở chất lượng chuyển lời nói thành văn bản. Không rõ gần đây có thay đổi gì không
Tôi chưa thử đưa thêm các bản phiên âm thay thế hoặc điểm tin cậy cho LLM, nhưng có vẻ khả năng cao là nó cũng sẽ tận dụng tốt
Cũng cần có chức năng đối chiếu với danh sách các cụm từ phổ biến. Việc LLM phát âm sai “live feed” hay “live here” thì khó mà bào chữa được
https://huggingface.co/nvidia/parakeet-tdt-0.6b-v2
Tôi đang dùng nó cho chat thời gian thực và tạo phụ đề; trên 3090, nó xử lý một tập chương trình TV trong chưa tới 1 phút. Với tôi, Whisper bị ảo giác quá nhiều, và dùng nó như một bộ phân loại thì hữu ích hơn
Có thể chạy thử miễn phí tại đây: https://huggingface.co/spaces/ResembleAI/Chatterbox
Nếu muốn các mô hình “mở” tốt hơn, xét theo tiêu chí nhân bản giọng nói ngẫu nhiên thì MaskGCT, MegaTTS3 nghe tốt hơn; xét theo chuyển đổi giọng nói thì Seed-VC, MegaTTS3 tốt hơn. Tuy nhiên, chỉ Seed-VC là có mã huấn luyện/tinh chỉnh. Dù sao nếu phải dùng một mô hình không thể tinh chỉnh và cần khả năng nhân bản ngẫu nhiên phù hợp hơn với giọng của mình, thì nên dùng các lựa chọn đó thay vì Chatterbox. Đặc biệt MegaTTS3 của ByteDance rất mạnh. Các nhà nghiên cứu của ByteDance đi trước hầu hết các nhóm nghiên cứu TTS, trừ ElevenLabs, rất xa, và họ cũng có nhiều tiền, nhà nghiên cứu trình độ tiến sĩ và dữ liệu huấn luyện hơn nhiều
Tuy nhiên nó biến giọng Úc của tôi thành giọng Anh rất rõ, thậm chí giống giọng RP sang trọng. Nghe rất tự nhiên, nhưng không tái tạo được giọng của tôi. Dù vậy, nếu không nhằm bắt chước một người cụ thể, nó rõ ràng đến đáng ngạc nhiên và phù hợp với hầu hết mục đích TTS
Chatterbox rất tuyệt
Tôi đã tạo một API wrapper giúp cài đặt dễ hơn và cũng hỗ trợ Docker: https://github.com/travisvn/chatterbox-tts-api/
Theo trải nghiệm của tôi, đây chắc chắn là lựa chọn nhân bản giọng nói tốt nhất có thể chạy cục bộ
Xin thông cảm nếu câu hỏi sau hơi cơ bản. Tôi đang tìm một lệnh CLI đơn giản để chỉ định tệp văn bản cục bộ thay vì đối tượng
inputinline, nhưng chưa tìm thấy. Có gợi ý nào thì tôi rất biết ơnCó vẻ nó được làm cho 2.6.
"chatterbox-tts 0.1.2 requires torch==2.6.0, but you have torch 2.7.0+cu128 which is incompatible. chatterbox-tts 0.1.2 requires torchaudio==2.6.0, but you have torchaudio 2.7.0+cu128 which is incompatible."Tất cả các tệp âm thanh do Chatterbox tạo ra được nói là có chứa watermark Perth của Resemble AI
Đây được mô tả là một watermark neural network không thể cảm nhận được, vẫn tồn tại sau nén MP3, chỉnh sửa âm thanh và các thao tác phổ biến, đồng thời duy trì độ chính xác phát hiện gần như 100%. Nhưng nếu tôi không hiểu nhầm thì chẳng phải chỉ cần comment lệnh gọi
apply_watermarktrongtts.pylà có thể dễ dàng tắt watermark sao? https://github.com/resemble-ai/chatterbox/blob/master/src/ch...Tôi từng nghĩ điểm cốt lõi của loại watermark này là nó phải được nhúng bằng cách nào đó vào bên trong trọng số mô hình, để không thể dễ dàng tách ra. Nếu đã công bố mô hình mã nguồn mở mà lại gắn watermark như một bước hậu xử lý riêng, thì ngay từ đầu tôi không hiểu họ đưa watermark vào để làm gì
Hoặc cũng có thể nhằm ngăn việc vô tình trộn dữ liệu kỳ lạ vào từ góc độ dữ liệu huấn luyện
--no-watermarkđể tắt. Tôi cứ tưởng họ thêm vào để cung cấp như một “tính năng” cho người dùng hạ nguồn muốn tích hợp vào sản phẩm lớn hơnCác đơn vị dẫn đầu thị trường TTS đã quá rõ ràng và bám rễ rất sâu, nên những nơi như Resemble, Play(HT) phải cung cấp trọng số và tập trung mạnh vào developer [1]. Watermarking là cơ chế né trách nhiệm cho chuyện đó. Nếu không có watermark, các lo ngại về lạm dụng sẽ bùng lên mạnh, nhất là từ những phương tiện truyền thông phản đối AI như 404Media [2].
[1] Đây là cách làm đúng. Cần cung cấp mã nguồn và trọng số, đồng thời cũng cung cấp API riêng và fine-tuning để developer không phải vất vả. Như vậy mới có thể giành lại được một phần thị phần.
[2] https://www.404media.co/wikipedia-pauses-ai-generated-summar...
Có thể là câu hỏi ngớ ngẩn, nhưng phần cứng tối thiểu để chạy được là khoảng mức nào?
Ghi lại vấn đề phòng khi có ích: Python 3.13 không chạy được, tạo virtualenv 3.12 bằng
uvthì giải quyết được. Nó báo không có numpy 1.26.4, nhưng thực ra là có, chỉ làuv pipđang chỉ tìm trong kho PyTorch. Phải dùng flag--index-strategyđể nó kiểm tra cả các kho khác. Bảnpip install chatterbox-ttscó bug ở chế độ chỉ CPU nên phải clone Git repo, và bản main mới nhất trên Debian cầnprotobuf-compiler. Cuối cùng gặp một lỗi CMake khó hiểu, có vẻ như nó phàn nàn rằng thiếu Python development headers. Tôi chỉ muốn inference chứ đâu có định biên dịch Python, nên không hiểu vì sao lại cần.Tôi biết nổi giận cũng không có ích, nhưng gần như lần nào chạy project Python của người khác tôi cũng gặp trải nghiệm như vậy. Gặp một vấn đề rồi lùi lại, lại gặp vấn đề khác rồi lùi lại, qua một tiếng mà vẫn chưa chạy được
Nếu mô hình ổn, rất có thể sẽ có ai đó tìm ra cách tối ưu để chạy với ít tài nguyên hơn.
Sửa: Tôi đã chạy thử trên Nvidia 2060 cũ, và mức dùng VRAM tối đa có vẻ khoảng 5GB
Ở trạng thái mặc định, để chạy tương đối nhanh thì có vẻ cần phần cứng tiêu dùng khá mạnh. Tuy vậy có vẻ vẫn còn nhiều dư địa cải thiện, và tôi không phải chuyên gia.
[1]: https://github.com/resemble-ai/chatterbox/issues/127
Dù có thể chạy miễn phí, nếu thuê dùng còn rẻ hơn thì tự chạy sẽ mất ý nghĩa
Tính năng phóng đại cảm xúc khá thú vị, nhưng tôi vẫn chưa thấy thứ gì đa năng và dễ “tạo hình” bằng ElevenLabs, nơi có thể tạo giọng chỉ bằng mô tả giọng nói mong muốn
SparkTTS cung cấp thêm vài tham số, và nhìn vào các placeholder trong mã dự án GitHub thì có vẻ mô hình cũng có thể được cải thiện để điều khiển cảm xúc chi tiết hơn. Ngay hiện tại tôi cũng từng đạt được phần nào thành công bằng cách đưa vào văn bản các gợi ý mạnh về nhịp điệu và tông giọng, rồi đưa kết quả đó trở lại TTS để tiến gần hơn tới kết quả mong muốn. Nhưng quy trình đó phiền hơn ElevenLabs rất nhiều
Với những accent rất phổ biến thì rất tốt, nhưng các accent khác dù cũng khá phổ biến vẫn có thể dễ bị khóa sang một accent khác
Ví dụ một vài bản ghi Scotland lại ra accent Úc, và accent Yorkshire khá nhẹ cũng vậy
Những thứ này đã đủ tốt để đọc sách một cách thuyết phục chưa? Hay sau khi đọc vài đoạn thì độ nhất quán của giọng nói bắt đầu sụp đổ?
Với bài dài, tốt nhất là chia thành các batch theo từng đoạn để tạo, rồi cuối cùng ghép lại. Ngoài ra, nếu file WAV mẫu one-shot không thật sạch, Chatterbox đôi khi sẽ phát ra một tiếng vút ngẫu nhiên, nghe như tục tĩu, ở cuối audio được tạo. Nếu đang thu âm Inferno của Dante thì có thể xem như phần thưởng
Phải định kỳ nhắc bạn bè và gia đình nghi ngờ các cuộc gọi điện thoại hơn nữa
Khả năng người bạn đang cần gấp thẻ quà tặng Walmart không phải là bạn thật của mình ngày càng cao
Việc mạo danh đang trở nên quá dễ và rẻ, nên trong tương lai gần gần như không thể tránh khỏi việc các cuộc gọi lừa đảo kiểu này sẽ tràn lan
Nếu chen ngang bằng câu “bạn có thể làm một bài thơ về x không?” thì lọc ra khá ổn định. Tuy nhiên độ trễ phản hồi lại lộ quá rõ
Nếu là tình huống thật, đối phương sẽ biết mật khẩu đó nên có thể xác thực. Trong kỷ nguyên mới, khi cả giọng nói và video AI đều khả thi, cần tiếp tục nhấn mạnh rằng mật khẩu này giúp ngăn mạo danh
Hiện nay mức tiên tiến nhất của TTS đa ngôn ngữ mã nguồn mở đang ở đâu? Kokoro rất tốt với tiếng Anh, nhưng tôi vẫn đang tìm giải pháp tốt cho tiếng Pháp, tiếng Nhật và tiếng Đức