Konekäännös · Englanninkielinen alkuperäinen

CosyVoice3

Suorita CosyVoice3 paikallisesti Mac MLX puheen osalta yhdeksällä kielellä ja äänen kloonaus lyhyestä tallennuksesta. Kuuntele oletus-, kloonattu- ja tyyliohjattuja esimerkkejä, kokeile sitten kloonaamista viiteäänellä ja sen täsmällisellä kirjoituksella.

Ääninäytteet · Kloonaa ääni CLI:n kanssa · Tuetut kielet · Täysi viiden kielen ääni-kloonaus vertailu ja menetelmät

Ääninäytteet

Kuuntele olemassa olevaa oletusääntä, Kokoro af_heartista tehtyä kloonia ja tyyliohjattua esimerkkiä. Alla olevassa CLI-esimerkissä käytetään erillistä FLEURS -viittausta.

Epäonnettomuus Englanti CosyVoice3 8-bittinen

8-bittinen CosyVoice3 synteesi kiinteällä siemenellä.

Voice klone af_heart reference

CosyVoice3 kloonaaminen Kokoro af_sydänviittausleikkeestä.

Tyylikäs opetus --cosy-instruct

Kirkas, jännittynyt toimitus, jossa käytetään --cosy-instruct.

Kloonaa ääni CLI:n kanssa

Lataa Reference audio referenssiksi.wav. Komento käyttää tarkkaa transkriptiotaan; korvaa sekä nauhoituksen että transkription, kun käytät omaa ääninäytettäsi.

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 käytettävyys

Mikä Soniqo tukee

Tämä opas ja Soniqo:n ajoaika tukevat avointa Fun-CosyVoice 3-0.5B (3.0) Linja. virallinen avoimen lähdekoodin arkisto tällä hetkellä julkaistaan ja asiakirjoja 3.0...mukaan lukien Fun-CosyVoice3-0.5B-2512 Ei paljasta CosyVoice 3.5-painoja eikä päättelykoodia. cosyvoice-v3.5-plus Nimi on Alibaba Cloud Model Studio API malli ID, ei ladattava tarkistuspiste tässä arkistossa, joten Soniqo ei vaadi paikallista 3.5 tukea.

Tuetut kielet

Kieli Koodi
kiina kiinalaista
Finnish englanti
japanijapani
korea koreanName
Saksa saksa
espanja espanja
ranska ranska
italiaItalia
Venäjä Venäjä

Putkijohto

CosyVoice3 syntetisoi puheen kolmessa vaiheessa:

  1. LLM ... Qwen2.5-0.5B runko tuottaa FSQ:n (Finite Scalar Qantization) puhemerkit tekstistä.
  2. DiT Virtausvastaavuus ... .. A 22-kerroksinen diffuusiomuuntaja muuntaa puhemerkit melspektrogrammeiksi Euler ODE -integroinnin avulla.
  3. HiFi-GAN ... Neuraal Source Filter vocoder muuntaa mel spektrogrammit 24 kHz:n aaltomuodoiksi

Arkkitehtuuri

LLM (Qwen2.5-0.5B)

Nykyinen ajoaika tukee bf16 (oletus), 8bit ja 8bit-täysi. Valitse nippu, jossa on --cosyvoice-variant. Kielimalli tuottaa erillisiä puhemerkkejä automaattisesti.

Parametri Arvo
Tasot24
Piilotettu ulottuvuus896
Kyselypäät14
Avain/arvopäät2 (GQA)
FSQ-sanasto6561
Määräbf16 / 8-bittinen

DiT-virran vastaavuus

Diffuusiomuuntaja jalostaa puheen rahakkeita mel-spektrogrammeiksi käyttämällä ehdollista virtausta, joka vastaa luokittelutonta ohjausta.

Parametri Arvo
Tasot22
Mitat1024
Huomio!16
HoitoAdaLN (Adaptive Layer Norm)
ODE:n ratkaisijaEuler, 10 askelmaa
CFG:n osuus0.7

HiFi-GAN Vocoder

Neural Source Filter (NSF) vocoder, joka muuntaa mel spektrogrammit aaltomuotoja.

Parametri Arvo
Harmoniikka8
Yläotoksen suhde480x (8 x 5 x 3 x ISTFT 4)
ISTFTn_fft = 16, hyppy = 4
Otosotosnopeus24 kHz

Mallin painot

VarianttiLLMDiT KokoHuggingFace
8bitint8, ryhmä=64bf16~1,4 GBaufklarer/CosyVoice3-0.5B-MLX-8bit
8bit-fullint8, ryhmä=64int8, ryhmä=64~1,6 GBaufklarer/CosyVoice3-0.5B-MLX-8bit-full
bf16bf16bf16~2,1 GBaufklarer/CosyVoice3-0.5B-MLX-bf16

Jokaiseen nippuun sisältyy LLM, DiT-virtaajaa vastaava dekooderi, HiFi-GAN-äänenvaimentaja ja S3-Tokenizer -vertailukoodain, jota tarvitaan nollaäänen kloonaukseen. Valitse pienempiä nippuja pienempään lataamiseen / levynjalanjälkeen; poimi bf16 kun LLM/DiT-määrällistä melua tulee ongelmaksi (pitkämuotoinen synteesi, äänen kloonaus fedellity).

CLI-käyttö

# 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

Esimerkit

# 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

Äänen kloonaus

Kloonaa kaikki ääni lyhyen viiteääninäytteen avulla --voice-sample lippu. CosyVoice3 käyttää CAM++-kaiutinkoodainta poimiakseen 192-diimin, joka peittää diT-virtausmallin.

# 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

Miten se toimii

  1. CAM++-kaiutinkooderi uutteet 192-dim upottamalla viiteäänestä CoreML (Neural Engine)
  2. Affine projection (192 → 80) ehdot DiT-virtaa vastaava dekooderi kohdeäänellä
  3. HiFi-GAN-vocoder muuntaa kaiuttimen ilmastoidun mel-spektrogrammin 24kHz-ääneksi

Kaiutinkooderi

Omaisuus Arvo
MalliCAM++ (Context-Aware Masking++)
Upottaminen192 ulottuvuutta
TaustaosaCoreML (Neural Engine, FP16)
Koko~14 Mt
HuggingFaceaufklarer/CamPlusPlus-Speaker-CoreML

CAM++-malli ladataan automaattisesti, kun käytetään ensimmäistä kertaa --voice-sample. Katso Voice Cloning -opas viiteäänivinkkejä varten ja Swift API.

Monipuheinen vuoropuhelu

Useiden puhujien väliset yhteenkokoamiskeskustelut käyttäen inline-kaiutintunnisteita. Jokainen kaiutin on osoitettu ääni viiteäänitiedostosta --speakers -lipun kautta.

# 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

Kaiuttimen nimet tageissa ovat tapaus-herkkiä ja sopivat kartoitusavaimiin. Asennettava hiljaisuusväli (oletusarvo 0,2s) lisätään vuorojen väliin.

VaihtoehtoOletus Tavaran kuvaus
--speakersKaiutinkartoitus: s1=file.wav,s2=file.wav
--turn-gap0.2Hiljaisuus kierrosten välillä (sekunteja)
--crossfade0.0Crossfade päällekkäisyys kierrosten välillä (sekuntia)

Emotion & Style Tunnisteet

Ohjaa puhumistyyliä segmenttiä kohti käyttäen inline-tuntemustunnisteita. CosyVoice3 käyttää tekstin etuliitettä ennen <|endofprompt|> kuponkia tyyliohjeena ... emotional tags karttaan, joka korvaa tämän etuliitteen.

# 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

Sisäänrakennettu tunnetagit

Merkintä Ohje
happy / excited Puhu iloisesti ja jännityksellä.
sad Puhu surullisesti melankolisella äänellä.
angry Puhu vihalla ja intensiteetillä.
whispers / whispering Puhu pehmeästi ja lempeästi.
laughs / laughing Puhu nauraen.
calm Puhu rauhallisesti ja rauhallisesti.
surprised Puhu yllätyksin ja hämmästyksin.
serious Puhukaa vakavalla ja muodollisella äänellä.

Tuntematon tagi kulkee vapaamuotoisina ohjeina, joten (Speak in a slow, dramatic voice) toimii sellaisena kuin se on.

Malli Control Tokens (fl_ tokens)

Sisäisesti CosyVoice3 LLM käyttää erityisiä ohjauspoletteja fl_ . Nämä kuponkit ovat osa yläjuoksulla FunAudioLLM tokeneizer; Soniqo runtime lähettää oikean automaattisesti perustuu CLI lippu tai Swift API soittaa käytät, joten et koskaan kirjoittaa niitä käsin.

Hallintamerkki Tila Kuinka vedota Soniqo
<|fl_speaker_clone|>Nollaäänen kloonaus viiteääninäytteestäOhita --voice-sample reference.wav CLI:ssä tai aseta voiceSample: on the Swift API.
<|fl_speaker_instruct|> Ohje- tai tyyli-ehdollinen synteesi oletusäänelläOhita --cosy-instruct "Speak cheerfully" tai käytä inline (happy) tagi ilman --voice-sample.
<|fl_speaker_instruct2|> Ohjesynteesi yhdistettynä kloonattuun viiteääneen Yhdistä --voice-sample reference.wav ja --cosy-instruct "..." (tai inline emotion tag) samassa kutsussa.
<|fl_save_speaker|>Tunnista kaiuttimen uudelleenkäyttöä varten asentamatta uudelleen viiteääntä jokaiseen puheluun Ei ole suoraan altistunut Soniqo CLI ... upotukset lasketaan puhelua kohti. Välimuistiin, ota 192-dim CAM++ -vektori itse Kaiuttimen upotukset -moduulin kautta ja siirry eteenpäin.
<|fl_speaker_clone_zh|>, <|fl_speaker_clone_en|>, … Alkuvaiheen instrumenttilaitteen käyttämät kielikohtaiset nolla-ampuvat kloonausvinkit Yhdistä --voice-sample kun --language german|spanish|chinese|.... Soniqo valitsee oikean kielen vihjeen --language Lippu.
Jos olet siirtämässä FunAudioLLM/CosyVoice

Taulukko edellä karttoja kukin ylävirtaan fl_ Control polet sen Soniqo-ekvivalentin. Sinun ei tarvitse koskaan liittää fl_ poletit sinun pikaviestissäsi ... ojenna korkean tason Clien liput tai Swift API-parametrit ja ajoaika lähettää oikean sekvenssin: klooni → ohje → instruct2 → save_speaker.

Näytteenotto

LLM vaiheessa käytetään seuraavaa näytteenottokokoonpanoa:

Parametri Arvo
Yläk25
Ylä-p0.8
Uusintatietoinen näytteenotto Käytössä (ikkuna = 10, tau_r=0.1)

Toistaminen Aware Sampling (RAS), alkaen VALL-E 2, rankaisee rahakkeita, jotka ilmestyivät viimeisten 10 luotua kuponkia. Tämä estää toistuvia ääniesineitä ja parantaa tuotannon vakautta.

Tulos

M2 Max, CosyVoice3 saavuttaa RTF noin 0,5 .

VaiheLatenssi
LLM (yhdistetty)~13 ms/token
DiT-virran vastaavuus370-520 ms
HiFi-GAN50- 170 ms
Kokoaminen

Kvantitoitu LLM variantit (8-bittinen / 8-bit-täydellinen) käyttö compile(shapeless: true) autoregressiivinen silmukka, joka poistaa rekompilaatio yläpuolella eri sekvenssipituudet. bf16 variantti hypätä, joka kokoaa . MLX-Swiftin muototon merkki ei voi päätellä ulostulon muoto harhaan fuusioitu matmul, joka tasanko Linear käyttää . Erän tuplannut CFG puolittaa diT eteenpäin kulkee 20:stä 10:een kaikissa varianteissa.