Skip to content

Latest commit

 

History

History
132 lines (105 loc) · 3.3 KB

README.md

File metadata and controls

132 lines (105 loc) · 3.3 KB

#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.

Build Status

Install

pip install gTTS

Usage

You may either use gTTS as a python module or as a command-line utility

A. Module

1. Import gTTS
>> from gtts import gTTS
2. Create an instance
>> tts = gTTS(text='Hello', lang='en')
Parameters:
  • 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
3. Write to a file
>> tts.save("hello.mp3")
>> from gtts import gTTS
>> from tempfile import TemporaryFile
>> tts = gTTS(text='Hello', lang='en')
>> f = TemporaryFile()
>> tts.write_to_fp(f)
>> f.close()

B. Command line utility

Command
gtts-cli.py [-h] (["text to speak"] | -f FILE) [-l LANG] [--debug] [-o destination_file]
Example:
$ # 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 -

##Supported Languages

  • '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'

Contributing

  1. Fork pndurette/gTTS on GitHub and clone it locally
  2. Make sure you write tests for new features or modify the existing ones if necessary
  3. Open a new Pull Request from your feature branch to the develop branch.
  4. Thank you!