From c7c2c2bbba55960f8566936946ad47298685c58f Mon Sep 17 00:00:00 2001 From: Mathieu Maret Date: Thu, 4 Apr 2019 15:41:09 +0200 Subject: [PATCH] feat(script): TTS from google Generate wav file from Google TTS --- scripts/ttsgoogle | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100755 scripts/ttsgoogle diff --git a/scripts/ttsgoogle b/scripts/ttsgoogle new file mode 100755 index 0000000..f094ea8 --- /dev/null +++ b/scripts/ttsgoogle @@ -0,0 +1,42 @@ +#!/bin/bash +################################# +# Speech Script by Dan Fountain # +# TalkToDanF@gmail.com # +################################# + + +INPUT=$* +STRINGNUM=0 + +ary=($INPUT) +echo "---------------------------" +echo "Speech Script by Dan Fountain" +echo "TalkToDanF@gmail.com" +echo "---------------------------" +for key in "${!ary[@]}" + do + SHORTTMP[$STRINGNUM]="${SHORTTMP[$STRINGNUM]} ${ary[$key]}" + LENGTH=$(echo ${#SHORTTMP[$STRINGNUM]}) + #echo "word:$key, ${ary[$key]}" + #echo "adding to: $STRINGNUM" + if [[ "$LENGTH" -lt "100" ]]; then + #echo starting new line + SHORT[$STRINGNUM]=${SHORTTMP[$STRINGNUM]} + else + STRINGNUM=$(($STRINGNUM+1)) + SHORTTMP[$STRINGNUM]="${ary[$key]}" + SHORT[$STRINGNUM]="${ary[$key]}" + fi +done + +for key in "${!SHORT[@]}" + do + #echo "line: $key is: ${SHORT[$key]}" + + echo "Playing line: $(($key+1)) of $(($STRINGNUM+1))" + NEXTURL=$(echo ${SHORT[$key]} | xxd -plain | tr -d '\n' | sed 's/\(..\)/%\1/g') + mpg123 -q "http://translate.google.com/translate_tts?ie=UTF-8&client=tw-ob&q=$NEXTURL&tl=en" --wav tts.wav --stereo + sox tts.wav -r 48000 -c 1 -b 16 tts_48000.wav + sox -v 1.5 tts_48000.wav tts_48000_vol.wav +done +