MetaVoz-1B

MetaVoice-1B es un modelo base de 1.2B parámetros entrenado en 100K horas de habla para TTS (text-to-speech). Se ha construido con las siguientes prioridades:

  • Ritmo y tono emocionales del discurso en inglés. Sin alucinaciones.
  • Clonación cero para voces americanas y británicascon audio de referencia de 30 segundos.
  • Soporte (multilingüe) clonación de voz con ajuste fino.
    • Hemos tenido éxito con datos de entrenamiento de tan sólo 1 minuto para hablantes indios.
  • Apoyo a síntesis larga.

Publicamos MetaVoice-1B bajo la licencia Apache 2.0, puede utilizarse sin restricciones.

Pruebe el demo!

Instalación

Requisitos previos: 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 .

Utilización

  1. Descárgalo y utilízalo en cualquier lugar (incluso localmente) con nuestro aplicación de referencia,

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

  1. Impleméntelo en cualquier nube (AWS/GCP/Azure), utilizando nuestro servidor de inferencia

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

  1. Utilícelo a través de Cara de abrazo

Pronto

  • Forma larga TTS
  • Código de ajuste

Arquitectura

Predecimos los tokens EnCodec a partir del texto y la información del locutor. A continuación, se difunde hasta el nivel de forma de onda y se aplica un posprocesamiento para limpiar el audio.

  • Utilizamos una GPT causal para predecir las dos primeras jerarquías de tokens EnCodec. El texto y el audio forman parte del contexto LLM. La información sobre el hablante se transmite a través de un condicionamiento en la capa de incrustación de tokens. Este condicionamiento del hablante se obtiene de una red de verificación del hablante entrenada por separado.
    • Las dos jerarquías se predicen de forma "intercalada aplanada", predecimos el primer token de la primera jerarquía, luego el primer token de la segunda jerarquía, luego el segundo token de la primera jerarquía, y así sucesivamente.
    • Utilizamos el muestreo sin condiciones para potenciar la capacidad de clonación del modelo.
    • El texto se tokeniza mediante un tokenizador BPE personalizado con 512 tokens.
    • Tenga en cuenta que hemos omitido la predicción de tokens semánticos, como se hace en otros trabajos, ya que consideramos que no es estrictamente necesario.
  • Utilizamos un transformador no causal (tipo codificador) para predecir el resto de las 6 jerarquías a partir de las dos primeras. Se trata de un modelo superpequeño (~10 millones de parámetros), con una amplia generalización de cero disparos para la mayoría de los hablantes que hemos probado. Como no es causal, también podemos predecir todos los pasos temporales en paralelo.
  • Utilizamos difusión multibanda para generar formas de onda a partir de los tokens EnCodec. Observamos que el habla es más clara que utilizando el descodificador RVQ original o VOCOS. Sin embargo, la difusión a nivel de forma de onda deja algunos artefactos de fondo que resultan bastante desagradables al oído. Los limpiaremos en el siguiente paso.
  • Utilizamos DeepFilterNet para eliminar los artefactos introducidos por la difusión multibanda.

Optimizaciones

El modelo es compatible:

  1. Caché KV mediante descodificación Flash
  2. Clasificación por lotes (incluidos textos de distintas longitudes)

Contribuir

Agradecimientos

Damos las gracias a Together.ai por su ayuda ininterrumpida para organizar nuestro clúster. Agradecemos a los equipos de AWS, GCP y Hugging Face su apoyo con sus plataformas en la nube.

es_ESSpanish