Traduzione automatica · Originale inglese

Hibiki Zero-3B Speech Traduzione (FR / ES / PT / DE → EN)

Hibiki Zero-3B è Kyutai's traduzione vocale-to-speech in streaming modello — input è un 24 flusso audio kHz in francese, spagnolo, portoghese o tedesco; output è un 24 flusso audio inglese kHz più una trascrizione di testo inglese parallela allo stesso 12.5 Hz frame rate. Costruito sulla Moshi/Mimi architettura multistream: un unico trasformatore decoder modella congiuntamente il flusso codec sorgente-audio e i flussi di testo + audio target, quindi non c'è nessun separato ASR + MT + TTS - Il gasdotto. Soniqo costruire funziona come quantizzato MLX custodi (in inglese)INT4 predefinito, INT8 disponibile) interamente su Apple Silicon. CC-BY-4.0.

Quando raggiungere per Hibiki vs. ASR + MADLAD

Pipe-style ASR + MADLADspeech transcribe | speech translate) ti ottiene lingue 400+ ma aggiunge la latenza di andata e ritorno di tre modelli. Hibiki è un modello end-to-end e preserva la prosodia — sceglilo quando hai bisogno discorso dal vivo nella lingua di destinazione piuttosto che solo messaggi.

Avvio rapido

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

Architettura

Hibiki Zero-3B è un trasformatore multi-stream a decoder di tipo 3.1b. Flussi 33 per frame: un flusso di testo, codebook audio target-audio 16 (output dell'agente), e codebook audio sorgente 16(ingresso dell'utente). Ad ogni ms 80 inquadrare i campioni di modello un token di testo più codici audio 16 tramite un piccolo 6-layer Depformer che esegue sotto-step 16 per frame, uno per codebook di destinazione, con una proiezione MultiLinear programmata 9-slice.

Il codec audio è Mimi a 12.5 Hz / 16 codebooks. L'audio sorgente è codificato nei codebook sorgente 16 (delay [0, 2, 2, …, 2]); l'audio di destinazione generato riempie i codebook di riferimento 16 (stesso modello di ritardo); per-codebook un-shift viene applicato prima che Mimi decodichi il bersaglio di nuovo a 24 kHz inglese PCM. La spina dorsale temporale è 28 GQA strati (dim = 2048teste di query 16, teste 8 KV, kv_repeat = 2, RoPE a metà rope_concat, nessun condizionatore — Zero è la variante incondizionata).

Decode Loop

Hibiki emette gettoni imbottitura SPM (id 3) mentre si accumula abbastanza contesto sorgente per tradurre, quindi contenuti di testo token con corrispondente audio di destinazione, e infine testo-EOS (id 2). Funziona il driver Swift fino a quando EOS viene campionato oltre la finestra di origine, incappucciato max(tSrc × 5/2, tSrc + 20) passi come limite di sicurezza. L'uscita viene eseguita approssimativamente 1.0–1.6× la durata di ingresso su clip in stile FLEURS; i chiamanti non devono assumere output_duration == input_duration.

Il percorso di feedback autoregressivo non è ovvia: a passo TITOLO il trasformatore legge i gettoni nell'indice della cache passo passo (uniforme in tutti i flussi 33, con sostituzione init-token quando step ≤ delays[k]); il testo campione + i codici target 16 sono scritti indice passo + 1. Questo rispecchia a monte Moshi lm.py dove state.offsets += 1 succede prima che la cache si disperda. text_emb fila per EOS (id 2) è alias per filare 3 (PAD) a tempo di carico di peso, rispecchiando Kyutai's loaders.py:312 "Sostituire in modo implicito EOS precoce con PAD" patch - qualsiasi EOS campionato durante la finestra audio-streaming è innocuo, solo EOS post-source termina il loop.

Varianti di modello

VarianteQuantificazioneDimensioneCompetenzeHuggingFace
Hibiki Zero-3BINT4~2,7 GBMetal GPU (MLX)aufklarer/Hibiki-Zero-3B-MLX-4bit
Hibiki Zero-3BINT8~3.9 GBMetal GPU (MLX)aufklarer/Hibiki-Zero-3B-MLX-8bit

Copertura linguistica

Hibiki Zero-3B è addestrato su francese, spagnolo, portoghese e tedesco → Inglese . Il driver Swift rileva automaticamente la lingua di origine; la bandiera --source-lang è solo metadati.

FonteStatoEmissione di avidità campione
FR: FRCanario E2E Strict"così è un percorso sciistico" (da "Pensez à l'itinéraire de ski...")
ESCanario E2E Strict"gentili, i dati sono preoccupanti." (Hibiki europarl sample)
PTSolo Warn (contenuto-fedele, richiamo parola chiave inferiore)"il quinto c è p del martire." ( FLEURS PT)
DESolo Warn (contenuto-fedele, richiamo parola chiave inferiore)"che non mi sembrava utile." (FLEURS DE)
FLEURS Lo spagnolo è fuori distribuzione

16 kHz umano registrato FLEURS Le clip spagnole innescano una generazione degenerata in entrambi i casi Python a monte e Swift porto (Python emittenti 1643 passi /131 s di audio rotto senza campionamento EOS). Swift Il canario di regressione ES utilizza 5 s estratto tagliato dallo spazio dei campioni di Kyutai (kyutai/hibiki-zero-samples) 24 kHz TTS-generato audio, che corrisponde alla distribuzione di allenamento e produce l'inglese pulito. Se si sta alimentando lo spagnolo Hibiki in produzione, pre-resample a 24 kHz e bastone a clip più lunghi (5 s+).

Variabili dell'ambiente

VariabileEffetti
HIBIKI_GREEDY=1Forza decodifica argmax sia per il testo che per l'audio di destinazione. Riproducibile — utilizzato dai canari CI rigorosi.
HIBIKI_E2E=1Abilitare i casi di test E2E (richiede il download del modello ~2.7 GB).
HIBIKI_STRICT_ALL=1Promuovere test PT/DE da avvertire solo a rigoroso.
HIBIKI_LENIENT=1Demote i test FR/ES da severi a solo avvertimento (solo per il debug).
HIBIKI_MODEL_ID=<repo>Override the default aufklarer/Hibiki-Zero-3B-MLX-4bit model id.

Prestazioni (M2 Max, MLX 4-bit)

MetricoAviditàSampled
Latenza per passo- 75 m.- 95 m.
Orologio da parete per la sorgente di FR da 3,54 s- 5.- 7.
Durata dell'uscita1,0–1.6× sorgente1,0–1.6× sorgente

Limitazioni conosciute

Riferimenti