train tts

script to divide audio 
 srt_file=$1
audio_file=$2

#rm -Rf wav _data.csv

mkdir -p wav

function convert_to_second {
 IFS=: read -r h m s <<<"$1"

 echo $(((h * 60 + m) * 60 + s))
}

function cut_part_from_file {
 FROM=$1
 TO=$2
 INPUT=$3
 OUTPUT=$4

 #LENGTH=$(($TO - $FROM))

 ffmpeg -ss $FROM -to $TO -i $INPUT -ar 22050 $OUTPUT -hide_banner -loglevel error
}

stringContain() { case $2 in *$1* ) return 0;; *) return 1;; esac ;}

is_line_after_time="false"
counter=0

IFS=$'\n';
for line in $(cat $srt_file); do
 echo $line
 if [ ! -z "$line" ]; then

 if [[ $is_line_after_time == "true" ]]; then
 is_line_after_time="false"
 echo "$counter|$line" >> _data.csv
 fi

 if [[ $line =~ "-->" ]]; then

 echo $line

 let "counter+=1"
 is_line_after_time="true" # true in bash
 start_time=$(echo $line | awk -F' --> ' '{print $1}' | sed 's/,/./g')
 end_time=$(echo $line | awk -F' --> ' '{print $2}' | sed 's/,/./g')

 echo $start_time " to " $end_time

 #start_time_in_s=$(convert_to_second $start_time)
 #end_time_in_s=$(convert_to_second $end_time)

 #echo $start_time_in_s " to " $end_time_in_s

 cut_part_from_file $start_time $end_time $audio_file "wav/$counter.wav"
 fi

 fi
done
 
 train 
 python3.10 -m venv env-piper
source env-piper/bin/activate.fish
pip install wheel setuptools
git clone https://github.com/rhasspy/piper.git
cd piper/src/python/
pip install -e .
./build_monotonic_align.sh
pip install torchmetrics==0.11.4
 
 ajouter ligne 232 ".local/lib/python3.10/site-packages/torch/utils/data/dataloader.py" 
 num_workers = 60
 
 python3 -m piper_train.preprocess --language fr --sample-rate 22050 --dataset-format ljspeech --single-speaker --input-dir /home/tjiho/info/ia/input/ --output-dir /home/tjiho/info/ia/output/

export 'PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:256'

python3 -m piper_train \
 --dataset-dir /home/tjiho/info/ia/output/ \
 --accelerator 'gpu' \
 --devices 1 \
 --batch-size 32 \
 --validation-split 0.0 \
 --num-test-examples 0 \
 --max_epochs 5000 \
 --checkpoint-epochs 1 \
 --precision 32 \
 --resume_from_checkpoint /home/tjiho/info/ia/base-siwis/epoch=3304-step=2050940.ckpt
 
 python3 -m piper_train.export_onnx ~/output/lightning_logs/version_0/checkpoints/epoch\=1314-step\=63120.ckpt ~/output/model.onnx