MetaVoz-1B

O MetaVoice-1B é um modelo de base com 1,2B parâmetros treinado em 100K horas de fala para TTS (texto para fala). Foi construído com as seguintes prioridades:

  • Ritmo e tom de discurso emocional em inglês. Sem alucinações.
  • Clonagem de zero disparos para vozes americanas e britânicas, com 30s de áudio de referência.
  • Suporte para (multilíngue) clonagem de voz com afinação.
    • Tivemos sucesso com apenas 1 minuto de dados de treino para falantes indianos.
  • Apoio a síntese de forma longa.

Estamos a lançar o MetaVoice-1B sob a licença Apache 2.0, pode ser utilizado sem restrições.

Experimente o demonstração!

Instalação

Pré-requisitos: Python >=3.10,=24GB RAM.# install ffmpeg wget https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-amd64-static.tar.xz wget https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-amd64-static.tar.xz.md5 md5sum -c ffmpeg-git-amd64-static.tar.xz.md5 tar xvf ffmpeg-git-amd64-static.tar.xz sudo mv ffmpeg-git-*-static/ffprobe ffmpeg-git-*-static/ffmpeg /usr/local/bin/ rm -rf ffmpeg-git-* pip install -r requirements.txt pip install -e .

Utilização

  1. Descarregue-o e utilize-o em qualquer lugar (incluindo localmente) com o nosso implementação de referência,

python fam/llm/sample.py -huggingface_repo_id="metavoiceio/metavoice-1B-v0.1″ -spk_cond_path="assets/bria.mp3″

  1. Implemente-o em qualquer nuvem (AWS/GCP/Azure), utilizando o nosso servidor de inferência

python fam/llm/serving.py -huggingface_repo_id="metavoiceio/metavoice-1B-v0.1″

  1. Utilize-o através de Cara de abraço

Em breve

  • Forma longa TTS
  • Código de ajuste fino

Arquitetura

Prevemos os tokens EnCodec a partir do texto e das informações do locutor. Isto é depois difundido até ao nível da forma de onda, com pós-processamento aplicado para limpar o áudio.

  • Utilizamos uma GPT causal para prever as duas primeiras hierarquias de tokens EnCodec. O texto e o áudio fazem parte do contexto LLM. A informação do locutor é passada através do condicionamento na camada de incorporação de tokens. Este condicionamento do locutor é obtido a partir de uma rede de verificação de locutor treinada separadamente.
    • As duas hierarquias são previstas de uma forma "achatada intercalada", prevemos o primeiro token da primeira hierarquia, depois o primeiro token da segunda hierarquia, depois o segundo token da primeira hierarquia, e assim por diante.
    • Utilizamos a amostragem sem condições para aumentar a capacidade de clonagem do modelo.
    • O texto é tokenizado utilizando um tokenizador BPE personalizado e treinado com 512 tokens.
    • Note-se que saltámos a previsão de tokens semânticos como é feito noutros trabalhos, uma vez que verificámos que não é estritamente necessário.
  • Usamos um transformador não-causal (estilo codificador) para prever o resto das 6 hierarquias a partir das duas primeiras hierarquias. Este é um modelo super pequeno (~10Mn parâmetros), e tem uma generalização extensiva de zero-shot para a maioria dos falantes que tentámos. Como não é causal, também conseguimos prever todos os passos temporais em paralelo.
  • Utilizamos a difusão multibanda para gerar formas de onda a partir dos tokens EnCodec. Verificámos que a fala é mais clara do que com o descodificador RVQ original ou o VOCOS. No entanto, a difusão ao nível da forma de onda deixa alguns artefactos de fundo que são bastante desagradáveis para o ouvido. Limpamos isto no passo seguinte.
  • Utilizamos a DeepFilterNet para eliminar os artefactos introduzidos pela difusão multibanda.

Optimizações

O modelo é compatível:

  1. Armazenamento em cache KV através de descodificação Flash
  2. Agrupamento (incluindo textos de diferentes comprimentos)

Contribuir

Agradecimentos

Estamos gratos à Together.ai pela sua ajuda 24/7 na organização do nosso cluster. Agradecemos às equipas da AWS, GCP e Hugging Face pelo apoio com as suas plataformas de nuvem.

pt_PTPortuguese