Fish Audio S2 Pro / Drama 3
Bu Soniqo sayfası, yerel speech-swift / speech-core uygulamasındaki Fish Audio S2 Pro modelini belgeler. Hugging Face bundle bağlantıları entegrasyon notlarından sonra yer alır.
Açılış kartları ve belge menüleri önce buraya yönlenir; kaynak model ve bundle bağlantıları bu sayfada kalır.
Özet
| Model | Fish Audio S2 Pro |
|---|---|
| Rol | Experimental multilingual TTS with raw-reference cloning and style markers |
| Backend | MLX fp16 |
| Çıktı | 44.1 kHz mono PCM |
| Diller | Multilingual |
| Lisans | Research / non-commercial bundle; obtain Fish Audio license for commercial exposure |
| Durum | Programmatic runtime; CLI integration is still pending |
| Kaynak | Fish Audio S2 Pro |
| Swift ürünü | FishAudioTTS |
| CLI / runtime | Programmatic runtime today; planned speech speak --engine fish-audio |
Kullanım
Aşağıdaki parça, speech-swift deposundaki güncel API veya komutla eşleşir.
import FishAudioTTS
let model = try await FishAudioTTSModel.fromPretrained()
let pcm = try await model.generate(
text: "आज मैं बहुत खुश हूँ। [excited]",
referenceAudioURL: URL(fileURLWithPath: "reference.wav"),
referenceText: "नमस्ते, यह संदर्भ आवाज है।"
)
Model bağlantıları
Uygulama notları
- 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
Drama 3 için deneysel yerel MLX desteği FishAudioDrama3Model üzerinden sunulur. Karma dikkat kullanan 35 milyar parametreli MoE omurgası, zamansal ses çözücü ve Fish DAC kodeği ile 44,1 kHz mono ses üretilir. 4 bit kontrol noktası, Apple M5 Pro üzerinde metinden ses üretimi, referansla ses klonlama ve CLI çıktısı için dalga biçimi ve bağımsız ASR kontrollerini geçti. 8 bit ve BF16 çeşitleri henüz doğrulanmadı.
Varsayılan balanced modu aşama sınırlarında 512 MiB üzerindeki boşta duran MLX arabelleklerini temizler. Çağıranın daha düşük bütçesini koruyan ortak önbellek sınırı da model ömrü boyunca geçerlidir; bu kontroller toplam işlem belleğini sınırlamaz. --fish-drama3-memory-mode unrestricted veya memoryOptions: .unrestricted ağırlıkları önceden yükler ve aşama temizliğini atlar, ancak model ömrü sınırını korur.
Yalnızca metinden üretim, referans kodlayıcının 794.4 MiB ağırlığının yüklenmesini erteler. İlk referans kodlaması bunları yükleyip tutar; o zamana kadar codec.safetensors dosyasını erişilebilir bırakın. Önceden hesaplanmış referans kodları kodlayıcıya ihtiyaç duymaz.
Girdi metninin tamamını verin. Ses klonlama, bir referans kayıt ve onun doğru dökümünü gerektirir. 0–15 konuşmacı etiketleri ve metin içi duygular desteklenir. generateStreaming, generateStream ve --stream ile PCM akışı kullanılabilir. Varsayılan parça 3 kodek karesi, yaklaşık 139 ms ses içerir. Uzun metni otomatik bölme ve akış halinde metin girişi henüz desteklenmez. Kare sınırına ulaşılırsa hata verilir.
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)
}| Seçenek | Varsayılan |
|---|---|
--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 |
Fish Audio ile geliştirilmiştir. Paketler Community License ve NOTICE dosyalarını korur.
4 bit performans ölçümü
| Mod | İlk PCM, ms | Isınma sonrası sentez, sn | Ses, sn | RTF | Tepe RSS, GiB | Tepe fiziksel bellek, GiB |
|---|---|---|---|---|---|---|
| Yalnızca metin / Tam çıktı | — | 2.306 | 3.483 | 0.662 | 14.457 | 24.220 |
| Referansla ses klonlama / Tam çıktı | — | 2.681 | 3.204 | 0.837 | 15.064 | 24.789 |
| Yalnızca metin / Akış | 275.3 | 2.529 | 3.483 | 0.726 | 15.571 | 22.321 |
| Referansla ses klonlama / Akış | 730.2 | 2.860 | 3.204 | 0.893 | 14.676 | 23.885 |
Apple M5 Pro, 48 GiB, release derlemesi, 2026-10-17. Tam dalga biçimi üretimi için ısınma sonrası üç çağrının medyanı. Model yükleme ve WAV dosyası giriş/çıkışı hariçtir; klonlama her çağrıda referans kodlamasını içerir. RTF = sentez süresi / ses süresi. Bağımsız ASR: 16/16 klip başarılı, sıfır sözcük hatası. Birleşik bellek kapasitesi için fiziksel bellek kullanımını esas alın. İlk PCM, boş olmayan ilk akış geri çağrısıdır; tam çıktı modunda parça geri çağrısı yoktur. Varsayılan parça 139.3 ms ses içerir. Duyulabilir oynatmanın başlangıcı ölçülmedi.