Strojový překlad · Anglický originál
CosyVoice3
CosyVoice3 lokálně na Mac s MLX pro řeč v devíti jazycích a klonování hlasu z krátkého záznamu. Poslechněte si výchozí, klonované a stylově řízené příklady, pak zkuste klonování s referenčním audio a jeho přesný přepis.
Vzorky zvuku · Klone hlas s CLI · Podporované jazyky · Plné pětijazyčné hlasové-klonování srovnání a metodika
Vzorky zvuku
Poslechněte si stávající výchozí hlas, klon vyrobený z Kokoro af _ heart a style- controlled příklad. Níže uvedený příklad CLI používá samostatný odkaz FLEURS.
8- bit syntéza CosyVoice3 s pevným semenem.
CosyVoice3 klonování z referenčního klipu Kokoro af _ heart.
Světlé, vzrušující dodání pomocí --cosy-instruct.
Klone hlas s CLI
Stáhnout Referenční audio jako reference.wav Příkaz používá svůj přesný přepis; při použití vlastního hlasového vzorku nahrazuje záznam i přepis.
speech speak "Hello from the cloned voice." \
--engine cosyvoice \
--cosyvoice-variant bf16 \
--voice-sample reference.wav \
--cosy-reference-transcript "One can only wonder what the keyboard will become when something newer comes along." \
--seed 42 \
--output clone.wav
CosyVoice 3 vs 3.5 dostupnost
Tento průvodce a runtime Soniqo podporují otevřené Fun-CosyVoice 3-0.5B (3.0) Řádek. oficiální úložiště open-source aktuálně zveřejňuje a dokumentuje 3.0 - včetně Fun-CosyVoice3-0.5B-2512- a neodhaluje CosyVoice 3.5 závaží nebo odvozovací kód. cosyvoice-v3.5-plus Název je Alibaba Cloud Model Studio API model ID, není stažitelný kontrolní bod v tomto úložišti, takže Soniqo nepožaduje místní podporu 3.5.
Podporované jazyky
| Jazyk | Kód |
|---|---|
| Čínština | čínština |
| English | angličtina |
| japonsky | japonština |
| Korejština | korejský |
| Němčina | Německo |
| Španělština | španělština |
| Francouzština | francouzština |
| Italština | italský |
| Ruský | ruština |
Potrubí
CosyVoice3 syntetizuje řeč ve třech etapách:
- LLM - Qwen2.5-0.5B páteř generuje FSQ (Finite Scarar Kvantification) řečové tokeny z textu
- Odpovídající tok diT - 22- layer Difuzní transformátor konvertuje řečové tokeny na mel spektrogramy prostřednictvím Euler ODE integrace
- HiFi- GAN - Vokodér Neruálního zdroje konvertuje mel spektrogramy na vlnové formy 24 kHz
Architektura
LLM (Qwen2.5-0.5B)
Aktuální runtime podporuje bf16 (přednastaveno), 8bit a 8bit- full. Vyberte svazek s --cosyvoice-variant. Jazykový model generuje diskrétní řečové tokeny automaticky.
| Parametr | Hodnota |
|---|---|
| Vrstvy | 24 |
| Skrytá dimenze | 896 |
| Hlavy dotazu | 14 |
| Hlavy klíčů / hodnoty | 2 (GQA) |
| Slovník FSQ | 6561 |
| Kvantizace | bf16 / 8- bit |
Odpovídající tok diT
Difuzní transformátor zpřesňuje řečové tokeny na mel spektrogramy pomocí podmíněného spojení toku s bezklasifikovaným vedením.
| Parametr | Hodnota |
|---|---|
| Vrstvy | 22 |
| Rozměr | 1024 |
| Pozor, hlavy | 16 |
| Stabilizace | AdaLN (adaptivní layer norm) |
| Řešitel ODE | Euler, 10 kroků |
| Sazba CFG | 0.7 |
HiFi- GAN Vocoder
Vokodér s neurologickým zdrojem (NSF), který konvertuje mel spektrogramy na vlnové formy.
| Parametr | Hodnota |
|---|---|
| Harmonické | 8 |
| Poměr nahoru | 480x (8 x 5 x 3 x ISTFT 4) |
| ISTFT | n _ fft = 16, hop = 4 |
| Výstupní vzorkovací rychlost | 24 kHz |
Vzorové váhy
| Varianta | LLM | DiT | Velikost | HuggingFace |
|---|---|---|---|---|
8bit | int8, skupina = 64 | bf16 | ~ 1.4 GB | aufklarer / CosyVoice3-0.5B-MLX-8bit |
8bit-full | int8, skupina = 64 | int8, skupina = 64 | ~ 1.6 GB | aufklarer / CosyVoice3-0.5B-MLX-8bit-full |
bf16 | bf16 | bf16 | ~ 2,1 GB | aufklarer / CosyVoice3-0.5B-MLX-bf16 |
Každý svazek obsahuje LLM, diT flow- odpovídající dekodér, HiFi-GAN vokodér, a S3-Tokenizer referenční enkodér potřebný pro nulo-shot hlasové klonování. Vyberte menší balíky pro menší stahování / disk stopy; vybrat bf16 když se stává problémem zvuk kvantifikace LLM / DiT (syntéza dlouhotrvající formy, loajalita klonování hlasu).
Použití CLI
# Default bf16 bundle
.build/release/speech speak "Hallo Welt" --engine cosyvoice --language german -o output.wav
# Pick a variant via --cosyvoice-variant
.build/release/speech speak "Hallo Welt" --engine cosyvoice --cosyvoice-variant bf16 --language german -o output.wav
Příklady
# English
.build/release/speech speak "Hello, how are you?" --engine cosyvoice -o hello_en.wav
# Chinese
.build/release/speech speak "你好世界" --engine cosyvoice --language chinese -o hello_cn.wav
# Spanish
.build/release/speech speak "Hola, buenos días" --engine cosyvoice --language spanish -o hello_es.wav
# French
.build/release/speech speak "Bonjour le monde" --engine cosyvoice --language french -o hello_fr.wav
Klonování hlasu
Klonujte jakýkoliv hlas z krátkého referenčního zvukového vzorku pomocí --voice-sample vlajka. CosyVoice3 používá CAM + + reproduktor pro extrahování 192-dim vkládání, které podmínky DiT průtok model.
# Voice cloning
.build/release/speech speak "Hello in your voice" --engine cosyvoice --voice-sample reference.wav --cosy-reference-transcript "One can only wonder what the keyboard will become when something newer comes along." -o cloned.wav
# Cross-language: clone voice, speak in German
.build/release/speech speak "Guten Tag" --engine cosyvoice --voice-sample reference.wav --cosy-reference-transcript "One can only wonder what the keyboard will become when something newer comes along." --language german -o german.wav
Jak to funguje
- CAM + + reproduktor enkodér výtažky a 192-dim vložení z referenčního zvuku přes CoreML (Neural Engine)
- Projekce funkce (192 → 80) podmínky DiT tok odpovídající dekodér na cílovém hlasu
- HiFi- GAN vokodér konvertuje speaker- stabilizovaný mel spektrogram na 24kHz audio
Reproduktor Encoder
| Vlastnost | Hodnota |
|---|---|
| Vzor | CAM + + (Maskování v context- Aware + +) |
| Vložení | 192 rozměrů |
| Backend | CoreML (Neural Engine, FP16) |
| Velikost | ~ 14 MB |
| HuggingFace | aufklarer/CamPlusPlus-Speaker-CoreML |
Model CAM + + se automaticky stáhne při prvním použití --voice-samplePodívej se na to. Klonování hlasu návod pro referenční audio tipy a Swift API.
Multi- Speaker Dialog
Syntetizovat rozhovory mezi více reproduktory pomocí inline reproduktor tagy. Každý reproduktor je přidělen hlas z referenčního audio souboru prostřednictvím --speakers Vlajka.
# Two-speaker dialogue with voice cloning
.build/release/speech speak "[S1] Hello there! [S2] Hey, how are you?" \
--engine cosyvoice --speakers s1=alice.wav,s2=bob.wav -o dialogue.wav
# Three speakers
.build/release/speech speak "[A] Welcome. [B] Thanks! [C] Glad to be here." \
--engine cosyvoice --speakers a=host.wav,b=guest1.wav,c=guest2.wav -o panel.wav
Jména reproduktorů ve štítcích jsou case- insensitive a odpovídají klávesám pro mapování. Mezi závity se vkládá konfigurovatelná mezera ticha (výchozí 0.2s).
| Možnost | Výchozí | Popis |
|---|---|---|
--speakers | Mapování reproduktorů: s1=file.wav,s2=file.wav | |
--turn-gap | 0.2 | Ticho mezi zatáčkami (sekundy) |
--crossfade | 0.0 | Překrývání příčného sklonu mezi závity (sekundy) |
Emoce & amp; Značky stylu
Ovládat styl mluvení na segment pomocí inline emocí tagy. CosyVoice3 používá text prefix před <|endofprompt|> token jako styl instrukce - emoční tagy mapa k přírodním jazykovým instrukcím, které nahrazují tuto předponu.
# Emotion tags
.build/release/speech speak "(excited) Wow, amazing! (sad) But I have to go..." \
--engine cosyvoice -o emotion.wav
# Combined with speakers
.build/release/speech speak "[S1] (happy) Great news! [S2] (surprised) Really?" \
--engine cosyvoice --speakers s1=alice.wav,s2=bob.wav -o combined.wav
# Freeform instruction as tag
.build/release/speech speak "(Speak like a pirate) Ahoy matey!" \
--engine cosyvoice -o pirate.wav
# Global instruction (applies to all segments without emotion tags)
.build/release/speech speak "Hello world" \
--engine cosyvoice --cosy-instruct "Speak cheerfully" -o cheerful.wav
Built- v emotion tagy
| Značka | Návod |
|---|---|
happy / excited | Mluv šťastně a s nadšením. |
sad | Mluvte smutně melancholickým tónem. |
angry | Mluv se vztekem a intenzitou. |
whispers / whispering | Mluv jemným, jemným šeptem. |
laughs / laughing | Mluv, když se směješ. |
calm | Mluv klidně a klidně. |
surprised | Mluv s překvapením a překvapením. |
serious | Mluv seriózně, formálně. |
Neznámé značky projít jako freeform instrukce, takže (Speak in a slow, dramatic voice) Funguje jako... je.
Modelové ovládací tokeny (fl_ žetony)
CosyVoice3 LLM interně používá speciální ovládací žetony - přednastavené fl_ - přepínat mezi režimy (0-shot klonování, instruktážní syntéza, uložení reproduktoru, atd.). Tyto tokenizéry jsou součástí předního FunAudiollM tokenizer; runtime Soniqo vysílá ten správný automaticky na základě vlajky CLI nebo Swift API, který vám zavolá, takže je nikdy nenapíšete ručně.
| Značka ovládání | Režim | Jak se dovolávat Soniqo |
|---|---|---|
<|fl_speaker_clone|> | Zeroshot hlasové klonování z referenčního zvukového vzorku | Projít --voice-sample reference.wav na CLI, nebo set voiceSample: na Swift API. |
<|fl_speaker_instruct|> | Instruction- nebo style- stabilizovaná syntéza s výchozím hlasem | Projít --cosy-instruct "Speak cheerfully" nebo použít inline (happy) Značka bez --voice-sample. |
<|fl_speaker_instruct2|> | Instruktorní syntéza kombinovaná s klonovaným referenčním hlasem | Kombinovat --voice-sample reference.wav s --cosy-instruct "..." (nebo inline emoční tag) ve stejném volání. |
<|fl_save_speaker|> | Insist reproduktor je vkládání pro opakované použití bez překódování referenční zvuk každé volání | Ne přímo vystavený v Soniqo CLI - embeddings jsou vypočteny na jeden hovor. Chcete-li cache, extrahovat 192-dim CAM + + vektor sami prostřednictvím Reproduktor Embeddings Modul a předat dopředu. |
<|fl_speaker_clone_zh|>, <|fl_speaker_clone_en|>, … | Jazykové-specifické nula-shot klonování rady používané proti tokenizer | Kombinovat --voice-sample s --language german|spanish|chinese|.... Soniqo vybere správný jazyk náznak z --language Vlajka. |
Tabulka výše mapuje každý proti proudu fl_ ovládací symbol k jeho ekvivalent Soniqo. Nikdy není třeba splice fl_ tokeny do vaší objednávky sami - předat high-level CLI vlajky nebo Swift API argumenty a runtime bude emitovat správnou posloupnost: klon → instructive → instruct2 → uložit _ reproduktor.
Výběr vzorku
Stadium LLM využívá tuto konfiguraci odběru vzorků:
| Parametr | Hodnota |
|---|---|
| Top- k | 25 |
| Top- p | 0.8 |
| Opakovat odběr vzorků z Aware | Povoleno (okno = 10, tau _ r = 0.1) |
Opakování odběru vzorků Aware (RAS), z VALL-E 2, penalizuje tokeny, které se objevily v posledních 10 generovaných tokeny. To zabraňuje opakování zvukových artefaktů a zlepšuje stabilitu výstupu.
Výkonnost
Na M2 Max, CosyVoice3 dosáhne RTF přibližně 0.5 - rychleji než reálný čas.
| Fáze | Trvání |
|---|---|
| LLM (sestaveno) | ~ 13 ms / token |
| Odpovídající tok diT | 370 - 520 ms |
| HiFi- GAN | 50 - 170 ms |
Kvantifikované varianty LLM (8-bit / 8- bit- full) compile(shapeless: true) pro autoregresivní smyčku, která eliminuje rekompilaci režie v různých délkách sekvence. bf16 varianta skips, které sestavují - MLX-Swift je netvarovaný stopovač nemůže infiltruje výstupní tvar bias- taveného matmul, že plain Linear používá - a běží generační smyčku dychtivě. Batch- double CFG snižuje počet DiT posuv z 20 do 10 ve všech variantách.
Qwen3-ASR speech-to-text · Parakeet TDT speech-to-text · Kokoro-82M TTS