Traducere automată · Originalul în engleză

Fish Audio S2 Pro / Drama 3

Această primă parte Soniqo documente pagină Fish Audio S2 Pro de la local speech-swift / speech-core implementare. Pachetele Hugging Face sunt legate mai jos după notele de integrare.

Prima pagină internă

Carduri de aterizare și meniuri docs punct acum aici primul; model sursă și link-uri de pachet rămân disponibile de la această pagină.

La o strălucire

ModelFish Audio S2 Pro
Rol Multilingv experimental TTS cu clonare de referință brută și markeri de stil
PlatformăMLX fp16
Ieșire44,1 kHz mono PCM
Limbi Multilingv
Licență Cercetare / pachet non-comercial; obţineţi Fish Audio licenţă pentru expunere comercială
Stare Timpul de rulare programatic; integrarea CLI este încă în curs de desfășurare
SursăFish Audio S2 Pro
Swift produsFishAudioTTS
CLI / timpul de funcționareProgramatic runtime today; planned speech speak --engine fish-audio

Utilizare

Fragmentul de mai jos reflectă curentul speech-swift API sau comanda expusă de repo.

import FishAudioTTS

let model = try await FishAudioTTSModel.fromPretrained()
let pcm = try await model.generate(
    text: "आज मैं बहुत खुश हूँ। [excited]",
    referenceAudioURL: URL(fileURLWithPath: "reference.wav"),
    referenceText: "नमस्ते, यह संदर्भ आवाज है।"
)

Modele de legături

Note de punere în aplicare

Fish Audio Drama 3

Suport experimental nativ MLX pentru Drama 3 este disponibil prin FishAudioDrama3Model. A 35B hibrid-attention MoE coloana vertebrală, turn audio temporal și codec DAC de pește produce 44.1 kHz mono audio. Punctul de control 4-bit a trecut forma de undă și controale independente ASR pentru generarea numai text, clonarea de referință și CLI pe M5 Pro. 8 și BF16 rămân nevalidate.

Implicit balanced mode tamps inactiv MLX tampoane peste 512 MiB la limitele de etapă. Modelul comun-viață cache capac se aplică, de asemenea,, păstrarea bugete mai mici apelant; nici controlul limitează memoria totală proces. --fish-drama3-memory-mode unrestricted sau memoryOptions: .unrestricted sarcini greutăți cu nerăbdare și sări de tăiere etapă, păstrând în același timp capacul de viață.

Generaţia unică de text amână 794.4 MiB de greutăţi de codor de referinţă. Primele sarcini de codare de referinţă şi le păstrează, astfel încât să păstreze codec.safetensors disponibile până atunci. Codurile de referinţă precomputate nu au nevoie de codor.

Furnizați text complet de intrare. Clonarea vocală necesită un clip de referință și transcrierea exactă a acestuia. Tag-uri difuzor 0–15 și emoțiile de linie sunt susținute. PCM streaming este disponibil prin generateStreaming, generateStream şi --stream. Bucata implicita contine rame de codec 3, despre 139 ms de audio. Intrarea automată de text de lungă durată și streamed ZX0. Atingerea limitei de cadru aruncă o eroare.

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.wav
import 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)
}
OpțiuneImplicit
--fish-drama3-model-idmlx-community/fish-audio-drama-3-4bit
--fish-drama3-bundle-dir—
--fish-drama3-reference-text—
--fish-drama3-max-frames2048
--fish-drama3-temperature1
--fish-drama3-top-k30
--fish-drama3-top-p0.9
--voice-sample—
--seed0
--streamfalse
--fish-drama3-chunk-frames3
--fish-drama3-memory-modebalanced

Construit cu Fish Audio. Bundles păstrează licenţa comunitară şi NOTACE.

Indicator de referință pe 4 biți

Mod Primul PCM, ms Sinteză caldă, sAudio, sRTFVârful RSS, GiBAmprenta fizică maximă, GiB
Numai text / Buffered—2.3063.4830.66214.45724.220
Clonare de referință / Buffered—2.6813.2040.83715.06424.789
Numai text / Streaming275.32.5293.4830.72615.57122.321
Clonarea / Streamingul de referință730.22.8603.2040.89314.67623.885

Mere M5 Pro, 48 GiB, eliberează clădirea. 2026-10-17Mediana a trei apeluri calde, masurand generarea completa a formei de undă. WAV fişierul I/O este exclus; clonarea include codificarea de referinţă a fiecărui apel. RTF = timpul de sinteză / durata audio. Independent ASR: 16/16 cleps, zero erori de cuvânt. Utilizați amprenta fizică pentru dimensionare unificat-memorie. Primul PCM este primul apel de streaming non-empty înapoi; rândurile tamponate nu au nici o bucată de apel înapoi. Bucata implicit conține 139.3 Ms de audio. Debutul audio de redare nu a fost măsurat.