Fish Audio S2 Pro / Drama 3
Trang Soniqo này ghi lại Fish Audio S2 Pro theo triển khai hiện có trong speech-swift / speech-core. Liên kết Hugging Face nằm bên dưới phần ghi chú tích hợp.
Thẻ trên trang chính và menu tài liệu trỏ vào đây trước; liên kết model nguồn và bundle vẫn có trong trang này.
Tổng quan
| Model | Fish Audio S2 Pro |
|---|---|
| Vai trò | Experimental multilingual TTS with raw-reference cloning and style markers |
| Backend | MLX fp16 |
| Đầu ra | 44.1 kHz mono PCM |
| Ngôn ngữ | Multilingual |
| Giấy phép | Research / non-commercial bundle; obtain Fish Audio license for commercial exposure |
| Trạng thái | Programmatic runtime; CLI integration is still pending |
| Nguồn | Fish Audio S2 Pro |
| Sản phẩm Swift | FishAudioTTS |
| CLI / runtime | Programmatic runtime today; planned speech speak --engine fish-audio |
Cách dùng
Đoạn dưới đây khớp với API hoặc lệnh hiện tại do speech-swift cung cấp.
import FishAudioTTS
let model = try await FishAudioTTSModel.fromPretrained()
let pcm = try await model.generate(
text: "आज मैं बहुत खुश हूँ। [excited]",
referenceAudioURL: URL(fileURLWithPath: "reference.wav"),
referenceText: "नमस्ते, यह संदर्भ आवाज है।"
)
Liên kết model
Ghi chú triển khai
- Download uses the newer explicit byte-weighted file manifest, so progress reflects real transferred bytes across the multi-GB shards.
- Control markers include [pause], [emphasis], [laughing], [excited], [angry], [whisper], [screaming], [shouting], [surprised], and [sad].
- The runtime generates 10 DAC codebook rows, then decodes generated or reference-conditioned codebooks through FishAudioCodec.
- Current tests cover bundle loading, codebook generation, codec encode/decode, Hindi cloning, and ASR round-trip gates.
Fish Audio Drama 3
Hỗ trợ MLX gốc ở mức thử nghiệm cho Drama 3 có qua FishAudioDrama3Model. MoE 35 tỷ tham số với cơ chế chú ý lai, bộ giải mã âm thanh theo thời gian và codec Fish DAC tạo âm thanh mono 44,1 kHz. Bản 4 bit đã vượt qua kiểm tra dạng sóng và ASR độc lập cho tạo giọng từ văn bản, nhân bản giọng tham chiếu và đầu ra CLI trên Apple M5 Pro. Các bản 8 bit và BF16 vẫn chưa được kiểm chứng.
Chế độ mặc định balanced giải phóng vùng đệm MLX nhàn rỗi trên 512 MiB tại ranh giới các giai đoạn. Giới hạn bộ nhớ đệm chung cũng áp dụng trong suốt vòng đời mô hình, giữ nguyên ngân sách thấp hơn của bên gọi; cả hai đều không giới hạn tổng bộ nhớ tiến trình. --fish-drama3-memory-mode unrestricted hoặc memoryOptions: .unrestricted tải trước trọng số và bỏ qua dọn dẹp giữa các giai đoạn, nhưng vẫn giữ giới hạn vòng đời.
Tạo tiếng nói chỉ từ văn bản trì hoãn nạp 794.4 MiB trọng số bộ mã hóa tham chiếu. Lần mã hóa tham chiếu đầu tiên nạp và giữ chúng; hãy giữ codec.safetensors khả dụng đến lúc đó. Mã tham chiếu tính sẵn không cần bộ mã hóa.
Cung cấp toàn bộ văn bản đầu vào. Nhân bản giọng cần bản ghi tham chiếu và bản chép lời chính xác. Hỗ trợ thẻ người nói 0–15 và cảm xúc trong văn bản. Có thể truyền PCM qua generateStreaming, generateStream và --stream. Mỗi khối mặc định gồm 3 khung codec, khoảng 139 ms âm thanh. Chưa hỗ trợ tự chia văn bản dài hoặc đầu vào văn bản dạng luồng. Khi đạt giới hạn khung, chương trình báo lỗi.
speech speak "Hello from Drama 3." --engine fish-drama3 --fish-drama3-bundle-dir /path/to/bundle -o hello.wav
speech speak "Hello from Drama 3." --engine fish-drama3 --stream --fish-drama3-chunk-frames 3 -o streamed.wav
speech speak "Hello in the reference voice." --engine fish-drama3 --voice-sample reference.wav --fish-drama3-reference-text "The exact reference transcript." --seed 42 -o cloned.wavimport FishAudioTTS
let model = try await FishAudioDrama3Model.fromBundle(bundleURL, memoryOptions: .balanced)
let pcm = try await model.generate(text: "Hello from Drama 3.", options: .init(seed: 42))
try await model.generateStreaming(text: "Hello from Drama 3.", options: .init(seed: 42, streamingChunkFrames: 3)) { chunk in
print(chunk.frameIndex, chunk.samples.count, chunk.isFinal)
}| Tùy chọn | Mặc định |
|---|---|
--fish-drama3-model-id | mlx-community/fish-audio-drama-3-4bit |
--fish-drama3-bundle-dir | — |
--fish-drama3-reference-text | — |
--fish-drama3-max-frames | 2048 |
--fish-drama3-temperature | 1 |
--fish-drama3-top-k | 30 |
--fish-drama3-top-p | 0.9 |
--voice-sample | — |
--seed | 0 |
--stream | false |
--fish-drama3-chunk-frames | 3 |
--fish-drama3-memory-mode | balanced |
Được xây dựng với Fish Audio. Các gói giữ lại Community License và NOTICE.
Đo hiệu năng bản 4 bit
| Chế độ | PCM đầu tiên, ms | Tổng hợp sau làm nóng, giây | Âm thanh, giây | RTF | RSS đỉnh, GiB | Bộ nhớ vật lý đỉnh, GiB |
|---|---|---|---|---|---|---|
| Chỉ văn bản / Toàn bộ | — | 2.306 | 3.483 | 0.662 | 14.457 | 24.220 |
| Nhân bản giọng tham chiếu / Toàn bộ | — | 2.681 | 3.204 | 0.837 | 15.064 | 24.789 |
| Chỉ văn bản / Truyền luồng | 275.3 | 2.529 | 3.483 | 0.726 | 15.571 | 22.321 |
| Nhân bản giọng tham chiếu / Truyền luồng | 730.2 | 2.860 | 3.204 | 0.893 | 14.676 | 23.885 |
Apple M5 Pro, 48 GiB, bản dựng release, 2026-10-17. Trung vị của ba lượt sau làm nóng, đo đến khi tạo xong toàn bộ dạng sóng. Không gồm tải mô hình và đọc/ghi WAV; nhân bản gồm mã hóa tham chiếu ở mỗi lượt. RTF = thời gian tổng hợp / thời lượng âm thanh. ASR độc lập: 16/16 đoạn đạt, không có lỗi từ. Dùng bộ nhớ vật lý để ước tính dung lượng bộ nhớ hợp nhất. PCM đầu tiên là callback luồng đầu tiên có dữ liệu; chế độ toàn bộ không có callback từng khối. Khối mặc định chứa 139.3 ms âm thanh. Chưa đo thời điểm bắt đầu phát nghe được.