Tłumaczenie automatyczne · Oryginał angielski

Fish Audio S2 Pro / Drama 3

Ta pierwsza strona Soniqo dokumentuje Fish Audio S2 Pro z lokalnej implementacji speech-swift / speech-core. Zestawy Hugging Face są połączone poniżej po notach integracyjnych.

Strona wewnętrzna pierwsza

Karty do lądowania i menu doków wskazują najpierw tutaj; model źródłowy i linki do pakietów pozostają dostępne na tej stronie.

At a Glance

WzórFish Audio S2 Pro
RolaEksperymentalne wielojęzyczne TTS z klonowaniem raw- reference i markery stylu
WsteczMLX fp16
Wyjście44,1 kHz mono PCM
JęzykiWielojęzyczny
LicencjaBadania / niekomercyjny pakiet; uzyskać licencję Fish Audio dla ekspozycji handlowej
StatusProgrammatic runtime; Integracja CLI jest nadal w toku
ŹródłoFish Audio S2 Pro
Produkt SwiftFishAudioTTS
CLI / runtimeProgram runtime dzisiaj; planowane mowy mówić --engine ryb-audio

Stosowanie

Poniższy fragment jest odzwierciedleniem bieżącego speech-swift API lub polecenia zdemaskowanego przez repo.

import FishAudioTTS

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

Wzory linków

Uwagi do wdrożenia

Fish Audio Drama 3

Eksperymentalne natywne MLX wsparcie dla Drama 3 jest dostępny poprzez FishAudioDrama3ModelA 35B Hybrid- attention MoE kręgosłup, temporalna wieża audio i kodek Fish DAC produkcji 44.1 kHz mono audio. 4-bit checkpoint przeszedł fala i niezależny ASR sprawdzanie tylko dla produkcji, klonowania referencyjnego i CLI na Apple M5 Pro. 8-bit i BF16 pozostają niezatwierdzone.

Domyślny balanced mode tryms bezczynny zderzaki MLX powyżej 512 MiB na granicy sceny. Współdzielony czapka cache-lifetime stosuje się również, zachowując niższe budżety dzwoniących; ani kontroli ogranicza całkowitą pamięć procesową. --fish-drama3-memory-mode unrestricted lub memoryOptions: .unrestricted ładunki z niecierpliwością i pomija przycinanie na etapie, zachowując jednocześnie wieczko na całe życie.

Tylko generacja Text- odracza 794.4 MiB referencyjnych ciężarów kodujących. Pierwsze odniesienia kodowania obciążeń i zachowuje je, więc zachować codec.safetensors dostępne do tego czasu. Przeliczone kody referencyjne nie potrzebują kodera.

Sklonowanie głosu wymaga klipu odniesienia i jego dokładnego zapisu. Głośnik tagi 0- 15 i emocje inline są obsługiwane. generateStreaming, generateStream oraz --streamDomyślny kawałek zawiera ramy kodekowe 3, o 139 ms audio. Automatyczne długotrwale tekstowe chunking i strumieniowane wejście tekstu pozostają niedostępne. Osiągnięcie limitu ramki powoduje błąd.

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)
}
OpcjaDomyślne
--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

Zbudowany z Fish Audio. Bundles zachowuje licencję wspólnotową i NOTICE.

Wskaźnik 4- bitowy

TrybPierwsza PCM, msCiepła synteza, sAudio, sRTFSzczyt RSS, GiBMaksymalny ślad fizyczny, GiB
Tylko tekst / buforowane—2.3063.4830.66214.45724.220
Klonowanie referencyjne / buforowane—2.6813.2040.83715.06424.789
Text- only / Streaming275.32.5293.4830.72615.57122.321
Klonowanie referencyjne / strumieniowanie730.22.8603.2040.89314.67623.885

Jabłko M5 Pro, 48 GiB, wypuść go. 2026-10-17. Mediana trzech ciepłych połączeń, pomiar kompletnej generacji fali. WAV Plik I / O jest wykluczony; klonowanie zawiera kodowanie odniesienia przy każdym wywołaniu. RTF = czas syntezy / czas trwania dźwięku. Niezależny ASR: 16/16 klipy, zero błędów wyrazów. Użyj fizycznego odcisku stopy dla unified- memory size. Pierwsza PCM jest pierwszym niepustym streaming callback; buforowane wiersze nie mają odsyłania fragmentów. Domyślny fragment zawiera 139.3 ms of audio. Nie mierzono dźwiękowego początku odtwarzania.