Herramientas de clonación de voz
1. Documentación de clonación de voz TTS
Descripción
Este script realiza síntesis de texto a voz utilizando la biblioteca TTS (texto a voz) con dos modelos distintos: XTTS v2.0.2 y tortuga. El script también incluye una función de utilidad para convertir archivos MP3 en archivos WAV segmentados.
Requisitos previos
Antes de ejecutar el script, asegúrese de que la biblioteca TTS esté instalada utilizando el siguiente comando:
pip install TTS==0.22.0 transformers==4.37.2 torch torchaudio soundfile librosa
Ejecución
python tortoise_TTS_local_best.py
Tareas
XTTS v2.0.2 Síntesis:
- Utiliza el modelo XTTS v2.0.2 de la biblioteca Coqui TTS.
- Realiza síntesis de texto a voz con el texto de entrada especificado.
- Guarda el audio sintetizado para los archivos WAV, tanto con y sin división de oraciones.
MP3 a wav conversión
- Convierte un archivo mp3 de entrada en archivos WAV segmentados sin usar la biblioteca Pydub.
- Segmenta el audio en intervalos de 10 segundos y los guarda como archivos WAV individuales (necesarios para tortugas).
Descripción de la síntesis del modelo de tortuga:
- Utiliza el modelo de tortuga de la Biblioteca Coqui TTS para la síntesis de alta calidad.
- Carga el modelo de tortuga previamente capacitado y sintetiza el habla según el texto de entrada.
- Guarda el audio sintetizado como un archivo WAV.
información adicional
Se sugiere XTTS v2.0.2 por su velocidad y calidad razonable. Tortoise proporciona la mejor calidad pero tiene un tiempo de inferencia más largo.
Notas
- Asegúrese de que se instalen las dependencias y las rutas de archivos se ajusten en consecuencia.
- Las URL en los comentarios proporcionan más información sobre los modelos y configuraciones.
- Siéntase libre de modificar el script en función de los requisitos específicos y asegúrese de que los ajustes necesarios se realicen en rutas y dependencias de archivo para una ejecución exitosa.
2. Documentación del analizador del modelo TTS
Descripción
Este script analiza los modelos de texto a voz (TTS) disponibles en la biblioteca TTS, enfocándose específicamente en su soporte de idiomas y capacidades de Vocoder. Clasifica modelos basados en:
- Multi-lengua versus solo inglés : si el modelo admite múltiples idiomas o solo inglés.
- Vocoder en inglés personalizado versus predeterminado : si el modelo tiene un vocoder inglés personalizado que permite la clonación de voz o un vocoder predeterminado que no.
El script también rastrea el número de modelos con errores y aquellos que se ignoran debido a razones específicas (por ejemplo, modelos conocidos que causan errores).
Desglose del código
Requisitos previos
Antes de ejecutar el script, asegúrese de que la biblioteca TTS esté instalada utilizando el siguiente comando:
Ejecución
python TTS_download_and_test_all_models.py
Producción
El guión genera información sobre modelos de varios idiomas con un vocoder inglés, modelos ingleses con vocoders personalizados, modelos de varios idiomas con vocoders en inglés predeterminados y modelos ingleses con vocoders en inglés predeterminados. Además, identifica modelos que admiten idiomas no ingleses, modelos con errores y modelos que deben ignorarse.
Explicación del guión
El script realiza las siguientes tareas:
Importa bibliotecas necesarias (TTS, Time, OS).
Establece un temporizador para medir el tiempo de ejecución del script.
Define un texto de muestra para la síntesis del habla.
Inicializa contadores y listas para varias categorías de modelos.
Itera a través de todos los modelos TTS disponibles.
Descarga y carga cada modelo para realizar diferentes tareas de texto a voz, clasificándolas según el soporte del idioma y los tipos de vocoder.
Imprime los resultados, incluido el recuento y los nombres de los modelos en cada categoría, junto con cualquier error encontrado durante el proceso.
Muestra el número total de modelos verificados y el tiempo de ejecución del script.
Realiza una verificación de afirmación para garantizar el conteo correcto de los modelos.
Proporciona un ejemplo del uso de TTS para texto a voz con un modelo multi-hablador y multilingüe.
Notas
Algunos modelos pueden ignorarse debido a errores u otras razones (especificadas en el código). El script también incluye un ejemplo de texto a voz griega en Colab, utilizando un modelo específico.
información adicional
- Biblioteca TTS: https://github.com/mozilla/tts
- Documentación de TTS: https://tts.readthedocs.io/
Siéntase libre de modificar el script según sea necesario para su caso de uso específico o integrarlo en sus proyectos para el análisis del modelo TTS.
3. Clon de voz usando repositorio de tortuga oficial
Descripción general
Este script demuestra el uso del sistema TTS (texto a voz) para generar el habla a partir del texto de entrada. El script utiliza la biblioteca Tortoise TTS y proporciona instrucciones para la instalación. El discurso generado se guarda como un archivo WAV.
Instalación
git clone https://github.com/neonbjb/tortoise-tts.git
cd tortoise-tts
pip install -r requirements.txt
pip install librosa einops rotary_embedding_torch omegaconf pydub inflect
python setup.py install
Uso
- Reemplace la ruta en la variable de voz con las muestras de voz del altavoz deseadas.
- Opcionalmente, modifique la variable de texto para especificar el texto de entrada deseado.
- Ejecute el script con
python tortoise_API.py para realizar TTS de tortuga y guarde el discurso generado como un archivo WAV.
Descripción de tareas
Importar bibliotecas necesarias:
- Las importaciones requieren bibliotecas como Torchaudio, Tortoise.api, tortoise.utils y OS.
Inicializar Tortoise TTS:
- Inicializa TTS de tortuga usando tortoise.api.textTospeech.
- Opcionalmente, habilita la velocidad profunda para un rendimiento más rápido (comentado como podría ser más lento en la práctica).
Especificar el texto de entrada:
- Establece el texto de entrada para convertirse en discurso.
Elija preajuste y voz:
- Selecciona un modo preestablecido para determinar la calidad de la salida ("Ultra_Fast", "Fast", "Standard" o "High_Quality").
- Elige una voz específica al proporcionar el camino a las muestras de voz del altavoz.
Clips de referencia de carga:
- Carga clips de audio de referencia de la ruta de voz elegida.
Realizar TTS con tortuga:
- Utiliza TTS de tortuga para generar discurso a partir del texto de entrada.
- Guarda el discurso generado en formato WAV.
información adicional
- Las descargas de script requerían modelos del centro de modelos de abrazos de abrazos (HF).
- Ajuste los parámetros como el preajuste y la voz de acuerdo con sus preferencias.
- El audio generado se guarda como 'generado_hq_faceswap.wav' en el directorio especificado.
4. Conversión de Opus to MP3 (para clonarse de WhatsApp Recordings)
Descripción general
Este script facilita la conversión de archivos Opus Audio en formato MP3. Incluye funciones para leer archivos Opus, convertirlos en MP3 y combinar múltiples archivos MP3 en un solo archivo. El script proporciona flexibilidad al permitir a los usuarios especificar carpetas de entrada y salida.
Parámetros
opus_folder: ruta a la carpeta que contiene archivos OPUS.
mp3_output_folder: ruta para guardar archivos MP3 individuales.
combined_output_folder: ruta para guardar el archivo mp3 combinado.
El script crea carpetas de salida si no existen.
Requisitos previos
Tareas
- Lea el archivo Opus:
- Lee archivos Opus usando la biblioteca de archivo de sonido.
- Devuelve una matriz numpy y la frecuencia de muestreo.
- Convertir opus a mp3
- Utiliza la función Read_opus para leer archivos OPUS.
- Convierte Opus a MP3 usando la misma frecuencia de muestreo.
- Guarda el archivo mp3 en la carpeta de salida especificada.
- Convertir archivos OPUS
- Itera a través de archivos Opus en una carpeta y convierte cada uno en MP3.
- Devuelve una lista de nombres de archivo MP3 guardados.
- Combinar archivos mp3
- Combina archivos MP3 individuales en uno.
- Guarda el archivo MP3 combinado a la carpeta de salida especificada.
5. ladrar Google Colab (no muy bueno)
Descripción general
Este cuaderno de Jupyter demuestra el proceso de clonación de una voz utilizando el sistema de clonos de voz de corteza. Implica montar la unidad de Google para acceder a muestras de audio para la clonación, instalar bibliotecas necesarias, cargar modelos, generar tokens semánticos y, finalmente, usar estos tokens para la clonación de voz.
Tareas
Mount Google Drive:
- Monta Google Drive para acceder a la carpeta que contiene muestras de voz para clonar.
Establecer parámetros:
- Define parámetros, como la ruta al archivo de audio, el nombre de la voz y la ruta de salida para guardar las indicaciones de voz clonadas.
Instalar e importar bibliotecas:
- Instala e importe las bibliotecas requeridas, Pytorch, Numpy y otros.
Instale corteza con clon de voz:
- Instala la corteza con la biblioteca de clonos de voz desde el repositorio GitHub proporcionado.
Cargar modelos e inicializar Hubert:
- Carga los modelos necesarios e inicializa el gerente de Hubert para la extracción de token semántico.
Cargar y procesar audio:
- Carga el archivo de audio y lo convierte para un procesamiento adicional.
- Extrae vectores y tokens semánticos utilizando el modelo Hubert.
Codificar y guardar indicaciones:
- Codifica marcos de audio usando Encodec.
- Guarda indicaciones finas, gruesas y semánticas como matrices numpy.
Generar audio usando corteza:
- Las precargas de los modelos de ladridos para texto, grueso, generación fina y códec.
- Genera audio utilizando indicaciones de texto, indicaciones semánticas y indicaciones del historial.
Reproducir y guardar audio generado:
- Reproduce el audio generado usando el audio de Ipython.
- Opcionalmente, guarda el audio generado como un archivo WAV.
Tiempo de ejecución total:
- Muestra el tiempo total necesario para ejecutar el script.
Uso de guiones
- Asegúrese de que Google Drive esté montado con acceso a la carpeta de muestras de voz deseada.
- Modifique parámetros como
audio_filepath , voice_name y output_path de acuerdo con su configuración. - Ejecute el script para clonar la voz, generar audio y guardar opcionalmente la salida.
información adicional
- El script instala y utiliza la biblioteca de corteza con clon de voz desde el repositorio de GitHub proporcionado.
- Ajuste rutas, parámetros y indicaciones según sea necesario para su proyecto de clonación de voz.
- El audio generado se puede reproducir directamente o guardar como un archivo WAV.
- Asegúrese de que las dependencias necesarias estén instaladas y configuradas correctamente.
6. Coqui TTS llamando a API (ya no existe, no se puede usar)
Descripción general
Este script muestra el proceso de clonación de una voz utilizando la API Coqui TTS. Implica importar las bibliotecas necesarias, hacer llamadas API para clonar una voz desde un archivo de audio y generar texto a voz utilizando la voz clonada.
Tareas
Bibliotecas de importación:
- Las importaciones requieren bibliotecas, incluidas
requests para realizar llamadas de API.
Establecer parámetros:
- Establece parámetros como la ruta al archivo de audio de entrada, la ruta para guardar el nuevo archivo de audio y el texto a leer.
Llame a la API Coqui TTS para la clonación de voz:
- Llama a la API Coqui TTS para clonar una voz del archivo de audio proporcionado.
- Extrae la ID de voz de la voz clonada para el texto posterior a la voz.
Llame a la API de Coqui TTS para texto a voz:
- Llama a la API Coqui TTS para convertir el texto especificado en discurso utilizando la voz clonada.
- Recupera la URL de audio del discurso generado.
Descargar y guardar audio:
- Descarga el archivo de audio generado de la URL proporcionada.
- Guarda el archivo de audio en la ruta especificada.
Uso de guiones
- Proporcione la ruta al archivo de audio de entrada (
path_audio ), la ruta para guardar el nuevo archivo de audio ( save_path ) y el texto a leer ( text_to_read ). - Obtenga la clave API necesaria del sitio web de Coqui TTS y reemplace el marcador de posición en los
headers con la clave real. - Ejecute el script para clonar la voz y generar texto a voz.
información adicional
- El script utiliza la API Coqui TTS para clonación de voz y texto a voz.
- Ajuste los parámetros y reemplace la tecla API para adaptarse a su caso de uso específico.
- Asegúrese de cumplir con las políticas de uso de la API de Coqui TTS.
- Los archivos de audio descargados se guardan localmente como se especifica en
save_path .