Bỏ qua để đến nội dung

Chuyển văn bản thành giọng nói (Engine cục bộ)

TomoriBot xem giọng nói là một tính năng endpoint tùy chỉnh. Các engine cục bộ chạy bên ngoài bot dưới dạng máy chủ HTTP và triển khai POST /synthesize; các engine sao chép nhận văn bản cùng với mẫu âm thanh tham chiếu đã định cấu hình, trong khi các engine có khả năng VoiceDesign cũng có thể nhận các hướng dẫn bằng ngôn ngữ tự nhiên.

Các engine hiện có

Quy trình cài đặt

  1. Chọn một engine từ các thẻ ở trên và thiết lập wrapper của nó từ servers/tts/.
  2. Trong /providers, chọn Add New Custom Endpoint và sử dụng API Compatibility tts-clone.
  3. Chọn endpoint đã lưu và sử dụng menu thả xuống model để thêm model Speech, Voice Source Mode, và Script Markup của nó.
  4. Mở /config > Models > Switch Models và chọn model Speech đã đăng ký.

Quy trình giọng nói persona

Đối với các engine sao chép, hãy thêm và gán một mẫu giọng nói cho mỗi persona:

  1. Chuẩn bị một đoạn clip rõ ràng dài 10-20 giây với một người nói và không có nhạc nền.
  2. Mở /config dưới phần Models > TTS Parameters & Voices và tải mẫu lên. Mọi định dạng âm thanh đều được chấp nhận; TomoriBot sẽ chuyển đổi sang WAV đơn kênh.
  3. Cung cấp bản phiên âm khớp khi engine hưởng lợi từ điều đó. Fish S2 Pro chuyển tiếp bản phiên âm tham chiếu đã lưu vào yêu cầu sao chép, và VoxCPM2 sử dụng bản phiên âm đó cho Ultimate Cloning có độ trung thực cao hơn.
  4. Mở /config dưới phần Persona > Voice, sau đó chọn persona và mẫu giọng nói.

Đối với Qwen3-TTS, MOSS-VoiceGenerator, IrodoriTTS, hoặc VoxCPM2 VoiceDesign, hãy bỏ qua mẫu âm thanh và sử dụng Persona > Voice trong /config để lưu mô tả giọng nói bằng ngôn ngữ tự nhiên cho persona. CosyVoice 3 sử dụng chế độ Clone với một mẫu tham chiếu và chấp nhận hướng dẫn truyền đạt dùng một lần thông qua voice_instructions.

Người dùng ElevenLabs nên chọn Add New ProviderElevenLabs trong /providers; tùy chọn này đăng ký đồng thời cả endpoint giọng nói và phiên âm.

TomoriBot loại bỏ cú pháp emoji tùy chỉnh của Discord chẳng hạn như :pepega: hoặc <:pepega:123456789012345678> khỏi các kịch bản giọng nói được tạo trước khi tổng hợp. Unicode emoji cũng bị loại bỏ trừ khi endpoint giọng nói sử dụng emoji markup, vốn dành cho IrodoriTTS. Các thẻ trong ngoặc vuông được giữ lại cho các endpoint như Chatterbox Turbo và Fish S2 Pro khi Script Markup của chúng được đặt thành Bracket Tags.

VoxCPM2 sử dụng Script Markup Plain. Các tùy chọn Voice Design và phong cách nói của nó truyền qua trường instruct của TomoriBot, và wrapper VoxCPM2 sẽ chuyển đổi chúng sang cú pháp điều khiển bằng ngôn ngữ tự nhiên trong dấu ngoặc đơn gốc của model.

CosyVoice 3 cũng sử dụng Script Markup Plain. Model này ánh xạ các tham chiếu có bản phiên âm thành sao chép zero-shot, các tham chiếu không có bản phiên âm thành sao chép chéo ngôn ngữ, và voice_instructions thành đường dẫn điều kiện hóa theo hướng dẫn. Các thẻ trong ngoặc vuông nội dòng bị xóa vì các hướng dẫn của CosyVoice áp dụng cho toàn bộ câu nói.

So sánh engine

Để xem các benchmark độ trễ thực nghiệm đối chiếu cạnh nhau, nghe phát mẫu âm thanh và ma trận tính năng chi tiết so sánh tất cả các sidecar được hỗ trợ, hãy xem So sánh các engine TTS.