Este repositorio contiene un modelo FastSpeech2 para 8 idiomas indios (hombres y mujeres, ambos) implementados utilizando el alineador forzado de Montreal (MFA) para la síntesis del habla. El modelo es capaz de generar espectrogramas MEL a partir de entradas de texto y puede usarse para sintetizar el habla.
El repositorio es de gran tamaño: hemos utilizado Git LFS debido a la restricción de tamaño de GitHub (instale los últimos GIT LFS desde el enlace, hemos proporcionado el actual a continuación).
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.python.sh | bash
sudo apt-get install git-lfs
git lfs install
Los archivos del modelo de idioma se cargan utilizando GIT LFS. Así que por favor use:
git lfs fetch --all
git lfs pull
Para obtener los archivos originales en su directorio.
El modelo para cada idioma incluye los siguientes archivos:
config.yaml : archivo de configuración para el modelo FastSpeech2.energy_stats.npz : estadísticas de energía para la normalización durante la síntesis.feats_stats.npz : presenta estadísticas para la normalización durante la síntesis.feats_type : información de tipo de características.pitch_stats.npz : estadísticas de tono para la normalización durante la síntesis.model.pth : Pesos del modelo FastSpeech2 previamente capacitado. environment.yml : conda env create -f environment.yml2. Activa el entorno de conda (verifique el archivo del entorno interno.yaml):
conda activate tts-mfa-hifiganconda install pytorch torchvision cudatoolkit
pip install torchaudioPara generar archivos WAV a partir de espectrogramas MEL, puede usar un vocoder de su elección. Una opción popular es el Vocoder Hifigan (clone este repositorio y lo ponga en el directorio de trabajo actual). Consulte la documentación del Vocoder que elija para las instrucciones de instalación y uso.
(Hemos usado el Vocoder de Hifigan y hemos proporcionado a Vocoder sintonizado en los idiomas arios y dravidianos)
Las rutas de directorio son relativas. (Realice cambios en Text_Process_for_inference.py e Inference.py . Actualice las rutas de carpeta/archivo donde sea necesario).
Por favor, proporcione el lenguaje que comience con una letra mayúscula y género en un pequeño caso y un texto de muestra entre citas. El argumento de salida es opcional; El nombre proporcionado se utilizará para el archivo de salida.
Use el archivo de inferencia para sintetizar el discurso de las entradas de texto:
python inference.py --sample_text " Your input text here " --language < language > --gender < gender > --output_file < file_name.wav OR path/to/file_name.wav >Ejemplo:
python inference.py --sample_text "श्रीलंका और पाकिस्तान में खेला जा रहा एशिया कप अब तक का सबसे विवादित टूर्नामेंट होता जा रहा है।" --language hindi --gender male --output_file male_hindi_output.wav
El archivo se almacenará como male_hindi_output.wav y estará dentro del directorio de trabajo actual. Si no se da el argumento --output_file , se almacenará como <language>_<gender>_output.wav en el directorio de trabajo actual.
Si usa este modelo FastSpeech2 en su investigación o trabajo, considere citar:
"Copyright 2023, Speech Technology Consortium, Bhashini, Meity y por Hema A Murthy & s Umesh, Departamento de Informática e Ingeniería e Ingeniería Eléctrica, IIT Madras. Todos los derechos reservados"
Blindaje:
Este trabajo tiene licencia bajo una licencia internacional Creative Commons Attribution 4.0.