From 619ac1700473541a45fa1e6c9fe3a8a4693ff1f1 Mon Sep 17 00:00:00 2001 From: Arun Prakash Jana Date: Sun, 23 Jun 2019 01:10:14 +0530 Subject: [PATCH] Add text2speech plugin --- plugins/README.md | 1 + plugins/readit | 30 ++++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100755 plugins/readit diff --git a/plugins/README.md b/plugins/README.md index ecb8519e..f969666d 100644 --- a/plugins/README.md +++ b/plugins/README.md @@ -18,6 +18,7 @@ | pdfview | sh | pdftotext/mupdf-tools | View PDF file in `$PAGER` | | picker | sh | nnn | Pick files and pipe the newline-separated list to another utility | | pywal | sh | pywal | Set selected image as wallpaper, change terminal color scheme | +| readit | sh | pdftotext,
pico2wave, mpv | Read a PDF or text file aloud | | ringtone | sh | date, ffmpeg | Create a variable bitrate mp3 ringtone from file | | splitjoin | sh | split, cat | Split file or join selection | | sxiv | sh | sxiv | Browse images in a dir in sxiv, set wallpaper, copy path ([config](https://wiki.archlinux.org/index.php/Sxiv#Assigning_keyboard_shortcuts))| diff --git a/plugins/readit b/plugins/readit new file mode 100755 index 00000000..b997235a --- /dev/null +++ b/plugins/readit @@ -0,0 +1,30 @@ +#!/usr/bin/env sh + +# Description: Read a text or PDF file in British English +# +# Shell: POSIX compliant +# Author: Arun Prakash Jana + +if ! [ -z "$1" ]; then + tmpf=`basename "$1"` + tmpf="${TMPDIR:-/tmp}"/"${tmpf%.*}" + + if [ $(head -c 4 "$1") = "%PDF" ]; then + # Convert using pdftotext + pdftotext -nopgbrk -layout "$1" - | sed 's/\xe2\x80\x8b//g' > "$tmpf".txt + + pico2wave -w "$tmpf".wav -l en-GB "$(cat "$tmpf".txt | tr '\n' ' ')" + + rm "$tmpf".txt + else + pico2wave -w "$tmpf".wav -l en-GB "$(cat "$1" | tr '\n' ' ')" + fi + + # to jump around and note the time + mpv "$tmpf".wav + + # flat read but better quality + # play -qV0 "$tmpf".wav treble 2 gain -l 2 + + rm "$tmpf".wav +fi