
Clonar el repositorio con el siguiente comando
git clone --recursive https://github.com/balisujohn/tortoise.cpp.git
Por ahora, CUDA y CPU solamente. Para compilar:
mkdir build
cd build
cmake ..
make
Esto se prueba con Mac OS Arm
mkdir build
cd build
cmake .. -DGGML_CUBLAS=ON
make
Esto se prueba con Ubuntu 22.04 y CUDA 12.0 y un 1070ti
mkdir build
cd build
cmake .. -DGGML_METAL=ON
make
Solo las letras, espacios y puntuación en minúsculas se admiten en el aviso.
Deberá colocar ggml-model.bin , ggml-vocoder-model.bin y ggml-diffusion-model.bin en el directorio de modelos para ejecutar tortoise.cpp. Puede descargarlos aquí https://huggingface.co/balisuJohn/tortoise-ggml. Lanzaré scripts para generar estos archivos a partir de Tortoise-TTS.
Desde el directorio de compilación, ejecute:
./tortoise
Aquí hay un ejemplo que debería funcionar fuera de la caja:
./tortoise --message "based... dr freeman?" --voice "../models/mouse.bin" --seed 0 --output "based?.wav"
Todos los argumentos de la línea de comandos son opcionales:
arguments:
--message Specifies the message to generate, lowercase letters, spaces, and punctuation only. (default: "this is a test message." )
--voice Specifies the path to the voice file to use to determine the speaker's voice. (default: "../models/mol.bin" )
--output Specifies the path where the generated wav file will be saved. (default: "./output.wav")
--seed Specifies the seed for psuedorandom number generation, used in autoregressive sampling and diffusion sampling (default: system time seed)
Configure el Tortoise-TTS original, luego ejecutarlo con cualquier voz que tenga, luego después de esta línea: https://github.com/neonbjb/tortoise-tts/blob/e2d9fba0bb5c4376d0d142efea47a448f97c4d90/tortoise/api.py#l401
Agregue este código:
numpy_array = auto_conditioning.to("cpu").numpy().astype(np.float32) # Ensure float32 for binary format
# Define the file path
file_path = 'auto_conditioning.bin'
# Save NumPy array as binary file
numpy_array.tofile(file_path)
print("saved auto conditioning")
exit()
Luego puede cambiar el nombre de auto_conditioning.bin al nombre del altavoz y poner el archivo en su carpeta de modelos para usarlo como cualquier otra voz. Esto funciona con Voices Clone con tortoise-tts .
Si desea contribuir, haga un problema indicando en qué quiere trabajar. DM me en Twitter si desea un enlace para unirse a la discordia del desarrollo, o si tiene preguntas. ¡Estoy feliz de ayudar a que la gente comience con la contribución!
También estoy poniendo a disposición una bifurcación de Tortoise-TTS que tiene mis anotaciones de ingeniería inversa, y también el script de exportación para el modelo autorregresivo.
Esto se lanza con una licencia MIT.
Licencia de MIT
Copyright (c) 2024 John Balis
El permiso se otorga, de forma gratuita, a cualquier persona que obtenga una copia de este software y archivos de documentación asociados (el "software"), para tratar en el software sin restricción, incluidos los derechos de los derechos de usar, copiar, modificar, fusionar, publicar, distribuir, sublicense y/o vender copias del software, y para permitir que las personas a quienes se les proporciona el software para hacer, sujeto a las siguientes condiciones: las siguientes condiciones: las siguientes condiciones: las siguientes condiciones:
El aviso de derechos de autor anterior y este aviso de permiso se incluirán en todas las copias o porciones sustanciales del software.
El software se proporciona "tal cual", sin garantía de ningún tipo, expresa o implícita, incluidas, entre otros, las garantías de comerciabilidad, idoneidad para un propósito particular y no infracción. En ningún caso los autores o titulares de derechos de autor serán responsables de cualquier reclamo, daños u otra responsabilidad, ya sea en una acción de contrato, agravio o de otra manera, que surge, de o en relación con el software o el uso u otros tratos en el software.
Derivado de Tortoise-TTS y GGML.
Licencia de Apache 2.0 James Betker https://github.com/neonbjb/tortoise-tts/blob/main/license
Licencia de MIT
Copyright (c) 2022 Georgi Gerganov
El permiso se otorga, de forma gratuita, a cualquier persona que obtenga una copia de este software y archivos de documentación asociados (el "software"), para tratar en el software sin restricción, incluidos los derechos de los derechos de usar, copiar, modificar, fusionar, publicar, distribuir, sublicense y/o vender copias del software, y para permitir que las personas a quienes se les proporciona el software para hacer, sujeto a las siguientes condiciones: las siguientes condiciones: las siguientes condiciones: las siguientes condiciones:
El aviso de derechos de autor anterior y este aviso de permiso se incluirán en todas las copias o porciones sustanciales del software.
El software se proporciona "tal cual", sin garantía de ningún tipo, expresa o implícita, incluidas, entre otros, las garantías de comerciabilidad, idoneidad para un propósito particular y no infracción. En ningún caso los autores o titulares de derechos de autor serán responsables de cualquier reclamo, daños u otra responsabilidad, ya sea en una acción de contrato, agravio o de otra manera, que surge, de o en relación con el software o el uso u otros tratos en el software.