Skip to content

Instantly share code, notes, and snippets.

@voyeg3r
Last active December 17, 2015 12:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save voyeg3r/5608745 to your computer and use it in GitHub Desktop.
Save voyeg3r/5608745 to your computer and use it in GitHub Desktop.
#!/bin/bash
# Created: 19-05-2013 19:00h
# Last Change: 21-05-2013 10:39h
# Author: Sergio Luiz Araujo Silva
# Site: http://vivaotux.blogspot.com/
# Twitter: @voyeg3r
# this script gets the mp3 version of one given string from google translate
# references:
# http://stackoverflow.com/questions/9163988/download-mp3-from-google-translate-text-to-speech
# http://www.commandlinefu.com/commands/view/8044/google-text-to-speech-in-mp3-format
# http://saironiq.blogspot.com.br/2011/03/google-text-to-speech-api.html
# http://crunchbang.org/forums/viewtopic.php?id=17034
# http://lifehacker.com/5426797/google-translate-url-generates-instant-text+to+speech-mp3-files
# próximo passo tornar esse script mais legível
FILENAME="${@:?Usage: $0 give me some words to speech}"
FILENAME=`awk '{print tolower($0)}' <<< "$FILENAME"`
#[ "${#FILENAME}" -gt 100 ] && echo "Only strings smaller than 100 chars" && exit 1
# FILENAME="${FILENAME// /+}+' '"
! ping -n -c 4 -i 0.2 -W1 www.google.com > /dev/null && echo 'Connection error!' || \
wget -q -U Mozilla -O "${FILENAME// /_}.mp3" "http://translate.google.com/translate_tts?ie=UTF-8&tl=en&q=${FILENAME// /+}+' '"
[ -f "${FILENAME// /_}.mp3" -a ! -s "${FILENAME// /_}.mp3" ] && { rm -f "${FILENAME// /_}.mp3" ; exit 1 ; }
command -v mpg321 > /dev/null && mpg321 -q "${FILENAME// /_}.mp3"
@voyeg3r
Copy link
Author

voyeg3r commented May 21, 2013

Another solution to put "+" between words of the given string is using somthing like
local IFS=+
but we need change this to underline when saving file.mp3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment