Join into one script

This commit is contained in:
Juhani Krekelä 2018-09-28 11:02:24 +03:00
parent 2d933b0901
commit 62125a3b08
2 changed files with 34 additions and 29 deletions

View File

@ -1,28 +0,0 @@
#!/bin/sh
# Escape
sed -E 's,&,\&amp\;,g;s,<,\&lt\;,g;s,>,\&gt\;,g' |
# Remove joins/parts/quits
sed -E '/^(..:..) -!- ([^ ]+).*has joined \#[^ ]*$/d' |
sed -E '/^(..:..) -!- ([^ ]+).*has quit \[[^]]*\]$/d' |
sed -E '/^(..:..) -!- ([^ ]+).*has left \#[^ ]* \[[^]]*\]$/d' |
# Speak nick changes specially
sed -E 's,^(..:..) -!- ([^ ]+) is now known as ([^ ]+)$,<meta>\1 \2 became \3</meta>,' |
# Speak day changes specially
sed -E 's,^ --- (Day changed .*)$,<meta>\1</meta>,' |
# Speak timestaps and nicks specially
sed -E 's,^(..:..) \&lt\;.([^& ]+)\&gt\;,<meta>\1 \2</meta>,' |
sed -E 's,^(..:..) \* ([^ ]+),<meta>\1 action \2</meta>,' |
# Handle "<-" and "←" answers
sed -E 's,\&lt;-|←,<meta>answer</meta>,' |
# Handle someone quoting another person
sed -E 's,\&lt\;.([^& ]+)\&gt\;,<meta>quoting \1</meta>,g' |
sed -E 's,\* ([^ ]+),<meta>quoting action \1</meta>,g' |
# Handle URLs
sed -E 's,(https?|gopher)://[^ )>]+,<meta> \1 URL</meta>,g' |
# Add pauses
sed -E 's,$,<break time="700">,' |
# Translate <meta></meta> to actual tags
sed -E 's,<meta>,<prosody pitch="+5st"><break>,g;s,</meta>,<break></prosody>,g'

View File

@ -5,4 +5,37 @@ then
exit 1
fi
sh process.sh < "$1" | espeak --stdin --stdout --punct='"“”' -m | ffmpeg -i /dev/stdin -f mp3 "$2"
# Escape
sed -E 's,&,\&amp\;,g;s,<,\&lt\;,g;s,>,\&gt\;,g' "$1" |
# Remove joins/parts/quits
sed -E '/^(..:..) -!- ([^ ]+).*has joined \#[^ ]*$/d' |
sed -E '/^(..:..) -!- ([^ ]+).*has quit \[[^]]*\]$/d' |
sed -E '/^(..:..) -!- ([^ ]+).*has left \#[^ ]* \[[^]]*\]$/d' |
# Speak nick changes specially
sed -E 's,^(..:..) -!- ([^ ]+) is now known as ([^ ]+)$,<meta>\1 \2 became \3</meta>,' |
# Speak day changes specially
sed -E 's,^ --- (Day changed .*)$,<meta>\1</meta>,' |
# Speak timestaps and nicks specially
sed -E 's,^(..:..) \&lt\;.?([^& ]+)\&gt\;,<meta>\1 \2</meta>,' |
sed -E 's,^(..:..) \* ([^ ]+),<meta>\1 action \2</meta>,' |
# Handle "<-" and "←" answers
sed -E 's,\&lt;-|←,<meta>answer</meta>,' |
# Handle someone quoting another person
sed -E 's,\&lt\;.?([^& ]+)\&gt\;,<meta>quoting \1</meta>,g' |
sed -E 's,\* ([^ ]+),<meta>quoting action \1</meta>,g' |
# Handle URLs
sed -E 's,(https?|gopher)://[^ )>]+,<meta> \1 URL</meta>,g' |
# Add pauses
sed -E 's,$,<break time="700">,' |
# Translate <meta></meta> to actual tags
sed -E 's,<meta>,<prosody pitch="+5st"><break>,g;s,</meta>,<break></prosody>,g' |
# Speak
espeak --stdin --stdout --punct='"“”' -m |
# Convert to mp3
ffmpeg -i /dev/stdin -f mp3 "$2"