home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   alt.comp.os.windows-10      Steaming pile of horseshit Windows 10      197,671 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 197,641 of 197,671   
   Maria Sophia to All   
   PSA: An offline Windows workflow for Bal   
   04 Mar 26 11:38:41   
   
   XPost: comp.text.pdf   
   From: mariasophia@comprehension.com   
      
   PSA:   
   An offline Windows workflow for audiobook TTS from PDF   
   (Based 1/2 on logic but the other 1/2 is based on trial-&-error results.)   
      
   Software:   
      I. Windows 10 (almost everything will be FOSS, offline)   
     II. Balabolka 2.15.0.811   
    III. Calibre 8.10.0   
     IV. PDF ShaperFree 8.9   
      V. Adobe Acrobat 6 (writer)   
      
   Main issues are we don't want to create an audiobook that speaks the...   
    a. headers/footers   
    b. images   
    c. end of line (versus end of sentence, which causes unnatural pauses)   
    d. index, forward, tables, bibliography, etc.   
      
   Main software logic employed was to use the best tool/format for the job...   
    A. Balabolka needs the cleanest text input you can give it; where   
       Balabolka (with the Tesseract plugin) can OCR but we're not doing OCR.   
    B. Acrobat tries to preserve the visual layout of the PDF; while   
       Calibre does not try to preserve layout (which is better for TTS).   
    C. Calibre tries to extract logical-reading order (which TTS needs).   
    D. RTF is the better input for Calibre since an RTF from Acrobat has   
         i. Real text (not embedded PDF objects)   
        ii. Fewer hard line breaks (than TXT)   
       iii. Predictable header/footer patterns (that Calibre can strip)   
        iv. No images (so nothing confuses the reading order)   
         v. Consistent encoding (to rebuild paragraphs cleanly)   
    E. But Acrobat 6 embedded JPEGs as hex blobs inside the RTF.   
    F. So PDF Shaper Free was used to remove images.   
    G. And PDF Shaper Free PDF->RTF conversion is cleaner than Acrobat's   
       (as Acrobat embeds images as hex blobs inside RTF).   
   But there is still stray artifacts (e.g., the first letter of the first   
   word of every chapter is a big font and then a space and then the rest of   
   the word, and some lines are still chopped, and of course the header &   
   footer are still in the text output).   
      
   Problem Statement:   
    College-aged grandchild wants me to "read" a 212-page 10MB book she has   
    in PDF so she and I can discuss it over the phone; but I want to "listen"   
    to that book PDF because reading scanned/text is miserable for my eyes.   
      
   Problem Document:   
    The book "looks" scanned (i.e., sloppy fonts) but Acrobat can select text   
    and Acrobat search can find a given word, so it's weird text + scanned???   
    At least that means Tesseract OCR plugins to Balabolka are not needed.   
      
   Test Flow:   
    Adobe Acrobat 6 (Writer) was used to convert the original PDF twice.   
    1. First the 10MB (original) PDF was "File > Reduced file size" to 27MB   
       (page 70 & 135 took almost forever, but presumably cleaned artifacts)   
    2. Then the 27MB "reduced-size" PDF was "File > Save as" a 177MB RTF;   
       but the RTF had page-end line breaks, so the RTF was discarded.   
    3. The 27MB reduced-size PDF was fed into PDF Shaper Free   
       "File > Remove Images", which saved a 17MB image-free PDF   
       (which, coincidentally, had *much cleaner* text fonts!).   
    4. Calibre read in the RTF and converted it to TXT but each line still   
       had a linebreak at the right side of the visible page. Drat.   
    5. I tried Sigil to make a cleaner EPUB from the Calibre EPUB; but even   
       though the EPUB has no artificial line breaks, the TXT still had them.   
    6. Merge lines that are not real paragraph breaks   
        Balabolka:Edit > Replace [x]Use Regular Expressions   
        Find: ([^\n])\n([^\n])   
        Replace: \1 \2   
        Save as text   
    7. Fix broken words   
       Find: ([a-z])¡([a-z])   
       Replace: \1\2   
    8. Remove tab characters   
       Find: \t+   
       Replace: (empty)   
   9. Remove page headers (such as "10  WORLD HISTORY")   
       Find: ^\s*\d+\s+THE DEVIL’S HORSEMEN\s*$   
       Replace: (empty)   
   10. Normalize paragraph spacing (collapse into a single line)   
        Find: \n{3,}   
        Replace: \n\n   
   11. Remove soft-hyphen & ligature debris   
        Find: ¡   
        Replace: (empty)   
        Find: ([a-zA-Z])�([a-zA-Z])   
        Replace:   
   12. Tell Balabolka to pause slightly before & after italicized words   
        Find: \t([A-Z][a-z]+(?:\s+[A-Z][a-z]+)*)   
        Replace:  \1\2   
      
   Once you have the clean text, the Balabolka step is trivial.   
   Save as MP3.   
     Bitrate: 48 kbps or 64 kbps   
     Mode: Mono   
     Sample rate: 22 kHz or 32KHz   
   Copy to your mobile device and play whenever you want to listen   
   to the audio book.   
   --   
   This is a work in progress but I figured I'd document the steps.   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca