Acesso no exterior: www.kdjingpai.com
Ctrl + D Marcar este site como favorito

O CosyVoice é um modelo de geração de fala multilíngue de código aberto que se concentra na tecnologia de conversão de texto em fala (TTS) de alta qualidade. Ele é compatível com a síntese de fala em vários idiomas e oferece recursos como geração de fala com amostra zero, clonagem de fala em vários idiomas e controle de emoção refinado.

O yVoice 2.0 reduz significativamente o erro de pronúncia de 30% para 50% em comparação com a versão anterior, com uma melhoria significativa na qualidade do som e na naturalidade rítmica, e um aumento na pontuação MOS de 5,4 para 5,53. O projeto oferece inferência completa, treinamento e suporte à implantação, e os desenvolvedores podem começar a usá-lo facilmente, tornando-o adequado para aplicativos como assistentes de voz, dublagem e criação de conteúdo multilíngue.

Serviços abertos:CosyVoice: projeto de código aberto de clonagem de voz de 3 segundos lançado por Ali com suporte para tags controladas emocionalmente

 

Lista de funções

  • Geração de fala com amostra zero: gera fala semelhante à voz alvo com base em amostras curtas de áudio sem treinamento adicional.
  • Síntese de fala em vários idiomas: suporta a geração de fala em vários idiomas, mantém a consistência do timbre e é adequado para a criação de conteúdo global.
  • Controle detalhado de emoções: suporta a adição de risos, pausas e outras expressões emocionais para gerar uma fala mais natural.
  • Ajuste de dialeto e sotaque: gere fala em dialetos específicos (por exemplo, Sichuan) ou sotaques para aprimorar a experiência de localização.
  • Síntese de fala em streaming: suporta saída de streaming de baixa latência com latência do primeiro pacote de até 150 ms, adequada para aplicativos em tempo real.
  • Suporte ao treinamento de modelos: fornece um processo completo de pré-treinamento de modelos e treinamento do zero para atender às necessidades do desenvolvedor.
  • Saída de som de alta qualidade: qualidade de som e ritmo otimizados, com uma pontuação MOS de 5,53, próxima aos níveis comerciais.

 

Usando a Ajuda

Processo de instalação

Para usar o CosyVoice, primeiro você precisa instalar o ambiente e as dependências necessárias. Abaixo estão as etapas de instalação detalhadas para garantir que os usuários possam configurar e executar o projeto rapidamente.

  1. Instalando o Conda
    A CosyVoice recomenda o uso do Conda para gerenciar seu ambiente. Acesse https://docs.conda.io/en/latest/miniconda.html Baixe e instale o Miniconda e, em seguida, crie e ative um ambiente virtual:

    conda create -n cosyvoice python=3.10
    conda activate cosyvoice
    

  1. Instalação de dependências
    Use o pip para instalar os pacotes Python necessários para o projeto. Por motivos de rede, é recomendável usar uma fonte espelho doméstica (por exemplo, Aliyun):

    pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com
    

    montagem pynini(para processamento de texto):

    conda install -y -c conda-forge pynini==2.1.5
    
  2. Solução de problemas de compatibilidade do sox
    Se estiver enfrentando problemas relacionados ao sox, instale o sox de acordo com seu sistema operacional:

    • Ubuntu::
      sudo apt-get install sox libsox-dev
      
    • CentOS::
      sudo yum install sox sox-devel
      
  3. Download do modelo pré-treinado
    O CosyVoice fornece vários modelos pré-treinados (por exemplo CosyVoice2-0.5BeCosyVoice-300MeCosyVoice-300M-SFT responder cantando CosyVoice-300M-Instruct). Os usuários podem baixar esses modelos do repositório do GitHub e colocá-los na pasta pretrained_models diretório. Faça também o download CosyVoice-ttsfrd recursos para dar suporte ao processamento de front-end de texto.
  4. Clonagem do código do projeto
    Clone o repositório do CosyVoice usando o Git e verifique se os submódulos estão carregados corretamente:

    git clone --recursive https://github.com/FunAudioLLM/CosyVoice.git
    cd CosyVoice
    git submodule update --init --recursive
    

Uso

O CosyVoice oferece uma variedade de módulos funcionais, incluindo geração de fala com amostra zero, síntese entre idiomas e geração de fala imperativa. Veja como ele funciona.

Geração de fala com amostragem zero

A geração de fala com amostra zero permite que o usuário gere fala com um timbre-alvo com base em amostras curtas de áudio. Por exemplo, para gerar uma fala com um timbre específico:

from cosyvoice import CosyVoice2
import torchaudio
cosyvoice = CosyVoice2('pretrained_models/CosyVoice2-0.5B', load_jit=False, load_trt=False, fp16=False)
prompt_speech_16k = torchaudio.load('./asset/zero_shot_prompt.wav')[0]
for i, j in enumerate(cosyvoice.inference_zero_shot(
'收到好友从远方寄来的生日礼物,那份意外的惊喜与深深的祝福让我心中充满了甜蜜的快乐,笑容如花儿般绽放。',
'希望你以后能够做的比我还好呦。',
prompt_speech_16k,
stream=False)):
torchaudio.save(f'zero_shot_{i}.wav', j['tts_speech'], cosyvoice.sample_rate)
  • procedimento::
    1. Prepare um áudio de sinalização de 16kHz (por exemplo zero_shot_prompt.wav).
    2. invocações inference_zero_shot passando o texto de destino, o texto de sinalização e o áudio.
    3. Salve o arquivo de voz gerado.
  • tomar nota dePara reproduzir os resultados do site oficial, defina a opção text_frontend=False.

síntese de fala em vários idiomas

A síntese entre idiomas suporta a geração de fala multilíngue com timbre consistente. Por exemplo, a geração de discurso com risadas:

for i, j in enumerate(cosyvoice.inference_cross_lingual(
'在他讲述那个荒诞故事的过程中,他突然[laughter]停下来,因为他自己也被逗笑了[laughter]。',
prompt_speech_16k,
stream=False)):
torchaudio.save(f'fine_grained_control_{i}.wav', j['tts_speech'], cosyvoice.sample_rate)
  • procedimento::
    1. Prepare o áudio de sinalização.
    2. Adicione tags de sentimento ao texto (por exemplo [laughter]), para rótulos específicos suportados, consulte cosyvoice/tokenizer/tokenizer.py#L248.
    3. Salve o arquivo de voz gerado.

Geração de fala baseada em comandos

O Command Generation suporta a especificação de dialetos ou estilos. Por exemplo, a geração do discurso do dialeto de Sichuan:

for i, j in enumerate(cosyvoice.inference_instruct2(
'收到好友从远方寄来的生日礼物,那份意外的惊喜与深深的祝福让我心中充满了甜蜜的快乐,笑容如花儿般绽放。',
'用四川话说这句话',
prompt_speech_16k,
stream=False)):
torchaudio.save(f'instruct_{i}.wav', j['tts_speech'], cosyvoice.sample_rate)
  • procedimento::
    1. Forneça o texto-alvo e as instruções (por exemplo, "Speak in Sichuan").
    2. Gerar fala usando áudio solicitado.
    3. Salve o arquivo de saída.

síntese de streaming

A síntese de streaming é adequada para aplicativos em tempo real, com latência do primeiro pacote tão baixa quanto 150 ms. stream=True Você pode ativar a saída de streaming, consulte o exemplo acima para obter o código específico.

Outras considerações

  • Seleção de modelosUso recomendado CosyVoice2-0.5B para obter qualidade de som e desempenho ideais.
  • Configuração do ambienteVerifique se a versão do Python é a 3.10 e se as dependências estão instaladas corretamente.
  • ajustar os componentes durante o testeSe a clonagem do submódulo falhar, execute-a várias vezes git submodule update --init --recursive Até que funcione.
  • referência de documentaçãoPara obter mais detalhes, consulte cosyvoice/tokenizer/tokenizer.py e documentação oficial https://funaudiollm.github.io/cosyvoice2.

 

cenário do aplicativo

  1. Desenvolvimento do assistente de voz
    A síntese de streaming de baixa latência e o suporte a vários idiomas do CosyVoice são ideais para o desenvolvimento de assistentes de voz inteligentes. Os desenvolvedores podem personalizar rapidamente os tons personalizados com geração de amostra zero e gerar respostas de voz naturais e suaves para aprimorar a experiência de interação com o usuário.
  2. Criação de conteúdo multilíngue
    Os criadores de conteúdo podem usar a síntese entre idiomas para gerar rapidamente locuções multilíngues. Por exemplo, gere vozes para vídeos ou podcasts em inglês, chinês ou outros idiomas para manter um tom consistente e reduzir os custos de produção.
  3. Educação e aprendizado de idiomas
    O CosyVoice suporta controle de dialeto e emoção e pode ser usado em aplicativos de aprendizagem de idiomas para gerar fala com um sotaque ou emoção específicos para ajudar os alunos a praticar a audição e a pronúncia.
  4. Dublagem de filmes, TV e jogos
    Os desenvolvedores de filmes, TV e jogos podem usar o controle refinado de emoções para gerar falas com efeitos como risos e pausas para aprimorar a expressão dos personagens e melhorar a imersão de seu trabalho.

 

QA

  1. Quais idiomas são suportados pelo CosyVoice?
    O CosyVoice oferece suporte à síntese de fala em vários idiomas, cuja lista pode ser encontrada na documentação oficial ou na página cosyvoice/tokenizer/tokenizer.py Exibição em, abrangendo idiomas comuns e alguns dialetos.
  2. Como reduzir a latência da geração de fala?
    Usando o modo de síntese de streaming (stream=True) pode reduzir a latência do primeiro pacote para 150 ms. Certifique-se de que o uso de hardware de alto desempenho e modelos otimizados (como o CosyVoice2-0.5B).
  3. É necessário treinar o modelo?
    Não. O CosyVoice fornece modelos pré-treinados que podem ser baixados e usados diretamente. Se precisar personalizá-lo, você pode consultar a documentação oficial para treiná-lo do zero.
  4. Como faço para adicionar um tom personalizado?
    fazer uso de inference_zero_shot passe a amostra de áudio de destino e o texto de sinalização para gerar um tom personalizado. O salvamento das informações do tom pode ser feito chamando o método cosyvoice.add_zero_shot_spk.
0Marcado
0Recomendado

Recomendado

Não consegue encontrar ferramentas de IA? Tente aqui!

Basta digitar a palavra-chave Acessibilidade Bing SearchA seção Ferramentas de IA deste site é uma maneira rápida e fácil de encontrar todas as ferramentas de IA deste site.

caixa de entrada

Entre em contato conosco

voltar ao topo

pt_BRPortuguês do Brasil