#tts #TextToSpeech #AI

#3. ПАРСИНГ МЕТАДАННЫХ (Вытаскиваем автора и название из FB2)

FILE_EXT="{INPUT_PATH##*.}"
ORIG_NAME=(basename "INPUT_PATH" ."FILE_EXT")
if [[ "FILE_EXT" == "fb2" ]]; then
    F_NAME=(grep -i -oP '(?<=<first-name>).?(?=</first-name>)' "INPUT_PATH" | head -1)
    L_NAME=(grep -i -oP '(?<=<last-name>).?(?=</last-name>)' "INPUT_PATH" | head -1)
    TITLE=(grep -i -oP '(?<=<book-title>).*?(?=</book-title>)' "INPUT_PATH" | head -1)
    BOOK_NAME="{L_NAME}_{F_NAME}__{TITLE}"
    # Fallback если метаданные кривые
    [ {#BOOK_NAME} -lt 10 ] &amp;&amp; BOOK_NAME="ORIG_NAME"
    pandoc -f fb2 -t plain "INPUT_PATH" -o "WORKDIR/raw.txt"
else
    BOOK_NAME="ORIG_NAME"
    cp "INPUT_PATH" "$WORKDIR/raw.txt"
fi

#Санация имени файла (убираем мусорные символы)

BOOK_NAME=(echo "BOOK_NAME" | sed 's/[[:space:]]/_/g' | sed 's/[\/:"*?<>|]//g')
FINAL_FILE="OUTPUT_BASE/{BOOK_NAME}.mp3"
echo -e ">>> ЗАПУСК ПРОТОКОЛА: ${BOOK_NAME}.mp3"