#gTTS
gTTS (Google Text to Speech): a Python interface for Google's Text to Speech API. Create an mp3 file with the gTTS
module or gtts-cli
command line utility. It allows unlimited lengths to be spoken by tokenizing long sentences where the speech would naturally pause.
pip install gTTS
You may either use gTTS
as a python module or as a command-line utility
>> from gtts import gTTS
>> tts = gTTS(text='Hello', lang='en')
text
- Text to be spoken (written to file instead)lang
- ISO 639-1 language code (supported by the Google Text to Speech API) to speak in
- Using
save(file_name)
>> tts.save("hello.mp3")
- Using
write_to_fp(file_object)
>> from gtts import gTTS
>> from tempfile import TemporaryFile
>> tts = gTTS(text='Hello', lang='en')
>> f = TemporaryFile()
>> tts.write_to_fp(f)
>> f.close()
gtts-cli.py [-h] (["text to speak"] | -f FILE) [-l LANG] [--debug] [-o destination_file]
$ # Read the string 'Hello' in English to hello.mp3
$ gtts-cli.py "Hello" -l 'en' -o hello.mp3
$ # Read the contents of file 'hello.txt' in Czech to hello.mp3:
$ gtts-cli.py -f hello.txt -l 'cs' -o hello.mp3
$ # Read the string 'Hello' from stdin in English to hello.mp3
$ echo "Hello" | gtts-cli.py -l 'en' -o hello.mp3 -
- 'af' : 'Afrikaans'
- 'sq' : 'Albanian'
- 'ar' : 'Arabic'
- 'hy' : 'Armenian'
- 'bn' : 'Bengali'
- 'ca' : 'Catalan'
- 'zh' : 'Chinese'
- 'zh-cn' : 'Chinese (Mandarin/China)'
- 'zh-tw' : 'Chinese (Mandarin/Taiwan)'
- 'zh-yue' : 'Chinese (Cantonese)'
- 'hr' : 'Croatian'
- 'cs' : 'Czech'
- 'da' : 'Danish'
- 'nl' : 'Dutch'
- 'en' : 'English'
- 'en-au' : 'English (Australia)'
- 'en-uk' : 'English (United Kingdom)'
- 'en-us' : 'English (United States)'
- 'eo' : 'Esperanto'
- 'fi' : 'Finnish'
- 'fr' : 'French'
- 'de' : 'German'
- 'el' : 'Greek'
- 'hi' : 'Hindi'
- 'hu' : 'Hungarian'
- 'is' : 'Icelandic'
- 'id' : 'Indonesian'
- 'it' : 'Italian'
- 'ja' : 'Japanese'
- 'ko' : 'Korean'
- 'la' : 'Latin'
- 'lv' : 'Latvian'
- 'mk' : 'Macedonian'
- 'no' : 'Norwegian'
- 'pl' : 'Polish'
- 'pt' : 'Portuguese'
- 'pt-br' : 'Portuguese (Brazil)'
- 'ro' : 'Romanian'
- 'ru' : 'Russian'
- 'sr' : 'Serbian'
- 'sk' : 'Slovak'
- 'es' : 'Spanish'
- 'es-es' : 'Spanish (Spain)'
- 'es-us' : 'Spanish (United States)'
- 'sw' : 'Swahili'
- 'sv' : 'Swedish'
- 'ta' : 'Tamil'
- 'th' : 'Thai'
- 'tr' : 'Turkish'
- 'vi' : 'Vietnamese'
- 'cy' : 'Welsh'
- Fork pndurette/gTTS on GitHub and clone it locally
- Make sure you write tests for new features or modify the existing ones if necessary
- Open a new Pull Request from your feature branch to the
develop
branch. - Thank you!