31 lines
731 B
Plaintext
31 lines
731 B
Plaintext
|
#!/usr/bin/env sh
|
||
|
|
||
|
# Description: Read a text or PDF file in British English
|
||
|
#
|
||
|
# Shell: POSIX compliant
|
||
|
# Author: Arun Prakash Jana
|
||
|
|
||
|
if [ -n "$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 "$(tr '\n' ' ' < "$tmpf".txt)"
|
||
|
|
||
|
rm "$tmpf".txt
|
||
|
else
|
||
|
pico2wave -w "$tmpf".wav -l en-GB "$(tr '\n' ' ' < "$1")"
|
||
|
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
|