Zdravím priatelia, potrebujeme pomôcť s úpravou príkazu.
V článku Prevod textu na reč a prevod textu na mp3 píšem o príkaze:
for i in *.txt
do
gtts-cli -f $i --lang sk --output $i-SK.mp3
sleep 10m
done
Situácia:
1) je to cez nejaké google api, kde je limitovaná veľkosť spracovaných dát, teda celková veľkosť spracovaných dát.
2) v adresári, kde to spúšťam, je viac súborov označených 01.txt, 02.txt, ......
3) príkaz zoberie txt súbor, prevedie ho, počká (sleep), vezme ďalší txt súbor, prevedie, počká, ....
Problém:
Ak pri súbore 04.txt dosiahe limit spracovateľných dát pre toto sedenie, prevod do audia sa zastaví a ja to musím fyzicky skontrolovať, teda spustiť mp3 a pozrieť v txt, pokiaľ to je prevedené, a od toho miesta vytvoriť nový súbor na neskoršie spracovanie.
Cieľ:
Chcem upraviť príkaz tak, aby sám skontroloval, či previedol celý txt súbor. Ak nie, nech vymaže to neúplné (čo je plytvanie limitovaných dát) alebo ...., neviem, čo sa tu dá robiť
Viete mi s tým niekto, prosím, pomôcť ?
Hoci aj iným príkazom, ktorý môžem nechať pracovať v danom adresári a ja nemusím pri tom sedieť.
:)
A čo keby si proste zistil napríklad koľko slov dokáže to api spracovať naraz a prispôsobil tomu tie txt súbory?
ďakujem za reakciu a skript
1)
uložil a spustil som to z kontextovej ponuky v Thunare,
v adresári je 20 txt súborov
01.txt urobil
02. preskočil a zapísal do failed (neviem prečo)
03. a 4. urobil
05., 06., 07., 08., 09., zapísal do failed
tu som to vypol, zrejme bol dosiahnutý limit
2)
v adresári som otvoril terminál, nakopíroval doň text skriptu a spustil
výsledkom je:
Error: 429 (Too Many Requests) from TTS API. Probable cause: Unknown
áno, dosiahol limit, spustím to zase niekedy neskôr alebo zväčším sleep a nechám to bežať
ps. po spustení z terminálu začal opäť od začiatku, začal konvertovať 01.txt
keďže už dosiahol limit, hodil to do failed
ale súbor 01.txt-SK.mp3, ktorý už bol vytvorený pri spustení z kontextovej ponuky Thunaru VYMAZAL!
je to v poriadku, len to testujem, robil to aj ten pôvodný zápis, nie je to tam ošetrené a vedel som o tom
ešte raz ďakujem za dopísanie toho skriptu, budem mať o niekoľko úkonov menej (vyhľadať koniec a vytvoriť nový txt súbor) :)
Tak to je logicke, ze ked to spustis bez nejakej upravy opat, tak to zacne vsetko konvertovat odznova.
Takze bud konvertnute subory presunies, ale pridas kontrolu, ci uz je skovertovany:
Neviem, ako funguje ten prikaz gtts-cli, ale v linuxe to na 99% funguje tak, ze ak sa prikaz ukoci spravne, tak jeho exit kod je nula, inak je to nejake ine kladne cislo (ale to uz je na autorovi, aky error kod posle). Takze subory, ktore preskocil, treba skusit skonvertovat rucne.
je to lepšie, ešte raz ďakujem :)