Maskinoversettelse · Engelsk original
Hibiki Zero-3B taleoversettelse (FR / ES / PT / DE → EN)
Hibiki Zero-3B er Kyutais streaming tale-til-speech oversettelse Modell - Inngang er en 24 kHz lydstrøm på fransk, spansk, portugisisk eller tysk; utdata er en 24 kHz Engelsk lydstrøm pluss en parallell engelsk tekst transkripsjon på samme 12.5 Hz rammehastighet. Bygget på Moshi/Mimi multistream-arkitektur: en enkelt dekoder-bare transformator i fellesskap modellerer kilde-audio codec-strømmen og målteksten+audio-strømmer, så det er ingen separate ASR + MT + TTS rørledning. Den Soniqo Bygge løp som kvantisert MLX safetensorer (INT4 standard, INT8 Tilgjengelig) helt på Apple Silicon. CC-BY-4.0.
Pipe-stil ASR + MADLAD (speech transcribe | speech translate) får deg 400+ språk, men legger til den runde tripp latensen til tre modeller. Hibiki er en modell slutt-til-end og bevarer prosodi - velg den når du trenger live tale i målspråket i stedet for bare tekst.
Rask start
import HibikiTranslate
import AudioCommon
let model = try await HibikiTranslateModel.fromPretrained()
let pcm = try AudioFileLoader.load(url: input, targetSampleRate: 24000)
let (englishAudio, textTokens) = model.translate(
sourceAudio: pcm,
sourceLanguage: .fr // .fr / .es / .pt / .de — auto-detected but pass for the metadata
)
try WAVWriter.write(samples: englishAudio, sampleRate: 24000, to: output)
CLI
speech audio-translate input_fr.wav -o out_en.wav --source-lang fr
speech audio-translate input_es.wav -o out_en.wav --source-lang es --quantization 8bit
speech audio-translate input_pt.wav -o out_en.wav --source-lang pt --verbose
# Deterministic mode (used by the CI regression canaries)
HIBIKI_GREEDY=1 speech audio-translate input_fr.wav -o out_en.wav --source-lang fr
# Inner-monologue text token IDs (raw — SPM decode is a follow-up)
speech audio-translate input.wav -o out.wav --transcript
Arkitektur
Hibiki Zero-3B er en 3,1B-parameter dekoder-bare multistrøms transformator. Modellen deltar i fellesskap over 33 streams per ramme: én tekststrøm, 16 mållydkodebøker (middelets utgang) og 16 kildelydkodebøker(brukerens inngang). Ved hver 80 ms innrammer modellen prøver en teksttoken pluss 16 lydkoder via en liten 6-lags depformer som kjører 16 undertrinn per ramme, en per målkodebok, med en 9-slike planlagte multilinjeprojeksjon.
Lydkodeken er Mimi på 12.5 Hz / 16 kodebøker. Kildelyd er kodet i 16 kildestrøm kodebøker (delay [0, 2, 2, …, 2]); generert mållyd fyller 16 målstrømskodebøker (same forsinkelsesmønster); per kodebok un-shift brukes før Mimi dekoder målet tilbake til 24 kHz engelsk PCM. Den temporære ryggraden er 28 GQA lag (dim = 2048, 16 spørringshoder, 8 KV-hoder, kv_repeat = 2, split-halv RoPE rope_concat, ingen balsam - Zero er den ubetingede varianten).
Decode Loop
Hibiki sender ut SPM-fylletoken (id 3) mens den akkumulerer nok kildekontekst til å oversette, deretter innholdsteksttokener med matchende mållyd, og til slutt tekst-EOS (id 2). Swift driveren kjører til EOS er prøvet forbi kildevinduet, som er dekket av max(tSrc × 5/2, tSrc + 20) trinn som sikkerhetsbunden. Utgangskjøring ca. 1.0-1.6× inngangsvarigheten på FLEURS-stil-klipp; callers bør ikke anta output_duration == input_duration.
Den autoregressive tilbakemeldingsstien er ikke åpenbar: i trinn t transformatoren leser polletter ved cacheindeks trinn (uniform på tvers av alle 33-strømmer, med init-token substitusjon når step ≤ delays[k]), prøveteksten + 16-målkodene er skrevet ved indeks trinn + 1. Dette speilet oppstrøms Moshi lm.py hvor state.offsets += 1 skjer før cachespreaden. text_emb rad for EOS (id 2) er aliasert til å rekke 3 (PAD) på vekt-last tid, speiler Kyutais loaders.py:312 -implicitt erstatte tidlig EOS med PAD-patch - ethvert EOS-prøvebilde under lydstrømsvinduet er ufarlig, bare etterkilde EOS avslutter sløyfen.
Modell Varianter
| Variant | Kvantisering | Størrelse | Beregn | HuggingFace |
|---|---|---|---|---|
| Hibiki Zero-3B | INT4 | ~2.7 GB | Metal GPU (MLX) | aufklarer/Hibiki-Zero-3B-MLX-4bit |
| Hibiki Zero-3B | INT8 | ~3.9 GB | Metal GPU (MLX) | aufklarer/Hibiki-Zero-3B-MLX-8bit |
Språkdekning
Hibiki Zero-3B er trent på Fransk, spansk, portugisisk og tysk → Engelsk. Swift driveren registrerer automatisk kildespråket; --source-lang flagget er metadata.
| Kilde | Status | Prøve grådig utgang |
|---|---|---|
| FR | Strengt E2E kanarie | - Så det er en skirute - (fra -Pensez à l'itinéraire de ski -) |
| ES | Strengt E2E kanarie | -Gentlemen, dataene er bekymrende - (Hibiki europarl prøve) |
| PT | Varsel bare (innholds-trolig, lavere søkeord tilbakekallelse) | Den femte c er p av martyren - (FLEURS PT) |
| DE | Varsel bare (innholds-trolig, lavere søkeord tilbakekallelse) | Det syntes ikke å være nyttig for meg - (FLEURS DE) |
16 kHz menneskelig-innspilt FLEURS Spanske klipp utløser degenerert generasjon i både Python oppstrøms og Swift port (Python sender 1643 trinn / ~ 131 s ødelagt lyd uten prøvetaking EOS). Swift ES regresjonskanalen bruker en 5 trimmet utdrag fra Kyutais egen prøverom (kyutai/hibiki-zero-prøver) ved 24 kHz TTS-generert lyd, som matcher trening distribusjonen og produserer ren engelsk. Hvis du mater Hibiki spansk i produksjon, pre-remplementererer til 24 kHC og stikk til lengre klipp (5 s+).
Miljøvariabler
| Variabel | Effekt |
|---|---|
HIBIKI_GREEDY=1 | Tving argmax dekoding for både tekst og mållyd. Reproduserbar - brukt av de strenge CI-kanariene. |
HIBIKI_E2E=1 | Aktivere E2E test tilfeller (krever ~ 2,7 GB modell nedlasting). |
HIBIKI_STRICT_ALL=1 | Fremme PT/DE-tester fra kun varsling til streng. |
HIBIKI_LENIENT=1 | Demote FR/ES tester fra streng til kun varsle (kun debugging). |
HIBIKI_MODEL_ID=<repo> | Overstyr standarden aufklarer/Hibiki-Zero-3B-MLX-4bit modell-ID. |
Ytelse (M2 Max, MLX 4-bit)
| Metrisk | Greedy | Samplet |
|---|---|---|
| Per-trinn latens | ~75 ms | ~95 ms |
| Vegg-klokke for 3.54 s FR-kilde | ~5 s | ~7 s |
| Utgangs varighet | 1.0-1.6× kilde | 1.0-1.6× kilde |
Kjente grenser
translateStream()sender ut en enkelt sluttbit. Strømmingsinngangspunktet omfavner for tiden den offlinetranslate(). True per-chunk Mimi streamingdekode er en v2 oppfølging.- Ingen SetningPiece-tekstdekoder.
--transcriptflagget skriver ut rå token-ID-er. SPM-dekode-kabeler er en oppfølging. - Forsterket modus er merkbart noisier enn grådig. Bruk
HIBIKI_GREEDY=1for reproducerbare kjøringer. - Quantization-only. Repoen frakter for tiden Zero-3B 4-bit og 8-bit; 1B og 2B Hibiki variantene finnes i konverteringeren (
models/hibiki/export/convert.py) men Swift driveren mål Zero-3B s GQA + tau_concat + ikke-konkurrert layout.
Referanser
- Papir: Høyfidelity Simultanous Speech-to-tal Oversettelse (Kyutai, 2025)
- Oppstrømskode: kyutai-labs/hibiki
- Prøver: kyutai/hibiki-null-prøver
- Lisens: CC-BY-4.0