Esta es la forma directa que usé al principio. Sin partir el archivo por clases, sin muchísima limpieza, solo pasar el .txt completo por piper con la voz es_AR-daniela-high.
es_AR-daniela-high
es_AR-daniela-high.onnxes_AR-daniela-high.onnx.jsontodoenuno_para_espeak.txtGuardé la voz en:
/home/esotericwarfare/piper-voices/es_AR-daniela-high.onnx
/home/esotericwarfare/piper-voices/es_AR-daniela-high.onnx.json
Comprobamos que existe el modelo:
ls -lh /home/esotericwarfare/piper-voices/es_AR-daniela-high.*
Si hay alguna palabra que siempre lee mal, se le puede hacer un sed mínimo. En mi caso lo único que corregí rápido fue Joule para que no lo lea en inglés.
sed -i 's/Efecto Joule/efecto Yul/gI' /home/esotericwarfare/todoenuno_para_espeak.txt
Con eso ya alcanza. No hace falta reestructurar todo el texto.
Con el archivo tal cual (o con ese mínimo de correcciones) se pasa directo por piper.
cat /home/esotericwarfare/todoenuno_para_espeak.txt | \
piper \
--model /home/esotericwarfare/piper-voices/es_AR-daniela-high.onnx \
--config /home/esotericwarfare/piper-voices/es_AR-daniela-high.onnx.json \
-f /home/esotericwarfare/todoenuno_para_espeak_daniela.wav
Como este archivo es gigante, nunca lo corras en primer plano. Usá nohup para que siga corriendo aunque cierres la terminal.
cd /home/esotericwarfare
nohup bash -c 'cat todoenuno_para_espeak.txt | piper --model piper-voices/es_AR-daniela-high.onnx --config piper-voices/es_AR-daniela-high.onnx.json -f todoenuno_para_espeak_daniela.wav > piper-gen.log 2>&1' &
Podés ir viendo como va creciendo el archivo y si sigue corriendo:
# Ver si piper sigue activo
ps aux | grep '[p]iper' | wc -l
# Ver tamaño del wav
ls -lh /home/esotericwarfare/todoenuno_para_espeak_daniela.wav
# Ver log por si hay algún error
tail -f /home/esotericwarfare/piper-gen.log
--sentence-silence. Ahí está la clave. Si se lo agregás le mete pausas artificiales que quedan forzadas. Sin eso queda más fluido y más “natural” al estilo de como le salió la primera vez.cat + piper procesa todo seguido tal cual está el texto. Más simple y con menos intervención.es_AR-daniela-high, que es la que más se parece a lo que buscabas.ls -lh.nohup bash -c 'cat ~/todoenuno_para_espeak.txt | piper --model ~/piper-voices/es_AR-daniela-high.onnx --config ~/piper-voices/es_AR-daniela-high.onnx.json -f ~/todoenuno_para_espeak_daniela.wav' &
Listo. Eso es todo. Así es como lo hice la primera vez.