Join into one script
This commit is contained in:
parent
2d933b0901
commit
62125a3b08
28
process.sh
28
process.sh
|
@ -1,28 +0,0 @@
|
|||
#!/bin/sh
|
||||
# Escape
|
||||
sed -E 's,&,\&\;,g;s,<,\<\;,g;s,>,\>\;,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,^(..:..) \<\;.([^& ]+)\>\;,<meta>\1 \2</meta>,' |
|
||||
sed -E 's,^(..:..) \* ([^ ]+),<meta>\1 action \2</meta>,' |
|
||||
|
||||
# Handle "<-" and "←" answers
|
||||
sed -E 's,\<-|←,<meta>answer</meta>,' |
|
||||
# Handle someone quoting another person
|
||||
sed -E 's,\<\;.([^& ]+)\>\;,<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'
|
|
@ -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,&,\&\;,g;s,<,\<\;,g;s,>,\>\;,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,^(..:..) \<\;.?([^& ]+)\>\;,<meta>\1 \2</meta>,' |
|
||||
sed -E 's,^(..:..) \* ([^ ]+),<meta>\1 action \2</meta>,' |
|
||||
|
||||
# Handle "<-" and "←" answers
|
||||
sed -E 's,\<-|←,<meta>answer</meta>,' |
|
||||
# Handle someone quoting another person
|
||||
sed -E 's,\<\;.?([^& ]+)\>\;,<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"
|
||||
|
|
Loading…
Reference in New Issue