31 lines
731 B
Bash
Executable File
31 lines
731 B
Bash
Executable File
#!/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
|