Aprendizagem pessoal com IA
e orientação prática

EmotiVoice: mecanismo de conversão de texto em fala com controles de várias vozes e sugestões emocionais

Introdução geral

O EmotiVoice é um mecanismo de conversão de texto em fala (TTS) com várias vozes e controle de dicas emocionais desenvolvido pela NetEaseYoudao. Esse mecanismo TTS de código aberto é compatível com inglês e chinês, tem mais de 2.000 vozes diferentes e recursos de síntese de emoções para criar vozes com várias emoções, como alegria, excitação, tristeza e raiva. Ele oferece uma interface WEB fácil de usar e resultados de geração em lote da interface de script.

Hospedado no endereço de demonstração do Replicate


EmotiVoice: mecanismo de conversão de texto em fala com controle de várias vozes e sugestões emocionais-1

 

Lista de funções

Fornecer interface WEB e interface de processamento em lote de scripts
Suporte para síntese de emoções
Várias opções de som
Suporte à síntese em chinês e inglês

 

 

Usando a Ajuda

Confira o repositório do GitHub para obter instruções de instalação e uso
Executando uma imagem do Docker para experimentar o EmotiVoice
Consulte a página Wiki para fazer download de informações adicionais, como modelos pré-treinados
Participe do grupo WeChat para trocar feedback

 

 

Em resposta à demanda da comunidade, temos o prazer de lançar oFunção de clonagem de some fornece dois exemplos de tutoriais!

Observações.

 

  1. Esse recurso requer pelo menos um Gráficos de GPU da Nvidia .
  2. som alvoOs dados são essenciais! Os requisitos detalhados serão fornecidos na próxima seção.
  3. Atualmente, esse recurso é compatível apenas com chinês e inglês, o que significa que você pode treinar com dados em chinês ou em inglês paraObtenha um modelo de timbre que fale dois idiomas.
  4. Embora o EmotiVoice ofereça suporte ao controle emocional, os dados de treinamento também precisam ser emocionais se você quiser que sua voz transmita emoção.
  5. Após o treinamento usando apenas seus dados, o EmotiVoice doO som original será alterado. Isso significa que o novo modelo será totalmente personalizado para seus dados. Se você quiser usar as mais de 2000 vozes originais do EmotiVoice, é recomendável usar o modelo original pré-treinado.

Requisitos detalhados para dados de treinamento

 

  1. Os dados de áudio devem ser de alta qualidade e precisam ser claros e sem distorção para a voz de uma única pessoa. A duração ou o número de frases não é obrigatório por enquanto, algumas frases são suficientes, mas recomenda-se mais de 100 frases.
  2. O texto correspondente a cada áudio deve corresponder estritamente ao conteúdo da fala. Antes do treinamento, o texto bruto é convertido em fonemas usando o G2P. É necessário prestar atenção às pausas (sp*) e os resultados da conversão polifônica, eles têm um impacto significativo na qualidade do treinamento.
  3. Se quiser que sua voz transmita emoção, os dados de treinamento também precisam ser emocionais. Além disso, o conteúdo da **tag 'prompt'** deve ser modificado para cada áudio. O conteúdo do prompt pode incluir qualquer forma de descrição textual de emoção, velocidade de fala e estilo de fala.
  4. Em seguida, você obtém um arquivo chamado diretório de dados que contém dois subdiretórios, o trem responder cantando válido. Cada subdiretório tem umdatalist.jsonl e cada linha é formatada: {"key": "LJ002-0020", "wav_path": "data/LJspeech/wavs/LJ002-0020.wav", "speaker": "LJ", "text": ["", "[IH0]", "[N]", "engsp1", "[EY0 ]", "[T]", "[IY1]", "[N]", "engsp1", "[TH]", "[ER1]", "[T]", "[IY1]", "[N]", "." , ""], "original_text": "In 1813", "prompt": "common"} .

Distribuição das etapas de treinamento.

 

Para chinês, consulte Receita de DataBakerConsulte a versão em inglês:Receita de LJSpeech. A seguir, um resumo:

  1. Prepare o ambiente de treinamento - ele só precisa ser configurado uma vez.
    # criar ambiente conda
    conda create -n EmotiVoice python=3.8 -y
    conda activate EmotiVoice
    # e, em seguida, execute.
    pip install EmotiVoice[train]
    # ou
    git clone https://github.com/netease-youdao/EmotiVoice
    pip install -e . [train]
  2. consulta Requisitos detalhados para dados de treinamento Realizar a preparação de dados, exemplos de referência recomendadosReceita de DataBaker responder cantando Receita de LJSpeechmétodos e scripts no
  3. Em seguida, execute o seguinte comando para criar um diretório para treinamento:python prepare_for_training.py --data_dir --exp_dir. Substituição  para o caminho real do diretório de dados preparado.  é o caminho desejado para o diretório experimental.
  4. Pode ser modificado dependendo da configuração e dos dados do servidor /config/config.py . Após concluir as modificações, inicie o processo de treinamento executando o seguinte comando torchrun --nproc_per_node=1 --master_port 8018 train_am_vocoder_joint.py --config_folder /config --load_pretrained_ modelo True. (Esse comando iniciará o processo de treinamento usando a pasta de configuração especificada e carregará todos os modelos pré-treinados especificados). Esse método está atualmente disponível para Linux; o Windows pode apresentar problemas!
  5. Depois de concluir algumas das etapas de treinamento, selecione um ponto de verificação e execute o seguinte comando para confirmar se os resultados estão de acordo com o esperado: python inference_am_vocoder_exp.py --config_folder exp/DataBaker/config --checkpoint g_00010000 --test_file data/inference/text. Não se esqueça de modificardados/inferência/textoO conteúdo do campo do alto-falante no campo Se você estiver satisfeito com o resultado, fique à vontade para usá-lo! Uma versão modificada da página de demonstração é fornecida: a demo_page_databaker.pypara experimentar o efeito do tom após a clonagem com o DataBaker.
  6. Se os resultados não forem satisfatórios, você poderá continuar o treinamento ou verificar os dados e o ambiente. Obviamente, sinta-se à vontade para discutir na comunidade ou enviar um problema!

Informações de referência de tempo de execução.

 

Fornecemos as seguintes informações de tempo de execução e de configuração de hardware para sua referência:

  • Versões do pacote Pip: Python 3.8.18, torch 1.13.1, cuda 11.7
  • Modelo da placa de GPU: NVIDIA GeForce RTX 3090, NVIDIA A40
  • Treinamento demorado: leva cerca de 1 a 2 horas para treinar 10.000 passos.

Ele pode até ser treinado sem uma placa de vídeo GPU, usando apenas a CPU. Aguarde as boas notícias!

Chefe do Círculo de Compartilhamento de IAEste conteúdo foi ocultado pelo autor. Digite o código de verificação para visualizar o conteúdo
Captcha:
Preste atenção ao número público do WeChat deste site, responda "CAPTCHA, um tipo de teste de desafio-resposta (computação)", obtenha o código de verificação. Pesquise no WeChat por "Chefe do Círculo de Compartilhamento de IA"ou"Aparência-AI"ou WeChat escaneando o lado direito do código QR pode prestar atenção a esse número público do WeChat do site.

Aprendizagem fácil com IA

O guia do leigo para começar a usar a IA

Ajuda você a aprender a utilizar as ferramentas de IA com baixo custo e a partir de uma base zero.A IA, assim como o software de escritório, é uma habilidade essencial para todos. Dominar a IA lhe dará uma vantagem em sua busca de emprego e metade do esforço em seu trabalho e estudos futuros.

Ver detalhes>
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " EmotiVoice: mecanismo de conversão de texto em fala com controles de várias vozes e sugestões emocionais

Chefe do Círculo de Compartilhamento de IA

O Chief AI Sharing Circle se concentra no aprendizado de IA, fornecendo conteúdo abrangente de aprendizado de IA, ferramentas de IA e orientação prática. Nosso objetivo é ajudar os usuários a dominar a tecnologia de IA e explorar juntos o potencial ilimitado da IA por meio de conteúdo de alta qualidade e compartilhamento de experiências práticas. Seja você um iniciante em IA ou um especialista sênior, este é o lugar ideal para adquirir conhecimento, aprimorar suas habilidades e realizar inovações.

Entre em contato conosco
pt_BRPortuguês do Brasil