Terjemahan mesin · Versi asli bahasa Inggris
Fish Audio S2 Pro / Drama 3
Pesta pertama ini. Soniqo dokumen halaman Fish Audio S2 Pro dari lokal speech-swift / speech-core implementasi. Hugging Face bundel dihubungkan di bawah ini setelah catatan integrasi.
Mendarat kartu dan menu dokumen sekarang menunjuk di sini pertama; model sumber dan bundel link tetap tersedia dari halaman ini.
Pada sebuah Glance
| Model | Fish Audio S2 Pro |
|---|---|
| Peran | Percobaan multibahasa TTS dengan tanda referensi mentah dan gaya kloning |
| Backend | MLX fp16 |
| Keluaran | 44.1 kHz mono PCM |
| Bahasa | Multibahasa |
| Lisensi | Riset / non-komersial bundle; memperoleh lisensi Fish Audio untuk eksposur komersial |
| Status | Programtik waktu jalan; integrasi CLI masih tertunda |
| Sumber | Fish Audio S2 Pro |
| Produk Swift | FishAudioTTS |
| CLI / waktu jalan | Programtic runtime today; planned speech speak --engine fish- audio |
Gunakan
snippet di bawah cermin yang sekarang speech-swift API atau perintah yang terkena repo tersebut.
import FishAudioTTS
let model = try await FishAudioTTSModel.fromPretrained()
let pcm = try await model.generate(
text: "आज मैं बहुत खुश हूँ। [excited]",
referenceAudioURL: URL(fileURLWithPath: "reference.wav"),
referenceText: "नमस्ते, यह संदर्भ आवाज है।"
)
Taut Model
Catatan Implementasi
- Unduh menggunakan berkas muatan eksplisit baru yang ditimbang, jadi kemajuan mencerminkan byte yang ditransfer secara nyata melalui shards multi- GB.
- Penanda kontrol termasuk [jeda], [penekanan], [tertawa], [gembira], [marah], [berbisik], [menjerit], [berteriak], [terkejut], dan [sedih].
- Waktu berjalan menghasilkan 10 baris codebook DAC, kemudian decodes dihasilkan atau reference- dikondisikan buku kode melalui FishAudioCodec.
- Tes penutup saat ini memuat, pembuatan buku kode, kode kode / kode kode, kloning Hindi, dan gerbang perjalanan ASR.
Fish Audio Drama 3
Support asli MLX untuk Drama 3 tersedia melalui FishAudioDrama3ModelA 35B hibrid- perhatian tulang punggung MoE, menara audio temporal dan produksi codec Fish DAC 44.1 KHz mono audio. 4-bit titik pemeriksaan melewati bentuk gelombang dan independen ASR cek untuk teks- hanya generasi, referensi kloning dan CLI keluaran di Apple M5 Pro. 8-bit dan BF16 tetap tak validasi.
Baku balanced mode trims idle MLX buffer di atas 512 MiB pada batas tahap. Topan singgahan model seumur hidup juga berlaku, menjaga anggaran penelepon bawah; tidak ada batas kontrol memori proses total. --fish-drama3-memory-mode unrestricted atau memoryOptions: .unrestricted beban beban penuh semangat dan melompat tahap pemangkasan, sementara mempertahankan topi seumur hidup.
Teks - hanya generasi desers 794.4 MiB referensi beban encoder. Referensi pertama pengkodean beban dan mempertahankan mereka, jadi keep codec.safetensors tersedia sampai saat itu. Kode referensi yang telah dihitung sebelumnya tidak perlu penyandi.
Menyediakan teks masukan lengkap. Kloning suara memerlukan sebuah klip referensi dan transkrip yang tepat. Tag suara 0–15 dan emosi inline didukung. PCM streaming tersedia melalui generateStreaming, generateStream dan --stream. Potongan bawaan berisi 3 bingkai codec, tentang 139 ms dari audio. Teks panjang otomatis chunking dan teks streaming masukan tetap tidak tersedia. Mencapai batas frame melempar kesalahan.
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)
}| Opsi | Baku |
|---|---|
--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 |
Dibangun dengan Fish Audio Bundles mempertahankan Lisensi komunitas dan NOTICE.
4-bit benchmark
| Mode | Pertama PCM, ms | Sintesis hangat, s | Audio | RTF | Peak RSS, GiB | Kaki tajam, GiB |
|---|---|---|---|---|---|---|
| Hanya teks / Buffered | — | 2.306 | 3.483 | 0.662 | 14.457 | 24.220 |
| Referensi kloning / Buffered | — | 2.681 | 3.204 | 0.837 | 15.064 | 24.789 |
| Teks-saja / Streaming | 275.3 | 2.529 | 3.483 | 0.726 | 15.571 | 22.321 |
| Referensi kloning / Streaming | 730.2 | 2.860 | 3.204 | 0.893 | 14.676 | 23.885 |
Apple M5 Pro, 48 GiB, lepaskan bangunan, 2026-10-17Median dari tiga panggilan hangat, pengukuran lengkap generasi gelombang. WAV berkas I / O tidak termasuk; cloning menyertakan referensi pengkodean pada setiap panggilan. RTF = Sintesis durasi waktu / audio. Independen ASR: 16/16 klip, nol kata errors. Gunakan jejak fisik untuk unified-memory persis. Pertama PCM adalah streaming nonempty callback; baris tidak memiliki chunk callback. Potongan baku berisi 139.3 ms dari audio. Pemutaran Audible tidak diukur.