Maskinöversättning · Engelskt original
Fish Audio S2 Pro/drama 3
Denna förstaparts Soniqo-sida dokument Fish Audio S2 Pro från den lokala speech-swift / speech-core implementering. Hugging Face buntar är länkade nedan efter integrationsnoterna.
Landningskort och docs-menyer pekar nu här först; källmodell och buntlänkar förblir tillgängliga från denna sida.
På en Glance
| Modell | Fish Audio S2 Pro |
|---|---|
| Rollen | Experimentell flerspråkig TTS med rå-referens kloning och stil markörer |
| Backend | MLX fp16 |
| Output | 44.1 kHz mono PCM |
| Språk | Flerspråkig |
| Licens | Forskning / icke-kommersiell bunt; erhåll Fish Audio licens för kommersiell exponering |
| Status | Programmatisk runtime; CLI-integrationen är fortfarande i väntan |
| Källa | Fish Audio S2 Pro |
| Swift produkt | FishAudioTTS |
| CLI / runtime | Programmatisk runtime idag; planerat tal talar --engine fisk-audio |
Användning
Nyckeln nedan speglar den nuvarande speech-swift API eller kommandot exponerat av repan.
import FishAudioTTS
let model = try await FishAudioTTSModel.fromPretrained()
let pcm = try await model.generate(
text: "आज मैं बहुत खुश हूँ। [excited]",
referenceAudioURL: URL(fileURLWithPath: "reference.wav"),
referenceText: "नमस्ते, यह संदर्भ आवाज है।"
)
Modelllänkar
Implementeringsmeddelanden
- Ladda ner använder den nyare explicita byte-viktiga filen manifest, så framsteg återspeglar verkliga överförda byte över multi-GB-skärdorna.
- (Skrävande) och [Skräva], [Skratt], [smycket], [Grå], [som], [skriker], [skaka], [överraskande] och [sad].
- Runtime genererar 10 DAC-kodboksrader, sedan avkodar genererade eller referens-konditionerade kodböcker via FishAudioCodec.
- Aktuella tester täcker buntlastning, kodboksgenerering, codec-kod/dekod, Hindi-kloning och ASR rundtursportar.
Fish Audio Drama 3
Experimentell infödd MLX stöd för Drama 3 är tillgänglig via FishAudioDrama3ModelA. A. 35B hybrid-uppmärksamhet MoE ryggraden, temporalt ljudtorn och Fish DAC codec producerar 44.1 kHz mono ljud. 4-bit checkpoint passerade vågform och oberoende ASR kontroller för text-bara generationen, referenskloning och CLI-utgång på Apple M5 Pro. 8-bit och BF16 förblir ovärderlig.
Standarden balanced läge trims idle MLX buffertar över 512 MiB vid scen gränser. Den delade modell-livstid cache cap gäller också, bevara lägre uppringningsbudgetar; varken kontroll begränsar total processminne. --fish-drama3-memory-mode unrestricted eller memoryOptions: .unrestricted loads vikts eagerly and skips
Text-bara generationen skjuter upp 794.4 MiB av referenskodare vikter. Den första referenskodningsbelastningen och behåller dem, så håll codec.safetensors tillgängliga tills dess. Precomputed referenskoder behöver inte kodaren.
Ge fullständig inmatningstext. Voice kloning kräver ett referensklipp och dess exakta transkript. Speaker taggar 0-15 och inline känslor stöds. PCM streaming är tillgänglig via generateStreaming, generateStream och --stream. Standard chunk innehåller 3 kodramar, ca 139 ms ljud. Automatic long-text chunking och streamed texting restavailable.
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)
}| Alternativ | Standard |
|---|---|
--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 |
Byggd med Fish Audio. Bundles behåller gemenskapslicensen och NOTICE.
4-bitars riktmärke
| Mode | Första PCM, ms | Varm syntes, s | Audio, s | RTF | Peak RSS, GiB | Peak fysiskt fotavtryck, GiB |
|---|---|---|---|---|---|---|
| Text-bara / Buffered | — | 2.306 | 3.483 | 0.662 | 14.457 | 24.220 |
| Referens kloning / Buffered | — | 2.681 | 3.204 | 0.837 | 15.064 | 24.789 |
| Text-bara / Streaming | 275.3 | 2.529 | 3.483 | 0.726 | 15.571 | 22.321 |
| Referens kloning / Streaming | 730.2 | 2.860 | 3.204 | 0.893 | 14.676 | 23.885 |
Apple Apple M5 Pro, 48 GiB, släpp bygga, 2026-10-17Median av tre varma samtal, mäter komplett vågformsgenerering. Modellbelastning och WAV fil I/O är uteslutna; kloning innehåller referenskodning på varje samtal. RTF = syntestid / ljudvaraktighet. Oberoende ASR: 16/16 clips, noll ordfel. Använd fysiskt fotavtryck för enhetlig minne dimensionering. First PCM är den första nonempty streaming callback; buffered rader har ingen chunk callback. Standard chunk innehåller 139.3 Ms av ljud. Audible uppspelning uppträdde inte mätt.